-
Notifications
You must be signed in to change notification settings - Fork 67
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
Build Python 3.13 wheels (not free-threaded) #711
base: main
Are you sure you want to change the base?
Conversation
9dbeea3
to
dfca216
Compare
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 think this is ready for an initial review.
Mostly followed advice from
@@ -127,6 +127,7 @@ def get_class_annotations(obj): | |||
value = type(None) | |||
elif isinstance(value, str): | |||
value = _forward_ref(value) | |||
# TODO: Pass `type_params` to `_eval_type` to fix deprecation warning |
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.
This missing parameter is causing a ton of warnings like this:
msgspec/_utils.py:130: DeprecationWarning: Failing to pass a value to the 'type_params' parameter of 'typing._eval_type' is deprecated, as it leads to incorrect behaviour when calling typing._eval_type on a stringified annotation that references a PEP 695 type parameter. It will be disallowed in Python 3.15.
FWIW I think this is hiding an actual error:
in Lines 790 to 793 in 2c37da0
|
.github/workflows/ci.yml
Outdated
@@ -99,10 +100,11 @@ jobs: | |||
- name: Set up Environment | |||
if: github.event_name != 'release' | |||
run: | | |||
echo "CIBW_SKIP=${CIBW_SKIP} *-musllinux_* cp38-*_aarch64 cp39-*_aarch64 cp311-*_aarch64 cp312-*_aarch64" >> $GITHUB_ENV | |||
echo "CIBW_BUILD=${CIBW_BUILD} cp313-*" >> $GITHUB_ENV |
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.
For the moment 3.13 wheels will only be built for non-release workflows.
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.
☝️ Outdated with the release of Python 3.13.0rc1 since we want to start publishing cp313-*
wheels now.
macos-11 runners aren't available anymore, so I updated it to macos-14 in 748f4bb. |
With that change, the wheels are finally built instead of the workflow getting stuck forever:
https://github.com/edgarrmondragon/msgspec/actions/runs/10030128227/job/27719084757 |
I can also get msgspec to build with py313 with this branch, but not the branch in #703 |
@jcrist This is ready for review at your convenience :) |
Updated to use Python 3.13.0rc1 |
1aff991
to
8f03317
Compare
Updated to use Python 3.13.0rc2 |
@jcrist Can you please run the CI? |
I can close this if #703 gets more attention, but I've confirmed changes here allow the wheels to be built in 3.8-3.13, and all tests are passing.
This warning is currently raised, but fixing it might be beyond the scope of this PR:
python/cpython#106004