Skip to content

Add support for the free-threaded build and upload cp313t wheels #32

@ngoldbaum

Description

@ngoldbaum

I'm working full-time on ecosystem support for free-threaded Python. See the guide we've written at https://py-free-threading.github.io if you want to learn more about this effort and supporting free-threaded Python in general.

I saw the proposed PEP about possibly incorporating pyzstd into the Python standard library and noticed there wasn't yet free-threaded support.

It looks like everything builds correctly. When I force-disable the GIL by setting PYTHON_GIL=0, the tests all pass on my Mac.

That said, it doesn't look like there are any explicitly multithreaded Python tests using e.g. concurrent.futures or threading. It'd probably be a good idea to add some tests of the python-level locks in the CFFI bindings and the C-level locking in the C extension.

Finally, I notice you're not using PyMutex on CPython 3.13 and newer. Not only can you avoid heap allocations using PyMutex, but it's also (at least as I understand it) unconditionally faster than PyThread_type_lock.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions