Skip to content

⬆️ Update nanobind to 2.11.0#1481

Merged
denialhaag merged 5 commits intomainfrom
update-nanobind
Jan 30, 2026
Merged

⬆️ Update nanobind to 2.11.0#1481
denialhaag merged 5 commits intomainfrom
update-nanobind

Conversation

@denialhaag
Copy link
Copy Markdown
Member

Description

This PR updates nanobind to 2.11.0.

Checklist:

  • The pull request only contains commits that are focused and relevant to this change.
  • I have added appropriate tests that cover the new/changed functionality.
  • I have updated the documentation to reflect these changes.
  • I have added entries to the changelog for any noteworthy additions, changes, fixes, or removals.
  • I have added migration instructions to the upgrade guide (if needed).
  • The changes follow the project's style guidelines and introduce no new warnings.
  • The changes are fully tested and pass the CI checks.
  • I have reviewed my own code changes.

@denialhaag denialhaag requested a review from burgholzer January 29, 2026 21:11
@denialhaag denialhaag self-assigned this Jan 29, 2026
@denialhaag denialhaag added dependencies Pull requests that update a dependency file python Anything related to Python code backport-potential Changes to be backported to the stable branch labels Jan 29, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Jan 29, 2026

📝 Walkthrough

Summary by CodeRabbit

  • Documentation

    • Added or refined module-level docstrings across multiple modules and language bindings for clearer in-code descriptions.
  • Chores

    • Restored a previously excluded file from the license-tool exclusions.
    • Removed obsolete pattern entries and adjusted stub generation to rely on default patterns.
    • Updated nanobind requirement to the 2.11.x series for build and CI consistency.

✏️ Tip: You can customize this high-level summary in your review settings.

Walkthrough

Unexcludes core_patterns.txt from license scanning, removes two entries from bindings/core_patterns.txt, stops passing a custom pattern file to stub generation, bumps nanobind to ~2.11.0 in packaging and CI, and adds module docstrings in several binding and .pyi files.

Changes

Cohort / File(s) Summary
License config
.license-tools-config.json
Removed "core_patterns.txt" from the exclude list so it is scanned by the license tool.
Pattern files
bindings/core_patterns.txt
Deleted two pattern entries: _hashable_values_ and _unhashable_values_map_.
Stub generation
noxfile.py
Removed pattern_file assignment and the --pattern-file argument passed to nanobind.stubgen; stubgen now uses default patterns.
Packaging & CI
pyproject.toml, .github/workflows/ci.yml
Updated nanobind requirement to ~2.11.0 in pyproject and bumped nanobind package version in CI install steps.
Binding module docs
bindings/dd/register_dd.cpp, bindings/ir/register_ir.cpp, bindings/na/register_fomac.cpp, bindings/na/register_na.cpp
Added or refined module-level documentation strings (m.doc()) in multiple nanobind registration files.
Stub docstrings
python/mqt/core/dd.pyi, python/mqt/core/ir/__init__.pyi, python/mqt/core/na/__init__.pyi, python/mqt/core/na/fomac.pyi
Inserted module-level docstrings at the top of several .pyi stub files.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

enhancement

Suggested reviewers

  • burgholzer

Poem

I’m a rabbit with a tidy hop, 🐰
I nudged two patterns from the crop,
Brought a file back into the light,
Bumped a version, docs made bright,
Hoppity-hop — the stubs take flight!

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title directly and concisely describes the main change: updating nanobind to version 2.11.0, which is the primary focus of the PR.
Description check ✅ Passed The description includes a clear summary of the change and addresses the checklist items appropriately, with strikethrough used for non-applicable items (tests, docs, changelog, migration guide).

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-nanobind

Tip

🧪 Unit Test Generation v2 is now available!

We have significantly improved our unit test generation capabilities.

To enable: Add this to your .coderabbit.yaml configuration:

reviews:
  finishing_touches:
    unit_tests:
      enabled: true

Try it out by using the @coderabbitai generate unit tests command on your code files or under ✨ Finishing Touches on the walkthrough!

Have feedback? Share your thoughts on our Discord thread!


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov bot commented Jan 30, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown
Member

@burgholzer burgholzer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two clarifications, otherwise this looks great!

Comment thread pyproject.toml Outdated
Comment thread python/mqt/core/na/__init__.pyi Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@bindings/ir/register_ir.cpp`:
- Around line 25-27: The module docstring assigned to m.doc() contains an extra
space between "IR" and the hyphen; update the string passed to m.doc() (the
R"pb(... )pb" literal) to remove the double space so it reads "MQT Core IR - The
MQT Core Intermediate Representation (IR) module." ensuring the change is made
in the docstring literal used in register_ir.cpp.

Comment thread bindings/ir/register_ir.cpp
Copy link
Copy Markdown
Member

@burgholzer burgholzer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice. LGTM now!

@denialhaag denialhaag enabled auto-merge (squash) January 30, 2026 10:33
@denialhaag denialhaag merged commit 603aae2 into main Jan 30, 2026
34 checks passed
@denialhaag denialhaag deleted the update-nanobind branch January 30, 2026 10:40
mergify bot pushed a commit that referenced this pull request Jan 30, 2026
## Description

This PR updates `nanobind` to 2.11.0.

## Checklist:

- [x] The pull request only contains commits that are focused and
relevant to this change.
- [x] ~I have added appropriate tests that cover the new/changed
functionality.~
- [x] ~I have updated the documentation to reflect these changes.~
- [x] ~I have added entries to the changelog for any noteworthy
additions, changes, fixes, or removals.~
- [x] ~I have added migration instructions to the upgrade guide (if
needed).~
- [x] The changes follow the project's style guidelines and introduce no
new warnings.
- [x] The changes are fully tested and pass the CI checks.
- [x] I have reviewed my own code changes.

(cherry picked from commit 603aae2)

# Conflicts:
#	uv.lock
denialhaag added a commit that referenced this pull request Jan 30, 2026
## Description

This PR updates `nanobind` to 2.11.0.

## Checklist:

- [x] The pull request only contains commits that are focused and
relevant to this change.
- [x] ~I have added appropriate tests that cover the new/changed
functionality.~
- [x] ~I have updated the documentation to reflect these changes.~
- [x] ~I have added entries to the changelog for any noteworthy
additions, changes, fixes, or removals.~
- [x] ~I have added migration instructions to the upgrade guide (if
needed).~
- [x] The changes follow the project's style guidelines and introduce no
new warnings.
- [x] The changes are fully tested and pass the CI checks.
- [x] I have reviewed my own code changes.



(cherry picked from commit 603aae2)

---------

Signed-off-by: Daniel Haag <121057143+denialhaag@users.noreply.github.com>
Co-authored-by: Daniel Haag <121057143+denialhaag@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-potential Changes to be backported to the stable branch dependencies Pull requests that update a dependency file python Anything related to Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants