Skip to content

Publish free-threaded (cp313t/cp314t) wheels for macOS and Windows #5244

Description

@joshlk

What language and solver does this apply to?
Python (packaging/wheels)

Describe the problem you are trying to solve.
Since 9.12, free-threaded wheels (cp313t, and cp314t as of 9.15) are published on PyPI, but only for Linux (manylinux x86_64/aarch64). There are no free-threaded wheels for macOS or Windows, so packages that depend on ortools cannot support free-threaded Python on those platforms without building OR-Tools from source.

For example, k-means-constrained depends on ortools.graph.python.min_cost_flow and is adding free-threaded (3.14t) wheels for true multi-threaded solving — those wheels can currently only be published for Linux because of this gap.

Describe the solution you'd like
Publish cp313t/cp314t wheels for macOS (x86_64 and arm64) and Windows (amd64) alongside the existing regular wheels, matching the platform coverage of the non-free-threaded builds.

Describe alternatives you've considered
Building OR-Tools from source in downstream CI, which is a heavy full C++ build and impractical for most dependent packages.

Additional context
Related: #4438 (original 3.13t wheel request) and #5243, which adds the Py_mod_gil_not_used declaration to the graph modules so importing them keeps the GIL disabled on free-threaded builds.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions