-
Notifications
You must be signed in to change notification settings - Fork 1k
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.12 #16796
Add support for Python 3.12 #16796
Conversation
@tuncK I've rebased this to fix conflicts in the dependencies, hope that's OK. |
Feel free, I am swamped and could not work on this yet. |
Uninstallable dependencies:
Errors:
|
d18caa0
to
118b38a
Compare
Based on this I am inclined to say this depends on dropping support for Python 3.7 #16394 . |
We ... could freeze next week for 23.2 and drop 3.7 after that. How do you feel about that @dannon ? |
6f8b648
to
6088676
Compare
hoisted on my own petard 😿 |
10bc5a9
to
c7a12fd
Compare
That's going to be a tough one if it's not going to be fixed upstream. We rely on this for old tools with python2 cheetah syntax to work. I have no idea how widespread use of these tools is at this point. We could in principle serialize the job inputs and use a container to build the command line, but that's going to be tricky. |
Yes, I think this may be the last obstacle for Python 3.12 support. Unfortunately future looks abandoned (last commit in January 2023 and no response to the above issue or to a WIP PR partially fixing it). So I think we need to decide among these 3 options:
Let me know what you think. |
I think that'd be the last resort, the other two options seem fine with me ? I know we're just postponing the inevitable there, but the further way we are form when we last wrote tools that used python 2 syntax, the better. |
For the I am not sure about the remaining 3 failing unit tests:
Suggestions welcome. |
I think these are present as a sort of baseline to "justify" the fixes we're applying and were added in 85e13d2 From https://docs.python.org/dev/whatsnew/3.12.html
is breaking (or actually fixing) this. Now that will result in some minor potential differences between what works on python 3.12 and python < 3.12, but I think that's ok. My suggestion would be to remove the tests and keep testing tools on 3.11 until 3.11 is sunset. This is really awesome, thanks for the work @nsoranzo and @tuncK |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you want to cut a release of your fork before merging ?
Well spotted! I checked the 3.12 release notes but I was looking for changes related to the PEG parser.
I've updated the tests to work differently on Python 3.12 and later.
For the time being I'd prefer to keep pointing at the fork branch, tagging a release sounds like picking up maintainership. Poetry translates this to a commit id any way in |
Updated Python 3.11 requirements for the new Python 3.12 release during the EGD 2023.
How to test the changes?
(Select all options that apply)
License