-
Notifications
You must be signed in to change notification settings - Fork 108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Python 3.13 #145
base: main
Are you sure you want to change the base?
Conversation
…and above. Python core removed these modules in 3.13 as part of PEP-594 https://peps.python.org/pep-0594/ The standard-* modules are forks of the modules that had previously been in the python core. Fixes beetbox#144
Tests also require |
@Kangie where is Yes, looks like audioread/audioread/rawread.py Line 133 in 577f8e2
Perhaps it's worth using https://github.com/AbstractUmbra/audioop for that instead. ( standard-audioop never got created because it's not a pure python library, see youknowone/python-deadlib#6 for details)
|
It came up when trying to update the gentoo package, possibly an indirect dependency via either Sorry in the middle of a huge system update, but I did stash the ebuild I was using where I added it as a dependency: |
Honestly if we're up to 3 or 4 "dead batteries" I wonder if it's better to find proper replacements for all of them. These were dropped for a reason after all and this is just a band-aid fix. |
That does sound reasonable. However, personally I don't know enough about low-level audio file modification to be able to contribute much to that endeavour. |
I've dug into this a bit further. Both Running the tests in github actions appears to work for me: https://github.com/lucas42/audioread/actions/runs/11599693327/job/32298399085 (there's some warnings thrown, but no errors). @Kangie are you running tests and/or pulling in dependencies differently to how it's configured in the github workflow in this repo? |
I don't see any reason to re-implement these codecs, especially since the code has MIT-compatible licenses. |
I believe these are the relevant files: It might not be hard to convert audioop to pure python for PyPy compatibility. |
@kamocat do you know anyone who'd be willing to convert audioop to pure python? I don't have enough knowledge of audio encoding to do it myself. Regarding the files you link to for sunau and aifc, that's where the |
You're right. Using the |
Another option is to use FFmpeg to read the AIFF and SUN AU formats. |
Python core removed modules
aifc
andsunau
in 3.13 as part of PEP-594 https://peps.python.org/pep-0594/This change adds
standard-aifc
andstandard-sunau
as dependencies for python 3.13 and above. These are forks of the modules that had previously been in the python core.Also updates the test config to run against python 3.12 and python 3.13
Fixes #144