Skip to content
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

Expected behavior when installing on older python versions? #50

Open
bmcfee opened this issue Mar 12, 2025 · 2 comments
Open

Expected behavior when installing on older python versions? #50

bmcfee opened this issue Mar 12, 2025 · 2 comments

Comments

@bmcfee
Copy link

bmcfee commented Mar 12, 2025

I'm in the process of making some conda-forge packages for a few libraries (aifc, sunau, chunk), and the differences between conda and pypi dependency specifications are raising some subtleties that I'd like to get some clarity on before moving forward.

Without getting into the minutiae of conda packaging, I'm wondering if there's some intended / guaranteed / documented behavior for these implementations if they are installed on an older python (<=3.12) where the standard lib still includes this functionality?

I've tried it, and it seems to "work" in that it imports the standard lib version. I suppose this is a consequence of the module import path search order, but relying on this - and only this - to ensure correct behavior seems a little iffy to me.

@youknowone
Copy link
Owner

Yes, thats how standard libraries work. Guess how volnurable the ecosystem will be if overriding standard libraries are allowed.
This library provide nothing more than standard library. So it will be fine.

@bmcfee
Copy link
Author

bmcfee commented Mar 13, 2025

Thanks for the response, but I think my question is not quite answered. The behavior of these packages seems fine on older pythons where they may not be needed, but it's not clear that this is verified or documented. (One could also subvert the import order by fiddling with sys.path and probably break this at runtime, but that's most likely a footgun beyond the scope of these packages to work around.)

I understand that the intent is to only install these on python 3.13+, but there are situations in which it may be necessary (or convenient) to allow installing them on older pythons as well, even if they are not needed functionally. So it would be helpful to have some documented clarity on what the intended behavior is for these situations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants