Open ngoldbaum opened 2 days ago
@alex was looking at this and discovered that setup-python doesn't currently have 3.13t, which is a bit unfortunate.
I guess this means we should do a release so that at least it doesn't crash for people. Then we can do follow ups to test it, and set gil_used = false
, and produce official wheels.
If you're ok with temporarily switching out setup-python
, we've forked it at https://github.com/quansight-labs/setup-python. The fork applies https://github.com/actions/setup-python/pull/973 and depends on a patched version of actions/python-versions
. See https://github.com/Quansight-Labs/free-threaded-compatibility/issues/98 and linked issues for additional context.
We're hoping that github will at least publicly comment on supporting free-threaded python soon.
I totally understand as a security-minded project if you'd prefer to stick with the "official" actions workflows.
4.2.1 is now released so we shouldn't crash 😄
I'm not a huge fan of merging a fork of such a core actions dep, although with full hash pinning (assuming the forked action does hash pinning too!) then the risk isn't much. What do you think Alex?
I'm also not a fan, though it's primarily driven from a concern that it's more likely to become unmaintained and we'll forget.
On Tue, Nov 19, 2024, 3:19 PM Paul Kehrer @.***> wrote:
4.2.1 is now released so we shouldn't crash 😄
I'm not a huge fan of merging a fork of such a core actions dep, although with full hash pinning (assuming the forked action does hash pinning too!) then the risk isn't much. What do you think Alex?
— Reply to this email directly, view it on GitHub https://github.com/pyca/bcrypt/issues/913#issuecomment-2486668087, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAAGBH5CNKJEWHFH6MHAPL2BOMLVAVCNFSM6AAAAABSC5CKQKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOBWGY3DQMBYG4 . You are receiving this because you were mentioned.Message ID: @.***>
There hasn't been a need to do any releases on our fork yet, but our plan is to keep things in sync with upstream and for dependabot to pick up on releases. I have NumPy set up to use our fork to test free-threading and we use hash pinning and dependabot over there as well.
Ping @andfoy who has taken on maintaining the fork.
The plan is also to do a final release announcing the end of the fork so people see it in dependabot. We'll contact all the projects we can find using it on public repos with PRs to switch back to setup-python whenever they add support.
Okay, given that commitment (and the diligence you've shown so far, thank you again!) I think I'm fine with saying we can take a temporary dep on that to unblock CI/wheel builders for free threaded wheels. Does your current fork also support linux arm64 3.13t? We have runners that need that.
Currently if you do
pip install bcrypt
on the free-threaded build, you'll get a completely broken install:Ultimately this is happening because the version of bcrypt on pypi points at PyO3 0.22, which can't support the free-threaded build. It looks like you've already updated to PyO3 0.23 on
main
, so the next release should fix the crashes that projects depending on bcrypt will run into.Separately, we should look at adding CI for free-threaded Python 3.13 and look at setting up multithreaded tests.