From 2d014121e9f3342ca10b9550831a797ea0cef28c Mon Sep 17 00:00:00 2001 From: burgholzer Date: Mon, 5 Aug 2024 09:39:39 +0200 Subject: [PATCH 1/7] =?UTF-8?q?=F0=9F=94=A7=20add=20trove=20classifier=20f?= =?UTF-8?q?or=20Python=203.13?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: burgholzer --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index f9810aeef..91b840d26 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,6 +28,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)", "Typing :: Typed", ] From 068ee73b9e03bde9762a180e2cc629b2aa4cf68f Mon Sep 17 00:00:00 2001 From: burgholzer Date: Mon, 5 Aug 2024 10:00:26 +0200 Subject: [PATCH 2/7] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20update=20`mqt-workflow?= =?UTF-8?q?s`=20to=20`v1.2.1`=20for=20CD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: burgholzer --- .github/workflows/cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 1e42fdce4..369797ea4 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -10,7 +10,7 @@ on: jobs: python-packaging: name: 🐍 Packaging - uses: cda-tum/mqt-workflows/.github/workflows/reusable-python-packaging.yml@v1.1.5 + uses: cda-tum/mqt-workflows/.github/workflows/reusable-python-packaging.yml@v1.2.1 deploy: if: github.event_name == 'release' && github.event.action == 'published' From 9d53bf4566c8072a152abd336f401870eb1f0c0b Mon Sep 17 00:00:00 2001 From: burgholzer Date: Mon, 5 Aug 2024 10:02:20 +0200 Subject: [PATCH 3/7] =?UTF-8?q?=F0=9F=94=A7=20enable=20free-threaded=20sup?= =?UTF-8?q?port?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: burgholzer --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 91b840d26..3e0ee14eb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -279,6 +279,7 @@ archs = "auto64" test-command = "python -c \"from mqt import core\"" test-skip = "cp38-macosx_arm64" build-frontend = "build[uv]" +free-threaded-support = true [tool.cibuildwheel.linux] environment = { DEPLOY = "ON" } From 0c1f4d7ae3cc0bac1ef3c7e7d980543273c9ecb8 Mon Sep 17 00:00:00 2001 From: burgholzer Date: Mon, 5 Aug 2024 10:47:14 +0200 Subject: [PATCH 4/7] =?UTF-8?q?=F0=9F=94=A7=20enable=20Python=203.13=20sup?= =?UTF-8?q?port=20in=20noxfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: burgholzer --- noxfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/noxfile.py b/noxfile.py index edfa7d9de..ad590deaf 100644 --- a/noxfile.py +++ b/noxfile.py @@ -18,7 +18,7 @@ nox.options.sessions = ["lint", "tests"] -PYTHON_ALL_VERSIONS = ["3.8", "3.9", "3.10", "3.11", "3.12"] +PYTHON_ALL_VERSIONS = ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] # The following lists all the build requirements for building the package. # Note that this includes transitive build dependencies of package dependencies, From 414201abfc7c13604b12d9025253ff80f89426f6 Mon Sep 17 00:00:00 2001 From: Lukas Burgholzer Date: Mon, 5 Aug 2024 12:15:54 +0200 Subject: [PATCH 5/7] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20require=20pybind11>=3D?= =?UTF-8?q?2.13=20to=20support=20free-threading?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Lukas Burgholzer --- cmake/ExternalDependencies.cmake | 2 +- noxfile.py | 2 +- pyproject.toml | 2 +- src/python/module.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/ExternalDependencies.cmake b/cmake/ExternalDependencies.cmake index 4385aaf02..f26af2403 100644 --- a/cmake/ExternalDependencies.cmake +++ b/cmake/ExternalDependencies.cmake @@ -17,7 +17,7 @@ if(BUILD_MQT_CORE_BINDINGS) message(STATUS "Python executable: ${Python_EXECUTABLE}") # add pybind11 library - find_package(pybind11 CONFIG REQUIRED) + find_package(pybind11 2.13 CONFIG REQUIRED) endif() set(JSON_VERSION diff --git a/noxfile.py b/noxfile.py index ad590deaf..1904f26a5 100644 --- a/noxfile.py +++ b/noxfile.py @@ -28,7 +28,7 @@ BUILD_REQUIREMENTS = [ "scikit-build-core[pyproject]>=0.8.1", "setuptools_scm>=7", - "pybind11>=2.12", + "pybind11>=2.13", "wheel>=0.40", # transitive dependency of pytest on Windows ] diff --git a/pyproject.toml b/pyproject.toml index 3e0ee14eb..11f6357f0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["scikit-build-core>=0.8.1", "setuptools-scm>=7", "pybind11>=2.12"] +requires = ["scikit-build-core>=0.8.1", "setuptools-scm>=7", "pybind11>=2.13"] build-backend = "scikit_build_core.build" [project] diff --git a/src/python/module.cpp b/src/python/module.cpp index 5938116d1..b9d11c56e 100644 --- a/src/python/module.cpp +++ b/src/python/module.cpp @@ -11,7 +11,7 @@ void registerOperations(py::module& m); void registerSymbolic(py::module& m); void registerQuantumComputation(py::module& m); -PYBIND11_MODULE(_core, m) { +PYBIND11_MODULE(_core, m, py::mod_gil_not_used()) { registerPermutation(m); py::module symbolic = m.def_submodule("symbolic"); From c1530c2d04944cb82b8b480800f99de81a52d605 Mon Sep 17 00:00:00 2001 From: burgholzer Date: Mon, 5 Aug 2024 13:24:07 +0200 Subject: [PATCH 6/7] =?UTF-8?q?=F0=9F=94=A7=20disable=20test=20runs=20for?= =?UTF-8?q?=20Python=203.13?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: burgholzer --- .github/workflows/ci.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 63e85a509..ae59ba12c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,13 +14,13 @@ concurrency: jobs: change-detection: name: 🔍 Change - uses: cda-tum/mqt-workflows/.github/workflows/reusable-change-detection.yml@v1.1.5 + uses: cda-tum/mqt-workflows/.github/workflows/reusable-change-detection.yml@v1.2.1 cpp-tests: name: 🇨‌ Test needs: change-detection if: fromJSON(needs.change-detection.outputs.run-cpp-tests) - uses: cda-tum/mqt-workflows/.github/workflows/reusable-cpp-ci.yml@v1.1.5 + uses: cda-tum/mqt-workflows/.github/workflows/reusable-cpp-ci.yml@v1.2.1 with: cmake-args-macos: -DMQT_CORE_WITH_GMP=ON @@ -28,7 +28,7 @@ jobs: name: 🇨‌ Lint needs: change-detection if: fromJSON(needs.change-detection.outputs.run-cpp-linter) - uses: cda-tum/mqt-workflows/.github/workflows/reusable-cpp-linter.yml@v1.1.5 + uses: cda-tum/mqt-workflows/.github/workflows/reusable-cpp-linter.yml@v1.2.1 with: cmake-args: -DBUILD_MQT_CORE_BENCHMARKS=ON @@ -36,13 +36,15 @@ jobs: name: 🐍 Test needs: change-detection if: fromJSON(needs.change-detection.outputs.run-python-tests) - uses: cda-tum/mqt-workflows/.github/workflows/reusable-python-ci.yml@v1.1.5 + uses: cda-tum/mqt-workflows/.github/workflows/reusable-python-ci.yml@v1.2.1 + with: + skip-testing-latest-python: true code-ql: name: 📝 CodeQL needs: change-detection if: fromJSON(needs.change-detection.outputs.run-code-ql) - uses: cda-tum/mqt-workflows/.github/workflows/reusable-code-ql.yml@v1.1.5 + uses: cda-tum/mqt-workflows/.github/workflows/reusable-code-ql.yml@v1.2.1 required-checks-pass: # This job does nothing and is only used for branch protection name: 🚦 Check From f86089f2f9448e9017e329fe4b7352773fdbe17d Mon Sep 17 00:00:00 2001 From: burgholzer Date: Mon, 5 Aug 2024 14:45:20 +0200 Subject: [PATCH 7/7] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20update=20delvewheel=20?= =?UTF-8?q?lower=20bound=20for=20Python=203.13=20support?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: burgholzer --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 11f6357f0..16bc90efe 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -288,6 +288,6 @@ environment = { DEPLOY = "ON" } environment = { MACOSX_DEPLOYMENT_TARGET = "10.15" } [tool.cibuildwheel.windows] -before-build = "uv pip install delvewheel>=1.4.0" +before-build = "uv pip install delvewheel>=1.7.3" repair-wheel-command = "delvewheel repair -w {dest_dir} {wheel} --namespace-pkg mqt" environment = { CMAKE_GENERATOR = "Ninja" }