Skip to content

Commit

Permalink
✨ enable Python 3.13 support
Browse files Browse the repository at this point in the history
Signed-off-by: burgholzer <[email protected]>
  • Loading branch information
burgholzer committed Aug 5, 2024
1 parent 30614a4 commit 5a01746
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 11 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down
12 changes: 7 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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: ""
cmake-args-ubuntu: -G Ninja
Expand All @@ -31,19 +31,21 @@ 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

python-tests:
name: 🐍 Test
needs: change-detection
if: fromJSON(needs.change-detection.outputs.run-python-tests)
uses: cda-tum/mqt-workflows/.github/workflows/[email protected]
uses: cda-tum/mqt-workflows/.github/workflows/[email protected]
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
Expand Down
2 changes: 1 addition & 1 deletion cmake/ExternalDependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ if(BUILD_MQT_QCEC_BINDINGS)
endif()

# add pybind11 library
find_package(pybind11 CONFIG REQUIRED)
find_package(pybind11 2.13 CONFIG REQUIRED)
endif()

# cmake-format: off
Expand Down
4 changes: 2 additions & 2 deletions noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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
]

Expand Down
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -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]
Expand Down Expand Up @@ -270,6 +270,7 @@ archs = "auto64"
test-command = "python -c \"from mqt import qcec\""
test-skip = "cp38-macosx_arm64"
build-frontend = "build[uv]"
free-threaded-support = true

[tool.cibuildwheel.linux]
environment = { DEPLOY="ON" }
Expand Down
2 changes: 1 addition & 1 deletion src/python/bindings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ createManagerFromConfiguration(const py::object& circ1, const py::object& circ2,
}
} // namespace

PYBIND11_MODULE(pyqcec, m) {
PYBIND11_MODULE(pyqcec, m, py::mod_gil_not_used()) {
m.doc() = "Python interface for the MQT QCEC quantum circuit equivalence "
"checking tool";

Expand Down

0 comments on commit 5a01746

Please sign in to comment.