-
Notifications
You must be signed in to change notification settings - Fork 363
Compatibility with Python 3.12 / 3.13 #2577
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
base: master
Are you sure you want to change the base?
Conversation
Probably only part of all necessary fixes, s.a. https://github.com/search?q=repo%3Adebops%2Fdebops%20distutils&type=code |
S.a. #2512 |
Another MR which uses rather package looseversion instead of packaging: #2550 I don't know which one to prefer, but leaving this one open for the time being. |
I believe using packaging instead of looseversion is fine as this is only used to parse Your push request adds the python 3.12 and 3.13 to the list of supported ones in setup.py (and also 3.10 and 3.11) than mine #2550. Also, my strtobool implementation uses a MAP. I don't remind why, maybe because I took it from this reimplementation networktocode/netutils#280. That is the cpython implementation https://github.com/python/cpython/blob/3.10/Lib/distutils/util.py#L308 and pypa https://github.com/pypa/distutils/blob/main/distutils/util.py#L337 ones are like yours and don't use MAP. So I will close my PR. Thanks for your work. |
Well, it adds a dependency on packaging instead. Which is only available for Python >= 3.8 (nevertheless already EOL).
I updated this MR accordingly, adapting also the then supported Python versions.
Since I don't know the scope of desired Python versions for debops perhaps yours is more adequate...
And yours as well. |
I believe the desired Python version depends on the oldest Debian releases referenced in debops playbooks. python2 is likely not supported anymore so that would be at least >= 3.4 with the previous python_requires. v3.1.0 tells "
That is debops only references wheezy and jessie in the Vagrantfile and apt roles. So we might assume that the lowest supported Debian release is likely Stretch for Debian. The oldest supported release by Debian is bullseye (python 3.9.2) but the Debian LTS goes back to jessie (and even buster is python 3.7.3) So you might want to reintroduce a form of above python3.4 like >=3.5 in python_requires. For Ubuntu, I did not check. So yes, requiring python 3.8 with packaging might be a no go. |
Yes, waiting for confirmation which way to go. |
No description provided.