Skip to content

Conversation

@burgholzer
Copy link
Member

Description

Python 3.14.2 was released as well as a new version of uv that installs it.
This should unblock our CI on Python 3.14

Fixes #860

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.

Signed-off-by: burgholzer <burgholzer@me.com>
@burgholzer burgholzer self-assigned this Dec 6, 2025
@burgholzer burgholzer added the continuous integration Anything related to the CI setup label Dec 6, 2025
@github-project-automation github-project-automation bot moved this to In Progress in MQT Compilation Dec 6, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 6, 2025

📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Added support for Python 3.14 in the testing infrastructure.

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

Walkthrough

Python 3.14 has been added to the PYTHON_ALL_VERSIONS list in noxfile.py, re-enabling Python 3.14 testing in nox sessions following resolution of prior breaking changes.

Changes

Cohort / File(s) Change Summary
Python version configuration
noxfile.py
Added Python 3.14 to PYTHON_ALL_VERSIONS list; extended from ["3.10", "3.11", "3.12", "3.13"] to ["3.10", "3.11", "3.12", "3.13", "3.14"]

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Suggested labels

python

Poem

🐰 ✨

Three-fourteen hops into the test,
A rabbit's version quest at best!
The nox files align once more,
Python thrives from shore to shore.

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the primary change—re-enabling Python 3.14 testing in the noxfile by adding 3.14 to PYTHON_ALL_VERSIONS.
Description check ✅ Passed The description covers the motivation (Python 3.14.2 release and uv update), references the fixed issue (#860), and includes a completed checklist matching the repository template.
Linked Issues check ✅ Passed The PR directly addresses issue #860 by re-enabling Python 3.14 testing in the noxfile, which was the stated objective after the breaking changes were resolved.
Out of Scope Changes check ✅ Passed The change is narrowly scoped to adding Python 3.14 to PYTHON_ALL_VERSIONS in noxfile.py, directly aligned with the objective of re-enabling Python 3.14 testing.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ 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 re-enable-3.14

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 258c9dc and 709c0ea.

📒 Files selected for processing (1)
  • noxfile.py (1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: marcelwa
Repo: munich-quantum-toolkit/core PR: 1243
File: test/python/qdmi/qiskit/conftest.py:155-157
Timestamp: 2025-11-04T15:22:19.558Z
Learning: The munich-quantum-toolkit/core repository requires Python 3.10 or later, so Python 3.10+ features (such as `zip(..., strict=...)`, pattern matching, etc.) are acceptable and should not be flagged as compatibility issues.
Learnt from: denialhaag
Repo: munich-quantum-toolkit/core PR: 1246
File: pyproject.toml:340-341
Timestamp: 2025-10-09T22:15:59.924Z
Learning: Qiskit publishes ABI3 wheels (e.g., cp39-abi3) that are forward-compatible with newer Python versions including Python 3.14, so no explicit Python 3.14 wheels are required for qiskit to work on Python 3.14.
Learnt from: denialhaag
Repo: munich-quantum-toolkit/predictor PR: 488
File: pyproject.toml:44-47
Timestamp: 2025-10-13T22:51:24.298Z
Learning: numpy 2.3.2 is the first NumPy version that supports Python 3.14, released on July 24, 2025.
Learnt from: denialhaag
Repo: munich-quantum-toolkit/debugger PR: 160
File: pyproject.toml:54-54
Timestamp: 2025-10-11T19:39:32.050Z
Learning: Qiskit packages use cp39-abi3 wheels (stable ABI) which are forward-compatible with Python 3.9+ including Python 3.14, even if the package classifiers don't explicitly list Python 3.14 support.
📚 Learning: 2025-11-04T15:22:19.558Z
Learnt from: marcelwa
Repo: munich-quantum-toolkit/core PR: 1243
File: test/python/qdmi/qiskit/conftest.py:155-157
Timestamp: 2025-11-04T15:22:19.558Z
Learning: The munich-quantum-toolkit/core repository requires Python 3.10 or later, so Python 3.10+ features (such as `zip(..., strict=...)`, pattern matching, etc.) are acceptable and should not be flagged as compatibility issues.

Applied to files:

  • noxfile.py
📚 Learning: 2025-10-09T22:15:59.924Z
Learnt from: denialhaag
Repo: munich-quantum-toolkit/core PR: 1246
File: pyproject.toml:340-341
Timestamp: 2025-10-09T22:15:59.924Z
Learning: Qiskit publishes ABI3 wheels (e.g., cp39-abi3) that are forward-compatible with newer Python versions including Python 3.14, so no explicit Python 3.14 wheels are required for qiskit to work on Python 3.14.

Applied to files:

  • noxfile.py
🔇 Additional comments (1)
noxfile.py (1)

35-35: Python 3.14 support is properly configured. The change correctly re-enables Python 3.14 testing across all nox sessions (tests, minimums, qiskit). Project configuration is complete: the Python 3.14 classifier exists in pyproject.toml, requires-python supports it, and all dependencies are compatible via ABI3 wheels (Qiskit) or native Python 3.14 support (rustworkx, networkx).


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.

@burgholzer burgholzer enabled auto-merge (squash) December 6, 2025 21:24
@burgholzer burgholzer merged commit 7c10edd into main Dec 7, 2025
24 checks passed
@burgholzer burgholzer deleted the re-enable-3.14 branch December 7, 2025 00:08
@github-project-automation github-project-automation bot moved this from In Progress to Done in MQT Compilation Dec 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

continuous integration Anything related to the CI setup

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🐛 Re-enable Python 3.14 testing once Python 3.14.1 breaking changes have been resolved

2 participants