Skip to content

Free threaded support #12555

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

Open
wants to merge 17 commits into
base: main
Choose a base branch
from
Open

Conversation

ngoldbaum
Copy link
Contributor

@ngoldbaum ngoldbaum commented Mar 4, 2025

Towards fixing #12489.

Adds free-threaded CI using a hacky workaround to avoid building against the version of cffi on PyPI.

xref #12590

@ngoldbaum
Copy link
Contributor Author

I guess because I'm not using the tests nox session I don't get coverage reports on CI "for free".

@alex
Copy link
Member

alex commented Mar 6, 2025 via email

@ngoldbaum ngoldbaum force-pushed the free-threaded-support branch from 01f5670 to 62e1ee6 Compare July 29, 2025 17:18
@ngoldbaum ngoldbaum marked this pull request as ready for review July 29, 2025 17:18
@ngoldbaum
Copy link
Contributor Author

@alex it looks like all the wheel builds are successful except for win32 and armv7. See these actions runs on my fork:

win32: https://github.com/ngoldbaum/cryptography/actions/runs/16601346439/job/46961605807?pr=2
armv7: https://github.com/ngoldbaum/cryptography/actions/runs/16601346439/job/46961606173?pr=2

Not sure what to do about these. Do you have any ideas?

I also disabled some manylinux2014 builds due to the issue that should be fixed by python-cffi/cffi#184.

I also wasn't able to run ppc64le on my fork so let's see if there are any issues there.

Are you OK with me marking all the rust PyModules with gil_used = false in this PR? We're relying on upstream guarantees from PyO3 in all the rust code.

@alex
Copy link
Member

alex commented Jul 29, 2025

IDK what's going on with the win32 one. The armv7 one seems to suggest the build is building an aarch64 wheel, which is obviously just wrong.

And yes, going to gil_used=False is fine, we don't rely on it.

@alex
Copy link
Member

alex commented Jul 30, 2025

it occurs to me that the gil_used=false should be good to split off from this and land now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants