Skip to content

Support the free-threaded build of Python 3.13/3.14 #116

@ngoldbaum

Description

@ngoldbaum

See https://py-free-threading.github.io for in-depth documentation on supporting the free-threaded build in a Python package like srsly.

I'm able to build srsly on 3.13.4t and one test fails:

FAILED srsly/srsly/tests/cloudpickle/cloudpickle_test.py::test_extract_class_dict - AssertionError: assert ['C_CONSTANT'...', 'method_c'] == ['C_CONSTANT'...', 'method_c']

If I force the GIL to be disabled and run each test many times in a thread pool using pytest-run-parallel, I see some additional test failures, but most look like they're due to use of global state in the tests?

PARALLEL FAILED srsly/srsly/tests/cloudpickle/cloudpickle_file_test.py::CloudPickleFileTests::test_plus_mode - FileNotFoundError: [Errno 2] No such file or directory: '/var/folders/nk/yds4mlh97kg9qdq745g715rw0000gn/T/tmper94ulhx/testfile'
PARALLEL FAILED srsly/srsly/tests/cloudpickle/cloudpickle_file_test.py::CloudPickleFileTests::test_r_mode - FileNotFoundError: [Errno 2] No such file or directory: '/var/folders/nk/yds4mlh97kg9qdq745g715rw0000gn/T/tmp0kdo5j77/testfile'
PARALLEL FAILED srsly/srsly/tests/cloudpickle/cloudpickle_file_test.py::CloudPickleFileTests::test_seek - FileNotFoundError: [Errno 2] No such file or directory: '/var/folders/nk/yds4mlh97kg9qdq745g715rw0000gn/T/tmpc3amolmn/testfile'
PARALLEL FAILED srsly/srsly/tests/cloudpickle/cloudpickle_file_test.py::CloudPickleFileTests::test_w_mode - FileNotFoundError: [Errno 2] No such file or directory: '/var/folders/nk/yds4mlh97kg9qdq745g715rw0000gn/T/tmp3lyp2iz3/testfile'
PARALLEL FAILED srsly/srsly/tests/cloudpickle/cloudpickle_test.py::test_extract_class_dict - AssertionError: assert ['C_CONSTANT'...', 'method_c'] == ['C_CONSTANT'...', 'method_c']
PARALLEL FAILED srsly/srsly/tests/cloudpickle/cloudpickle_test.py::CloudPickleTest::test_dynamic_module - ModuleNotFoundError: No module named 'mod'
PARALLEL FAILED srsly/srsly/tests/cloudpickle/cloudpickle_test.py::CloudPickleTest::test_module_locals_behavior - FileNotFoundError: [Errno 2] No such file or directory: '/var/folders/nk/yds4mlh97kg9qdq745g715rw0000gn/T/tmp_cloudpickle_test_p4zmg40...
PARALLEL FAILED srsly/srsly/tests/cloudpickle/cloudpickle_test.py::CloudPickleTest::test_non_module_object_passing_whichmodule_test - KeyError: 'NonModuleObject'
PARALLEL FAILED srsly/srsly/tests/cloudpickle/cloudpickle_test.py::CloudPickleTest::test_submodule - NameError: name 'xml' is not defined. Did you forget to import 'xml'?
PARALLEL FAILED srsly/srsly/tests/cloudpickle/cloudpickle_test.py::CloudPickleTest::test_submodule_closure - KeyError: 'xml'
PARALLEL FAILED srsly/srsly/tests/cloudpickle/cloudpickle_test.py::Protocol2CloudPickleTest::test_module_locals_behavior - FileNotFoundError: [Errno 2] No such file or directory: '/var/folders/nk/yds4mlh97kg9qdq745g715rw0000gn/T/tmp_cloudpickle_test_he3uh0r...
PARALLEL FAILED srsly/srsly/tests/cloudpickle/cloudpickle_test.py::Protocol2CloudPickleTest::test_non_module_object_passing_whichmodule_test - KeyError: 'NonModuleObject'
PARALLEL FAILED srsly/srsly/tests/cloudpickle/cloudpickle_test.py::Protocol2CloudPickleTest::test_submodule - NameError: name 'xml' is not defined. Did you forget to import 'xml'?
PARALLEL FAILED srsly/srsly/tests/cloudpickle/cloudpickle_test.py::Protocol2CloudPickleTest::test_submodule_closure - KeyError: 'xml'
PARALLEL FAILED srsly/srsly/tests/test_msgpack_api.py::test_msgpack_custom_encoder_decoder - TypeError: can not serialize 'CustomObject' object

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions