cda-tum / mqt-core

MQT Core - The Backbone of the Munich Quantum Toolkit
https://mqt.readthedocs.io/projects/core
MIT License
62 stars 31 forks source link

✨ Python 3.13 Support #656

Closed burgholzer closed 3 months ago

burgholzer commented 3 months ago

Description

The (ABI-stable) release candidate for Python 3.13 just released and the newest MQT Workflows include an updated version of cibuildwheel that supports building wheels for it.

This PR enables regular Python 3.13 builds and also enables builds for the new free-threaded variant.

Checklist:

burgholzer commented 3 months ago

The CD failures under Windows will be resolved once https://github.com/adang1345/delvewheel/pull/50 (or a similar fix) is merged and released. At that point, we should be able to publish Python 3.13 wheels, including the free-threading variant.

The testing failures are kind of expected as they depend on the availability of Python 3.13 wheels for all of our dependencies (including transitive ones; mostly via Qiskit). Most notably, this needs numpy, scipy, and pandas wheels. All of these are on the horizon, but will probably still take a while. I will update the MQT Workflows, to skip testing 3.13 for the short-term future so that CI is unblocked.

In addition, the CI is missing explicit free-threading tests. These will be even further in the future, as Qiskit has indicated for good reason that they won't be supporting the free-threading variants of Python any time soon (see https://github.com/Qiskit/qiskit/issues/12903).

burgholzer commented 3 months ago

Just waiting on a new delvewheel release, then this is good to go and we can start publishing Python 3.13 wheels.