-
-
Notifications
You must be signed in to change notification settings - Fork 5
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
Implement support for the free-threaded build of CPython 3.13 #84
base: master
Are you sure you want to change the base?
Conversation
@@ -231,7 +232,7 @@ jobs: | |||
|
|||
- name: Setup Python ${{ matrix.pyver }} | |||
id: python-install | |||
uses: actions/setup-python@v5 | |||
uses: quansight-labs/setup-python@v5 |
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.
Can you provide some more color about this change?
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.
Looks like this: actions/setup-python#973 (comment)
Can we again add a TODO comment to revert this once resolved: actions/setup-python#771.
@@ -241,6 +242,14 @@ jobs: | |||
uses: py-actions/py-dependency-install@v4 | |||
with: | |||
path: requirements/test.txt | |||
- name: Install Cython nightly on free-threading |
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 assume this can also be removed once Cython 3.1 is out? Can we get a TODO comment here as well.
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.
Actually, will 3.1.0a1 work? Would probably simplify some of this, as that's already on PyPI.
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.
Wasn't this the one that broke yarl during the sprints?
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.
Yes. I think it's unlikely that we would hit that issue though, at least in this code base.
[[tool.cibuildwheel.overrides]] | ||
select = "cp313t-*" | ||
build-frontend = "build; args: --no-isolation" | ||
before-build = "bash {package}/scripts/cibw_before_build.sh" | ||
|
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.
Also another comment here, I'm unclear if only the before-build line or other lines should be removed when Cython 3.1 is out.
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.
Isn't this a list? Perhaps, the script could be stuffed right inside this config?
@@ -12,6 +12,7 @@ graft docs | |||
graft CHANGES | |||
graft requirements | |||
graft tests | |||
graft scripts |
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 could also be reverted, so could do with a comment as well.
@@ -1,4 +1,4 @@ | |||
# cython: language_level=3 | |||
# cython: language_level=3, freethreading_compatible=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.
I think this can go into pyproject.toml
. There's a section for Cython.
FREE_THREADED_BUILD="$(python -c"import sysconfig; print(bool(sysconfig.get_config_var('Py_GIL_DISABLED')))")" | ||
if [[ $FREE_THREADED_BUILD == "True" ]]; then | ||
python -m pip install -U pip | ||
python -m pip install -i https://pypi.anaconda.org/scientific-python-nightly-wheels/simple cython |
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 should be possible to implement less intrusively though PIP_CONSTRAINT
and Cython @ url
syntax in the constraint file..
What do these changes do?
Are there changes in behavior for the user?
No.
Related issue number
Checklist