-
Notifications
You must be signed in to change notification settings - Fork 312
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 #1390
Conversation
Hi, @branchvincent . The contribution is timely because we are in the middle of dropping support for Python 3.7 (#1381). I would wait for that work to complete before merging this. Dropping Python 3.7 requires changes in 4 different repos. I think the same will be true to add Python 3.12. Your changes make a good start. I think to complete the work we also need to address these repos: |
@branchvincent I read Homebrew/homebrew-core#155493. I'm unfamiliar with Homebrew. Why does it need Sceptre to support 3.12? |
thanks @branchvincent. This depends on PR #1393 |
@iainelder glad it's good timing :)
I tested both https://github.com/Sceptre/sceptre-resolver-cmd and https://github.com/Sceptre/sceptre-file-resolver on 3.12 and had no issues (beyond outdated
We're a rolling-release package manager, so we do our best to always stay on the latest stable version of packages (including python, go, rust, etc) |
🎉 All dependencies have been resolved ! |
Makes sense to me. @zaro0508 , is there a reason not to use Poetry for those resolvers? |
No @iainelder, we would love to see that happen. Someone just needs to do it 😄 |
🎉 All dependencies have been resolved ! |
Created Sceptre/sceptre-file-resolver#12 and Sceptre/sceptre-resolver-cmd#13. Left as draft because it needs this PR for python 3.12 support Also, note I reworked the CircleCI config to not depend on the custom docker image (wasn't sure if that had a specific purpose) and instead use the official |
🎉 All dependencies have been resolved ! |
@branchvincent would you mind resolving the conflicts on this PR? |
@zaro0508 done |
thanks @branchvincent |
@zaro0508 and I have been flip-flopping on whether we need the custom image or not. (Yes: #1393; No: #1394). I noticed that the
@branchvincent , I don't see that in the changes files of this PR. Can you show me where you made these changes? To drop the custom image, this orb thing sounds like the part we need, and a more idiomatic use of CircleCI. Is it fair to say that a CircleCI orb is like a GitHub Actions action? (I use GitHub Actions a lot, and this project is my first exposure to CircleCI.) |
I see you mean you changed the CircleCI config in the resolver repos: That's great! If it works then it would be good to copy the changes to this repo's CircleCI config too. |
Yes exactly that's my understanding! I just created #1395 to copy those CI changes here |
Prep for a release to support python 3.12 Updates to our plugins[1] depend on a Sceptre core release with support for python 3.12 [2] [1] Sceptre/sceptre-file-resolver#12 (comment) [2] Sceptre#1390
Prep for a release to support python 3.12 Updates to our plugins[1] depend on a Sceptre core release with support for python 3.12 [2] [1] Sceptre/sceptre-file-resolver#12 (comment) [2] #1390
Adds explicit support for Python 3.12. These are the minimal changes I needed for
pytest
to pass on 3.12 and macOS:datetime.datetime.utcnow
called_once_with
withassert_called_once_with
, which now raisesAttributeError: 'called_once_with' is not a valid assertion
pytest
due toDeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
[Python 3.12] Assertion rewriting triggers DeprecationWarning pytest-dev/pytest#10977depends on #1393