-
Notifications
You must be signed in to change notification settings - Fork 38
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 python3.12 #808
Conversation
Two issues right now:
I'll probably do a separate body of work for the |
That is recently no longer true! You can set python-version: "3.12"
allow-prereleases: true |
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.
It may be possible to add constraints for the dependencies that hinge on Python 3.7...? I don't recall if we have deprecation plans of our own for Python 3.7 support yet.
Yeah, we don't have a plan yet, but we should. I want to try to whip something up which will read our We'll see if I commit anything -- I give myself a 50/50 shot at writing something non-disastrous. |
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.
The pip-compile command is being run with Python 3.11.
Can it be run with Python 3.7 to resolve the Python 3.7 pinning problems? Alternatively, I cooked up a Python-by-Python requirements generator from within tox that can be used to generate the requirements files for all supported versions of Python.
Yeah, I was wanting to tackle at least a py37-test-mindeps.txt generator in a separate PR. Let's treat that as "fixing our py37" build, separately, and I'll rebase off of it. |
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.
I'll leave it to you to tackle the Python 3.7 compatibility.
This PR gets a big ol' 👍!
- Add py312 to the 'freezedeps' tox matrix - Add py312 to the tox env list - Update test dependencies to get the new package versions for the 312 build - Test on 3.12 (rc1) in GitHub Actions - Add a changelog entry for this (the phrasing is a little bit "early", since 3.12.0 hasn't released yet, but this is the changeset which adds support for everything expected in 3.12.0) - One minor tweak in the testsuite: `datetime.datetime.utcnow()` is deprecated because it produces a naive timestamp. Swap it to `datetime.datetime.now()` which is similar, still naive, and shouldn't trip things up much or at all. Co-authored-by: Kurt McKee <[email protected]>
I had to do a little bit of tinkering post-rebase, mostly to get the 3.12 requirements regenerated. |
coverage
version, for 3.12.0rc1 supportdatetime.datetime.utcnow()
is deprecated because it produces a naive timestamp. Swap it todatetime.datetime.now()
which is similar, still naive, and shouldn't trip things up much or at all.📚 Documentation preview 📚: https://globus-sdk-python--808.org.readthedocs.build/en/808/