Skip to content

Add free-threaded support - #87

Open
larsoner wants to merge 2 commits into
spatialaudio:masterfrom
larsoner:ft
Open

larsoner wants to merge 2 commits into
spatialaudio:masterfrom
larsoner:ft

Conversation

@larsoner

Copy link
Copy Markdown
Collaborator

Add free-threaded wheels and make Mixer and related functions thread-safe.

  • Build wheels for 3.14t, 3.15, and 3.15t (one limited API abi3.abi3t wheel). cp310-abi3 wheels stay as they are.
  • Fix setup.py, which tagged source builds on free-threaded Python as abi3 🤦
  • Drop our duplicate abi3audit call since cibuildwheel 4.x already runs it for us
  • Add a lock around the action and result queues in _Base, and have actions return a snapshot. Before this, starting or waiting for actions from several threads could hang or raise errors, with or without the GIL.
  • Document which operations are thread-safe, and add NEWS entries.

Changes drafted by Claude Opus 5.5 and reviewed by me.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant