Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -74,5 +74,3 @@ CheckOptions:
value: CamelCase
- key: readability-identifier-naming.VariableCase
value: camelBack
- key: misc-include-cleaner.IgnoreHeaders
value: pybind11/detail/.*
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ jobs:
clang-version: 20
cmake-args: -DBUILD_MQT_DDSIM_BINDINGS=ON
files-changed-only: true
install-pkgs: "pybind11==3.0.1"
install-pkgs: "nanobind==2.10.2"
setup-python: true
cpp-linter-extra-args: "-std=c++20"

Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ repos:
- id: disallow-caps
name: Disallow improper capitalization
language: pygrep
entry: PyBind|Numpy|Cmake|CCache|Github|PyTest|Mqt|Tum
entry: Nanobind|Numpy|Cmake|CCache|Github|PyTest|Mqt|Tum
exclude: .pre-commit-config.yaml

# Check best practices for scientific Python code
Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ This project adheres to [Semantic Versioning], with the exception that minor rel

### Changed

- ♻️ Migrate Python bindings from `pybind11` to `nanobind` ([#766]) ([**@denialhaag**])
- 📦️ Provide Stable ABI wheels for Python 3.12+ ([#766]) ([**@denialhaag**])
- 👷 Stop testing on `ubuntu-22.04` and `ubuntu-22.04-arm` runners ([#740]) ([**@denialhaag**])
- 👷 Stop testing with `clang-19` and start testing with `clang-21` ([#740]) ([**@denialhaag**])
- 👷 Fix macOS tests with Homebrew Clang via new `munich-quantum-toolkit/workflows` version ([#740]) ([**@denialhaag**])
Expand Down Expand Up @@ -86,6 +88,7 @@ _📚 Refer to the [GitHub Release Notes] for previous changelogs._

<!-- PR links -->

[#766]: https://github.com/munich-quantum-toolkit/ddsim/pull/766
[#740]: https://github.com/munich-quantum-toolkit/ddsim/pull/740
[#681]: https://github.com/munich-quantum-toolkit/ddsim/pull/681
[#674]: https://github.com/munich-quantum-toolkit/ddsim/pull/674
Expand Down
6 changes: 2 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,8 @@ if(BUILD_MQT_DDSIM_BINDINGS)
endif()

# top-level call to find Python
find_package(
Python 3.10 REQUIRED
COMPONENTS Interpreter Development.Module
OPTIONAL_COMPONENTS Development.SABIModule)
find_package(Python 3.10 REQUIRED COMPONENTS Interpreter Development.Module
${SKBUILD_SABI_COMPONENT})
endif()

# check if this is the master project or used via add_subdirectory
Expand Down
18 changes: 15 additions & 3 deletions UPGRADING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,24 @@ This document describes breaking changes and how to upgrade. For a complete list

## [Unreleased]

### Removal of Python 3.13t wheels
### Python wheels

This release contains two changes to the distributed wheels.

First, we have removed all wheels for Python 3.13t.
Free-threading Python was introduced as an experimental feature in Python 3.13.
It became stable in Python 3.14.
To conserve space on PyPI and to reduce the CD build times, we have removed all wheels for Python 3.13t from our CI.
We continue to provide wheels for the regular Python versions 3.10 to 3.14, as well as 3.14t.

Second, for Python 3.12+, we are now providing Stable ABI wheels instead of separate version-specific wheels.
This was enabled by migrating our Python bindings from `pybind11` to `nanobind`.

Both of these changes were made in the interest of conserving PyPI space and reducing CI/CD build times.
The full list of wheels now reads:

- 3.10
- 3.11
- 3.12+ Stable ABI
- 3.14t

## [2.1.0]

Expand Down
5 changes: 2 additions & 3 deletions bindings/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ list(
${BASEPOINT}/../../core/lib
${BASEPOINT}/../../core/lib64)

add_mqt_python_binding(
add_mqt_python_binding_nanobind(
DDSIM
${MQT_DDSIM_TARGET_NAME}-bindings
bindings.cpp
Expand All @@ -34,5 +34,4 @@ add_mqt_python_binding(
INSTALL_DIR
.
LINK_LIBS
MQT::DDSim
pybind11_json)
MQT::DDSim)
Loading
Loading