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

feat: add python 3.12 support #422

Merged
merged 3 commits into from
Nov 22, 2023
Merged

feat: add python 3.12 support #422

merged 3 commits into from
Nov 22, 2023

Conversation

JP-Ellis
Copy link
Contributor

📝 Summary

Update the build scripts to test and target Python 3.12 released on 2 October 2023. As the dependency on distutils has been removed already, there are no other changes required.

At present, this depends on a beta version of aiohttp. As a result, before this can be merged, we must wait for

🚨 Breaking Changes

🔥 Motivation

As detailed in the linked issue.

🔨 Test Plan

The regular test suite will suffice. There is no change to the library code.

🔗 Related issues/PRs

@JP-Ellis JP-Ellis self-assigned this Oct 13, 2023
@YOU54F
Copy link
Member

YOU54F commented Oct 23, 2023

is aiohttp the only dep that needs to be upgraded to support 3.12? Why/where do we use it in the production code?

@JP-Ellis
Copy link
Contributor Author

Technically, both cffi and aiohttp needed to be updated:

  • cffi has already been updated and supports Python 3.12 and is only used during the build process
  • aiohttp has an open beta inviting for feedback. It is not used within the production code, but it is critical for the test suite. I'm happy to wait a little bit more for the beta to conclude

@JP-Ellis JP-Ellis force-pushed the feat/python-312 branch 3 times, most recently from b1cd0dc to 1c90b64 Compare October 24, 2023 23:13
@JP-Ellis JP-Ellis added type:feature New feature difficulty:easy A simple task appropriate for newcomers to the codebase type:fix Fix to an issue labels Oct 25, 2023
@JP-Ellis JP-Ellis marked this pull request as ready for review November 22, 2023 02:18
Update the build scripts to test and target Python 3.12 released on 2
October 2023. As the dependency on distutils has been removed already,
there are no other changes required.

Signed-off-by: JP-Ellis <josh@jpellis.me>
This will help with debugging any errors that might occur during the
venv setup.

Signed-off-by: JP-Ellis <josh@jpellis.me>
We require the test matrix to succeed before a PR can be merged.
Unfortunately, the rule is rather complex as it has to test that each
element of the test matrix completed successfully.

By adding another step which runs only of the matrix succeeded, we can
check that this ran, as opposed to each element of the matrix.

Signed-off-by: JP-Ellis <josh@jpellis.me>
@JP-Ellis JP-Ellis merged commit 318d541 into master Nov 22, 2023
32 of 38 checks passed
@JP-Ellis JP-Ellis deleted the feat/python-312 branch November 22, 2023 03:15
@logi
Copy link

logi commented Feb 9, 2024

Is there any chance that there will be a release of pact-python with this python 3.12 support included? We are now faced with a choice to downgrade to python 3.11 (and revert the nice type syntax changes) or delay adoption of Pact.

@YOU54F
Copy link
Member

YOU54F commented Feb 9, 2024

We will look to get a cut released next week @logi - we want you to have your cake, and to eat it!

@JP-Ellis
Copy link
Contributor Author

@logi Sorry I missed your comment (I have just finished moving houses, which certainly did not help).

I'll make a 2.1.x release early next week which will cherry pick a few important changes :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
difficulty:easy A simple task appropriate for newcomers to the codebase type:feature New feature type:fix Fix to an issue
Projects
Status: ✅ Completed
Development

Successfully merging this pull request may close these issues.

Python 3.12 Release
3 participants