Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
211 commits
Select commit Hold shift + click to select a range
4200ef1
Added main.py
emilkanic0909 May 9, 2026
5a700a0
added code
SalehAlsherif May 9, 2026
38aa1f8
added entrying points
emilkanic0909 May 9, 2026
df2affd
changed the name of the argument to encoding to match the project des…
SalehAlsherif May 13, 2026
e3295e6
Shorcode Transpiler excluding S gates
SalehAlsherif May 16, 2026
6e08c7e
✨ Adding Steane for Clifford set
emilkanic0909 May 22, 2026
ac7b9ea
♻️ Refactoring
emilkanic0909 May 23, 2026
b0e5c8c
Shor_Code_Transpiler completed with tests anf T gate to be tested
SalehAlsherif May 23, 2026
3e211cb
change to statevector
emilkanic0909 May 23, 2026
1fa57c3
used reduced density matrix
SalehAlsherif May 23, 2026
5cf108d
✨ Implementing T Gate as in exercise decription
emilkanic0909 May 27, 2026
e9cc159
updated encoding parameter to make main.py run
May 29, 2026
fba7a1f
added various testing utilities
May 29, 2026
0dec02a
Added test outputs to gitignore
Felix-Gundlach May 29, 2026
b6978c4
Merged Shor Transpiler into Verification
Felix-Gundlach May 29, 2026
8e189f1
added barrier to decoding
Felix-Gundlach May 29, 2026
e041878
first attempts at unification
Felix-Gundlach May 29, 2026
0410fed
✨ Add syndromes control flag
emilkanic0909 May 30, 2026
574db9a
More Ways to test :)
May 30, 2026
d80afea
Merge remote-tracking branch 'origin/feature/ErrorCorrection_SteaneCo…
May 30, 2026
569bc68
More changes
May 30, 2026
ba98eaf
improved circuit simulation and data processing
May 30, 2026
bd58ad5
✨ Adding Decode All
emilkanic0909 May 30, 2026
f3fbac1
small modifications to structure
May 30, 2026
73317f7
merged changes
May 30, 2026
997d7d1
streamlined testing utilities
May 30, 2026
1e3b44c
more changes
May 30, 2026
4a26c64
Improved testing methodologies
May 30, 2026
8bf47d6
+ Enabled Algorithmic Equality testing
Felix-Gundlach May 31, 2026
3832fe8
Refactored to OpenClose Principle
SalehAlsherif Jun 6, 2026
49bd55a
+ logging
Jun 6, 2026
a65972d
+ cx & cz gate testing
Jun 6, 2026
6f765f0
🚧 Working with tests
emilkanic0909 Jun 6, 2026
739084b
Merge branch 'feature/ErrorCorrection_Verification' of https://github…
emilkanic0909 Jun 6, 2026
69e98a7
Merge branch 'feature/ErrorCorrection_ShorCode' into feature/ErrorCor…
emilkanic0909 Jun 6, 2026
a470a35
Merge branch 'feature/ErrorCorrection_Verification' of github.com:emi…
Jun 6, 2026
1ace3c5
Merge branch 'feature/ErrorCorrection_Verification' into feature/Erro…
Jun 6, 2026
02d1ac2
Addind Steane transpiler
emilkanic0909 Jun 6, 2026
86d2c36
Merge branch 'feature/ErrorCorrection_SubMain' of https://github.com/…
emilkanic0909 Jun 6, 2026
b0c175e
removed wrong tests and unneccessay outputs
Jun 6, 2026
9c71e3a
correcting tests
SalehAlsherif Jun 6, 2026
735cebb
added measurement testcase
Jun 6, 2026
45a1721
Merge branch 'feature/ErrorCorrection_SubMain' of github.com:emilkani…
Jun 6, 2026
135d7b1
Refactoring
SalehAlsherif Jun 6, 2026
db68e10
added decode before measurements
SalehAlsherif Jun 6, 2026
b57e5cc
Merge branch 'feature/ErrorCorrection_SubMain' of github.com:emilkani…
Jun 6, 2026
bcb06ad
✅ Add Steane components
emilkanic0909 Jun 6, 2026
2265c5a
Movedcircuit running
Jun 11, 2026
624ed2a
Merge branch 'feature/ErrorCorrection_SubMain' of github.com:emilkani…
Jun 11, 2026
d3517db
+ Added funcionality to create gate_counts.json
Jun 11, 2026
6d79032
+ Added test for circuit structure
Jun 11, 2026
9700a88
✨ Adding QFT gate support
emilkanic0909 Jun 12, 2026
6c4b74b
Fixed logical Measurement on shor code transpiler
SalehAlsherif Jun 12, 2026
4866c88
new gate counts
Jun 13, 2026
78a8d6b
more qft :)
Jun 13, 2026
ba31cba
fixed measurement removal
Jun 13, 2026
5bfd6c2
more fixes
Jun 13, 2026
2b19794
Adding QFT gate to shor transpiler
SalehAlsherif Jun 13, 2026
9432119
Fix Measurements
emilkanic0909 Jun 13, 2026
2ef22f2
fixed circuit structure tests to work with dynamic numbers of classic…
Jun 13, 2026
2fa6380
added support for qft structural tests
Jun 13, 2026
31216cc
switched to custom measurement logic
Jun 13, 2026
5f29699
✨ Fixing Tests
emilkanic0909 Jun 13, 2026
21c9fd7
✨ Removing QFT Test
emilkanic0909 Jun 13, 2026
956006e
various improvements to code quality
Jun 13, 2026
d98c80a
Merge branch 'feature/ErrorCorrection_SubMain' of github.com:emilkani…
Jun 13, 2026
7853e8d
more fixes to resolve the bungled up merge conflict
Jun 13, 2026
b3e2c8b
automatic nox lint changes
Jun 13, 2026
22f71bf
added dependencies for testing
Jun 13, 2026
5553b37
removed finished TODOs
Jun 13, 2026
f5ba739
removed unused file
Jun 13, 2026
221eb86
more linting changes
Jun 13, 2026
bb53875
greatly improved readability of documentation
Jun 13, 2026
137fb83
Merge branch 'munich-quantum-toolkit:main' into main
Felix-Gundlach Jun 13, 2026
ceb55da
Merge remote-tracking branch 'origin/main' into feature/ErrorCorrecti…
Jun 13, 2026
08463e3
Added module docstring
Jun 13, 2026
33b24ce
updated uv.lock to reflect added dependencies
Jun 13, 2026
80f347f
fixed wrong import location
Jun 16, 2026
1d0e8de
Added explicit type checking to syndrome extraction
Jun 16, 2026
9576b21
Moved testing dependencies to appropriate pytest groups
Jun 16, 2026
5823f63
Varios little improvements to code quality
Jun 16, 2026
75df4d6
Corrected module docstring
Jun 16, 2026
bc6c18b
Corrected module docstring
Jun 16, 2026
fe66b60
Enabled Solovay-Kitaev synthesis on steanes qft decomposition
Jun 16, 2026
b1fc4c1
added debug message regarding qiskit version
Jun 16, 2026
af74ee5
Switched to 2-pass transpilation for Steane's
Jun 16, 2026
18a43d4
🚧 Turn off tests, that crashes mqt.qcec
emilkanic0909 Jun 20, 2026
2562ff8
🎨 pre-commit fixes
pre-commit-ci[bot] Jun 20, 2026
93acb24
reverted to old transpilation for QFT gate
Jun 27, 2026
74dd17e
Increased minimum qiskit version to 2.1 to support T gate transpilation
Jun 27, 2026
4e8b873
Merge branch 'feature/ErrorCorrection_MergePrep' of github.com:emilka…
Jun 27, 2026
8df9184
Increased qiskit version to 2.4 to include grisynth for QFT transpila…
Jun 27, 2026
620602d
removed redundant qiskit-aer & mqt.qcec specifications from dependencies
Jun 27, 2026
5cac15f
moved mqt.qcec dependency
Jun 27, 2026
5e723c4
moved qiskit aer dependency
Jun 27, 2026
db0c14c
lowered required fidelity for transpiler_correctness to account for u…
Jun 27, 2026
bf24cbd
🚑️ Skiping tests for ARM Ubuntu build
emilkanic0909 Jun 27, 2026
7cc25d2
🎨 pre-commit fixes
pre-commit-ci[bot] Jun 27, 2026
1fe9da5
removed unused ty suppression
Jun 27, 2026
5506f3b
unfeasable/unsupported testcases are now skipped
Jun 27, 2026
05f5251
🎨 Considering Rabbit AI
emilkanic0909 Jun 27, 2026
b7c2f2d
Updated Docstrings to indicate support for error correction encodings
Jun 27, 2026
4dd1e6e
Merge branch 'feature/ErrorCorrection_MergePrep' of github.com:emilka…
Jun 27, 2026
ee006cf
Documented missing aer builds
Jun 27, 2026
a216cb8
Merge branch 'main' into feature/ErrorCorrection_MergePrep
Felix-Gundlach Jun 27, 2026
9e4e864
🚨 Fixing Rabbit AI suggestions
emilkanic0909 Jun 27, 2026
aec7e61
🎨 pre-commit fixes
pre-commit-ci[bot] Jun 27, 2026
440f2d2
Formatted docstrings to google style
Jun 27, 2026
d69d0d5
Merge branch 'feature/ErrorCorrection_MergePrep' of github.com:emilka…
Jun 27, 2026
b503a5d
🚧 Fixing RabbitAI
emilkanic0909 Jun 27, 2026
9b89ba4
Merge branch 'feature/ErrorCorrection_MergePrep' of https://github.co…
emilkanic0909 Jun 27, 2026
b86a385
Converted docstrigns to google-style
Jun 27, 2026
bc1738d
🎨 pre-commit fixes
pre-commit-ci[bot] Jun 27, 2026
22421a2
Merge branch 'feature/ErrorCorrection_MergePrep' of github.com:emilka…
Jun 27, 2026
5a4b525
Removed Equvialence checking and respective dependencies
Jul 1, 2026
9b2b365
Removed gate_counts.json
Jul 1, 2026
6083250
Moved gatecounts into dedicated constants
Jul 1, 2026
ef3c9ac
Modified Shor_transpiler to global clifford+t reduction before transp…
SalehAlsherif Jul 3, 2026
0ea3d08
applied opeque magic state injection
SalehAlsherif Jul 3, 2026
fc209f3
delete old comments
emilkanic0909 Jul 4, 2026
266ac64
Moved structural tests to test_bench.py
Jul 6, 2026
ff3f129
Merge branch 'feature/ErrorCorrection_MergePrep' of github.com:emilka…
Jul 6, 2026
d90c6c0
Removed unnecessary qiskit-aer dependency
Jul 6, 2026
9232b8a
Merge branch 'main' into feature/ErrorCorrection_MergePrep
Felix-Gundlach Jul 6, 2026
c7fae61
🔥 Remove Barriers, Measures, Decoding, Fix transpilation
emilkanic0909 Jul 18, 2026
f4ddd3a
🎨 pre-commit fixes
pre-commit-ci[bot] Jul 18, 2026
7496aab
readded tests for transpiler WIP
Jul 18, 2026
974aab6
Merge branch 'feature/ErrorCorrection_MergePrep' of github.com:emilka…
Jul 18, 2026
125bb2e
added simple test to check if everything still works
Jul 18, 2026
dd53d05
added docstrings to transpilation tests
Jul 18, 2026
62c50ab
Added support for Id, Y, DCX, SWAP gates.
Jul 18, 2026
4fdfb7c
Removed now unused Gates H, S, CZ
Jul 18, 2026
65a99dc
✨ Adding New Gates and Reuse code
emilkanic0909 Jul 18, 2026
0b5d752
modified tests to check all algorithms for transpilation
Jul 18, 2026
d56f79b
Expanded target transpilation target basis and re-added H gate support
Jul 18, 2026
a6d4560
Moved transpilation step into transpile() for consistency between imp…
Jul 18, 2026
853bb54
fixed accessing the transpiled qc
Jul 18, 2026
c8e5a70
fixed addressing the transpiled qc in test_error_correction_transpile…
Jul 18, 2026
b766e03
Updated expected gate counts for test_error_correction_transpiler_cir…
Jul 18, 2026
1ac0972
added generating functionality for gate counts and updated to newest …
Jul 18, 2026
04e864d
removed dedicated qec testing again
Jul 18, 2026
aa7030f
Improved syndrome extraction documentation
Jul 18, 2026
d397ae5
Merge branch 'main' into feature/ErrorCorrection_MergePrep
Felix-Gundlach Jul 18, 2026
dd69ae2
updated uv venv
Jul 18, 2026
1647130
draft ec_transpiler
Aug 8, 2026
73190c5
updated ec_transpiler to automatically handle derived gates
Aug 13, 2026
e8b8352
amended shor & steane transpilers to utilize automatic derived gate a…
Aug 13, 2026
aaf4c08
Amended ec gate counts to fit with new constraints
Aug 13, 2026
810be22
Added Exception on usage of decoded qubits
Aug 13, 2026
7ddfaa0
Added raising errors on encountering control-flow or conditioned oper…
Aug 13, 2026
a735a55
removed unnecessary parameter from replace_gates
Aug 13, 2026
b851edf
Clarified unsupported control-flow operations in docstring
Aug 13, 2026
f6f7058
Fixed cy derivation
Aug 13, 2026
544d025
Removed our EC changes from .gitignore
Aug 13, 2026
87e48a8
Updated optimization_level to 0 in transpile()
Aug 13, 2026
71102ac
Removed unnecessary t-gate count
Aug 13, 2026
edcff21
Fixed typo
Aug 13, 2026
413c067
Updated gate counts to reflect new optimization level
Aug 13, 2026
ee3f235
Merge branch 'main' into feature/ErrorCorrection_MergePrep
Felix-Gundlach Aug 13, 2026
07df7b4
📝 Update Changelog
emilkanic0909 Aug 15, 2026
7c38d9f
🎨 pre-commit fixes
pre-commit-ci[bot] Aug 15, 2026
b3c250e
📝Adapt Changelog📝
emilkanic0909 Aug 15, 2026
ca29806
Merge branch 'feature/ErrorCorrection_MergePrep' of https://github.co…
emilkanic0909 Aug 15, 2026
ff98090
🔥 Remove old TODOs
emilkanic0909 Aug 15, 2026
9fe9ec8
🎨 pre-commit fixes
pre-commit-ci[bot] Aug 15, 2026
6620137
🎨 Rename MagicState
emilkanic0909 Aug 15, 2026
cc566c3
Merge branch 'feature/ErrorCorrection_MergePrep' of https://github.co…
emilkanic0909 Aug 15, 2026
165b0a8
Merge branch 'main' into feature/ErrorCorrection_MergePrep
emilkanic0909 Aug 22, 2026
9d1078a
🐛 Fix docstring and Opaque gadget name in dicts
emilkanic0909 Aug 22, 2026
b679c67
🚑️ Disabling counts for qft, only existence
emilkanic0909 Aug 22, 2026
6dccbb4
🎨 pre-commit fixes
pre-commit-ci[bot] Aug 22, 2026
d986774
Merge branch 'main' into feature/ErrorCorrection_MergePrep
emilkanic0909 Aug 22, 2026
25e5bad
Removed ec_transpiler add_syndrome functionality
Aug 29, 2026
821b84d
✨ Add New Tests for Y Z gates and delete Derived
emilkanic0909 Aug 29, 2026
6b31b1f
Merge branch 'feature/ErrorCorrection_MergePrep' of https://github.co…
emilkanic0909 Aug 29, 2026
549b58e
Merge branch 'main' into feature/ErrorCorrection_MergePrep
emilkanic0909 Aug 29, 2026
ab0ac4d
🎨 pre-commit fixes
pre-commit-ci[bot] Aug 29, 2026
feb9a15
🚑️ Fix Sys Usage according to Daniels Haag PR
emilkanic0909 Aug 29, 2026
5eba858
🎨 pre-commit fixes
pre-commit-ci[bot] Aug 29, 2026
c42826d
🚑️ Fix formatting in md
emilkanic0909 Aug 29, 2026
8bfba49
Merge branch 'feature/ErrorCorrection_MergePrep' of https://github.co…
emilkanic0909 Aug 29, 2026
9c8d6fa
Various small fixes to move to 100% coverage
Aug 29, 2026
6b25061
Merge branch 'feature/ErrorCorrection_MergePrep' of github.com:emilka…
Aug 29, 2026
a99e32f
Merge branch 'main' into feature/ErrorCorrection_MergePrep
Felix-Gundlach Sep 1, 2026
1dbff36
Fixed python version for lint to newest supported version
Sep 1, 2026
b1d0035
Fixed overloading issues with get_benchmark_alg()
Sep 1, 2026
2aa070f
Added tests for get_benchmark_alg() encoding parameters
Sep 1, 2026
2c168a2
Removed unused derived gates functionality
Sep 1, 2026
ab2f520
decrease circuit size in test_get_benchmark_alg_encoding_parameters()…
Sep 1, 2026
90b1161
Pedantic changes to test_error_correction_transpiler_circuit_structure()
Sep 1, 2026
04d4790
Removed unused physical_data_registers
Sep 1, 2026
203b33f
Merge branch 'main' into feature/ErrorCorrection_MergePrep
Felix-Gundlach Sep 5, 2026
58ad237
Documented qiskit version change
Sep 7, 2026
ee70ede
removed ket from tool.typos
Sep 7, 2026
3c62b85
reverted fixed python version for lint
Sep 7, 2026
b05e7f4
Added warning for use of encoding in unsupported benchmark gen levels
Sep 7, 2026
763a7f4
Merge branch 'feature/ErrorCorrection_MergePrep' of github.com:emilka…
Sep 7, 2026
221e205
Updated witch reduced set of gates
Sep 7, 2026
45f566a
Merge branch 'main' into feature/ErrorCorrection_MergePrep
Felix-Gundlach Sep 7, 2026
590229a
removed deprecated 'add_syndrome' distinctions from docstrings
Sep 7, 2026
d2c5d87
Fixed typo
Sep 7, 2026
b47dc12
Added __init__.py files for error_correction and components
Sep 7, 2026
e917cf3
Merge branch 'feature/ErrorCorrection_MergePrep' of github.com:emilka…
Sep 7, 2026
2b0db75
Merge branch 'main' into feature/ErrorCorrection_MergePrep
emilkanic0909 Sep 12, 2026
80d3d8b
Revert "Merge branch 'main' into feature/ErrorCorrection_MergePrep"
emilkanic0909 Sep 12, 2026
c18ce33
Added documentation
Sep 12, 2026
861b236
Dynamic discovery of EC transpilers
Sep 12, 2026
4722055
Merge branch 'feature/ErrorCorrection_MergePrep' of github.com:emilka…
Sep 12, 2026
1099514
Removed automatic transpiler discovery
Sep 12, 2026
124c04d
Manual update of templating version
Sep 12, 2026
506b619
Merge branch 'main' into feature/ErrorCorrection_MergePrep
Felix-Gundlach Sep 13, 2026
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
4 changes: 2 additions & 2 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ permissions: {}
jobs:
build-sdist:
name: 🐍 Packaging
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@ace7363a2a8e036e5efc6717be67f1eda29a120e # v2.4.2
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@ae4c1005796fedc123c3c70cdba94ce643c9fcae # v2.3.1
permissions:
contents: read

build-wheel:
name: 🐍 Packaging
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-build.yml@ace7363a2a8e036e5efc6717be67f1eda29a120e # v2.4.2
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-build.yml@ae4c1005796fedc123c3c70cdba94ce643c9fcae # v2.3.1
permissions:
contents: read

Expand Down
13 changes: 6 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ permissions: {}
jobs:
change-detection:
name: 🔍 Change
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-change-detection.yml@ace7363a2a8e036e5efc6717be67f1eda29a120e # v2.4.2
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-change-detection.yml@ae4c1005796fedc123c3c70cdba94ce643c9fcae # v2.3.1
permissions:
contents: read

Expand All @@ -29,18 +29,17 @@ jobs:
fail-fast: false
matrix:
runs-on: [ubuntu-24.04, ubuntu-24.04-arm, macos-26, windows-2025]
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-tests.yml@ace7363a2a8e036e5efc6717be67f1eda29a120e # v2.4.2
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-tests.yml@ae4c1005796fedc123c3c70cdba94ce643c9fcae # v2.3.1
with:
runs-on: ${{ matrix.runs-on }}
use-sccache-gha: false
permissions:
contents: read

python-coverage:
name: 🐍 Coverage
needs: [change-detection, python-tests]
if: fromJSON(needs.change-detection.outputs.run-python-tests)
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-coverage.yml@ace7363a2a8e036e5efc6717be67f1eda29a120e # v2.4.2
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-coverage.yml@ae4c1005796fedc123c3c70cdba94ce643c9fcae # v2.3.1
permissions:
contents: read
id-token: write
Expand All @@ -49,7 +48,7 @@ jobs:
name: 🐍 Lint
needs: change-detection
if: fromJSON(needs.change-detection.outputs.run-python-linter)
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-linter.yml@ace7363a2a8e036e5efc6717be67f1eda29a120e # v2.4.2
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-linter.yml@ae4c1005796fedc123c3c70cdba94ce643c9fcae # v2.3.1
with:
enable-ty: true
enable-mypy: false
Expand All @@ -60,15 +59,15 @@ jobs:
name: 🚀 CD
needs: change-detection
if: fromJSON(needs.change-detection.outputs.run-cd)
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@ace7363a2a8e036e5efc6717be67f1eda29a120e # v2.4.2
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@ae4c1005796fedc123c3c70cdba94ce643c9fcae # v2.3.1
permissions:
contents: read

build-wheel:
name: 🚀 CD
needs: change-detection
if: fromJSON(needs.change-detection.outputs.run-cd)
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-build.yml@ace7363a2a8e036e5efc6717be67f1eda29a120e # v2.4.2
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-build.yml@ae4c1005796fedc123c3c70cdba94ce643c9fcae # v2.3.1
permissions:
contents: read

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/upstream.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
fail-fast: false
matrix:
runs-on: [ubuntu-24.04, macos-26, windows-2025]
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-qiskit-upstream-tests.yml@ace7363a2a8e036e5efc6717be67f1eda29a120e # v2.4.2
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-qiskit-upstream-tests.yml@ae4c1005796fedc123c3c70cdba94ce643c9fcae # v2.3.1
with:
runs-on: ${{ matrix.runs-on }}
permissions:
Expand All @@ -31,7 +31,7 @@ jobs:
name: Create issue on failure
needs: qiskit-upstream-tests
if: ${{ always() }}
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-qiskit-upstream-issue.yml@ace7363a2a8e036e5efc6717be67f1eda29a120e # v2.4.2
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-qiskit-upstream-issue.yml@ae4c1005796fedc123c3c70cdba94ce643c9fcae # v2.3.1
with:
tests-result: ${{ needs.qiskit-upstream-tests.result }}
permissions:
Expand Down
17 changes: 5 additions & 12 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,14 @@ repos:

## Check pyproject.toml file
- repo: https://github.com/henryiii/validate-pyproject-schema-store
rev: 2026.09.04
rev: 2026.08.29
hooks:
- id: validate-pyproject
priority: 0

## Ensure uv.lock is up to date
- repo: https://github.com/astral-sh/uv-pre-commit
rev: 0.12.10
rev: 0.12.7
hooks:
- id: uv-lock
priority: 0
Expand All @@ -78,7 +78,7 @@ repos:

## Check for typos
- repo: https://github.com/adhtruong/mirrors-typos
rev: v1.50.1
rev: v1.50.0
hooks:
- id: typos
priority: 3
Expand Down Expand Up @@ -127,16 +127,9 @@ repos:
- id: rumdl-fmt
priority: 6

## Format pyproject.toml with pyproject-fmt
- repo: https://github.com/tox-dev/pyproject-fmt
rev: v2.29.3
hooks:
- id: pyproject-fmt
priority: 5

## Format and lint Python files with ruff
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.16.6
rev: v0.16.5
hooks:
- id: ruff-check
require_serial: true
Expand All @@ -147,7 +140,7 @@ repos:

## Check Python types with ty
- repo: https://github.com/astral-sh/ty-pre-commit
rev: v0.0.78
rev: v0.0.75
hooks:
- id: ty
args: [--isolated]
Expand Down
21 changes: 10 additions & 11 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,17 @@ that minor releases may include breaking changes.

## [Unreleased]

## [2.3.0] - 2026-09-12

_If you are upgrading: please see [`UPGRADING.md`](UPGRADING.md#230)._

### Added

- ✨ Add optional structured loops to Grover's algorithm and quantum walk
([#997]) ([**@flowerthrower**])
- ✨ Add Steane's and Shor's encoding for benchmarks ([#930])
([**@Felix-Gundlach**], [**@emilkanic0909**], [**@SalehAlsherif**])

### Changed

- ⬆️ Raise the minimum Qiskit version from 2.0.0 to 2.1.0 ([#1024])
([**@denialhaag**])
- ⬆️ Increase minimum Qiskit version to 2.4.0 ([#930]) ([**@Felix-Gundlach**],
Comment thread
Felix-Gundlach marked this conversation as resolved.
[**@emilkanic0909**], [**@SalehAlsherif**])
- ✨ Add optional structured loops to Grover's algorithm and quantum walk
([#997]) ([**@flowerthrower**])
- 🔥 Drop support for Python 3.10 ([#999]) ([**@denialhaag**])
- 🍎 Stop testing on x86 macOS systems ([#999]) ([**@denialhaag**])

Expand Down Expand Up @@ -178,8 +176,7 @@ _📚 Refer to the [GitHub Release Notes] for previous changelogs._

<!-- Version links -->

[unreleased]: https://github.com/munich-quantum-toolkit/bench/compare/v2.3.0...HEAD
[2.3.0]: https://github.com/munich-quantum-toolkit/bench/releases/tag/v2.3.0
[unreleased]: https://github.com/munich-quantum-toolkit/bench/compare/v2.2.3...HEAD
[2.2.3]: https://github.com/munich-quantum-toolkit/bench/releases/tag/v2.2.3
[2.2.2]: https://github.com/munich-quantum-toolkit/bench/releases/tag/v2.2.2
[2.2.1]: https://github.com/munich-quantum-toolkit/bench/releases/tag/v2.2.1
Expand All @@ -191,7 +188,6 @@ _📚 Refer to the [GitHub Release Notes] for previous changelogs._

<!-- PR links -->

[#1024]: https://github.com/munich-quantum-toolkit/bench/pull/1024
[#1011]: https://github.com/munich-quantum-toolkit/bench/pull/1011
[#999]: https://github.com/munich-quantum-toolkit/bench/pull/999
[#997]: https://github.com/munich-quantum-toolkit/bench/pull/997
Expand Down Expand Up @@ -253,6 +249,9 @@ _📚 Refer to the [GitHub Release Notes] for previous changelogs._
[**@TomasVF**]: https://github.com/TomasVF
[**@flowerthrower**]: https://github.com/flowerthrower
[**@johanneswittmann9**]: https://github.com/johanneswittmann9
[**@Felix-Gundlach**]: https://github.com/Felix-Gundlach
[**@emilkanic0909**]: https://github.com/emilkanic0909
[**@SalehAlsherif**]: https://github.com/SalehAlsherif
[**@cnYui**]: https://github.com/cnYui

<!-- General links -->
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,27 +34,27 @@ throughout the quantum computing software stack. MQT Bench is hosted at
- **Comprehensive Quantum Benchmark Suite:** Provides a wide range of quantum
circuit benchmarks, including algorithms such as GHZ, QAOA, QFT, Grover, Shor,
and many more.
[List of benchmarks](https://mqt.readthedocs.io/projects/bench/en/stable/benchmark_selection.html)
[List of benchmarks](https://mqt.readthedocs.io/projects/bench/en/latest/benchmark_selection.html)
- **Cross-Level Benchmark Generation:** Supports four abstraction
levels—algorithmic, target-independent, target-dependent native gates, and
target-dependent mapped—enabling benchmarking across the entire quantum
software stack.
[Abstraction levels](https://mqt.readthedocs.io/projects/bench/en/stable/abstraction_levels.html)
[Abstraction levels](https://mqt.readthedocs.io/projects/bench/en/latest/abstraction_levels.html)
- **Flexible Target and Gateset Support:** Generate circuits for various
hardware targets and native gatesets, including IBM, IonQ, Quantinuum,
Rigetti, and more.
[Supported devices and gatesets](https://mqt.readthedocs.io/projects/bench/en/stable/parameter.html)
[Supported devices and gatesets](https://mqt.readthedocs.io/projects/bench/en/latest/parameter.html)
- **Python API, CLI, and Web Interface:** Use MQT Bench programmatically via
Python, from the command line, or through an interactive web
interface—whichever fits your workflow.
[Usage guide](https://mqt.readthedocs.io/projects/bench/en/stable/usage.html)
[Usage guide](https://mqt.readthedocs.io/projects/bench/en/latest/usage.html)
- **Parameterized and Mirror Circuits:** Easily generate parameterized circuits
(with random or symbolic parameters) and mirror circuits for robust
benchmarking and error detection.
[Quickstart](https://mqt.readthedocs.io/projects/bench/en/stable/quickstart.html)
[Quickstart](https://mqt.readthedocs.io/projects/bench/en/latest/quickstart.html)
- **Export to Standard Formats:** Save generated circuits in OpenQASM 2,
OpenQASM 3, and QPY formats for compatibility with other quantum tools.
[Output formats](https://mqt.readthedocs.io/projects/bench/en/stable/quickstart.html#output-formats)
[Output formats](https://mqt.readthedocs.io/projects/bench/en/latest/quickstart.html#output-formats)
- **Extensible and Open Source:** Actively maintained, fully open-source, and
designed for easy integration and extension within the quantum computing
community.
Expand Down Expand Up @@ -101,7 +101,7 @@ To support this endeavor, please consider:
requests
- Citing the MQT in your publications (see [Cite This](#cite-this))
- Citing our research in your publications (see
[References](https://mqt.readthedocs.io/projects/bench/en/stable/references.html))
[References](https://mqt.readthedocs.io/projects/bench/en/latest/references.html))
- Using the MQT in research and teaching, and sharing feedback and use cases
- Sponsoring us on GitHub: <https://github.com/sponsors/munich-quantum-toolkit>

Expand Down
18 changes: 7 additions & 11 deletions UPGRADING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,20 @@ of changes including minor and patch releases, please refer to the

## [Unreleased]

## [2.3.0]
### Platform note

### Qiskit 2.1 minimum

The minimum Qiskit version increases from **2.0.0 to 2.1.0**, dropping support
for Qiskit 2.0. Upgrade Qiskit to 2.1.0 or newer.
Starting with this release, x86 macOS is no longer tested in CI; we cannot
guarantee that MQT Bench installs and runs correctly on those systems.

### End of support for Python 3.10

Starting with this release, MQT Bench no longer supports Python 3.10. As a
result, MQT Bench is no longer tested under Python 3.10 and requires Python 3.11
or later.

### macOS support
### Changed

Starting with this release, x86 macOS is no longer tested in CI; we cannot
guarantee that MQT Bench installs and runs correctly on those systems.
- ⬆️ Increase minimum Qiskit version to 2.4.0 ([#930]) ([**@Felix-Gundlach**]),

## [2.2.0]

Expand Down Expand Up @@ -132,7 +129,7 @@ other Qiskit components.
The `get_benchmark` function has been redesigned to provide a more modular and
extensible way to retrieve benchmarks. As a consequence, the function signature
has changed. Please see the
[API documentation](https://mqt.readthedocs.io/projects/bench/en/stable/parameter.html)
[API documentation](https://mqt.readthedocs.io/projects/bench/en/latest/parameter.html)
for the updated function signature and the examples provided below.

```python
Expand Down Expand Up @@ -208,8 +205,7 @@ accordingly.

<!-- Version links -->

[unreleased]: https://github.com/munich-quantum-toolkit/bench/compare/v2.3.0...HEAD
[2.3.0]: https://github.com/munich-quantum-toolkit/bench/compare/v2.2.3...v2.3.0
[unreleased]: https://github.com/munich-quantum-toolkit/bench/compare/v2.2.1...HEAD
[2.2.0]: https://github.com/munich-quantum-toolkit/bench/compare/v2.1.0...v2.2.0
[2.1.0]: https://github.com/munich-quantum-toolkit/bench/compare/v2.0.1...v2.1.0
[2.0.1]: https://github.com/munich-quantum-toolkit/bench/compare/v2.0.0...v2.0.1
Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
"python": ("https://docs.python.org/3", None),
"typing_extensions": ("https://typing-extensions.readthedocs.io/en/latest/", None),
"qiskit": ("https://docs.quantum.ibm.com/api/qiskit", None),
"mqt": ("https://mqt.readthedocs.io/en/stable/", None),
"mqt": ("https://mqt.readthedocs.io/en/latest/", None),
}

myst_enable_extensions = [
Expand Down
38 changes: 23 additions & 15 deletions docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -316,31 +316,39 @@ The documentation is written in
Markdown) and built using [Sphinx](https://www.sphinx-doc.org/en/master/). The
documentation source files can be found in the {code}`docs/` directory.

Tutorials use [MyST-NB](https://myst-nb.readthedocs.io/) Markdown notebooks.
Only `{code-cell}` blocks in notebook pages execute; ordinary code fences are
illustrative. Keep required setup visible, show useful output, and assert the
behavior that each example demonstrates. Use local simulation for executable
examples; leave credentials and remote-device deployment as configuration
recipes.
On top of the API documentation, we provide a set of tutorials and examples that
demonstrate how to use the library. These are written in Markdown using
[myst-nb](https://myst-nb.readthedocs.io/en/latest/), which allows executing
Python code blocks in the documentation. The code blocks are executed during the
documentation build process, and the output is included in the documentation.
This allows us to provide up-to-date examples and tutorials that are guaranteed
to work with the latest version of the library.

Use the documentation session to install Python dependencies, build the package
and generated references, and render the examples:
You can build the documentation using the {code}`nox` session {code}`docs`.

```console
uvx nox --non-interactive -s docs
nox -s docs
```

Install the project's native build requirements first. C++ API generation needs
Doxygen; DD visualizations also need the Graphviz `dot` executable. The session
manages Python packages, not these system tools.
This will install all dependencies for building the documentation in an isolated
environment, build the Python package, and then build the documentation. It will
then host the documentation on a local web server for you to view.

Omit `--non-interactive` to serve the documentation while editing. To check
external links, run:
:::{note}

If you do not want to use {code}`nox`, you can also build the documentation
directly using {code}`sphinx-build`. This requires that you have the project and
its documentation dependencies installed in your virtual environment (e.g., by
running {code}`uv sync`).

```console
uvx nox --non-interactive -s docs -- -b linkcheck
sphinx-build -b html docs/ docs/_build
```

The docs can then be found in the {code}`docs/_build` directory.

:::

## Tips for Development

If something goes wrong, the CI pipeline will notify you. Here are some tips for
Expand Down
11 changes: 11 additions & 0 deletions docs/parameter.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,17 @@ print(get_available_device_names())
they exist.
- `generate_mirror_circuit`: Generate the mirror version (U @ U.inverse()) of
the benchmark.
- `encoding`: Error correction code applied to the output. Encoding of
non-transversal gates uses placeholders.

Possible values for `encoding`:

```text
{code-cell} ipython3
:tags: [hide-input]
from mqt.bench.error_correction import get_available_encoding_names

print(get_available_encoding_names())```

## Native Gate-Set Support

Expand Down
2 changes: 1 addition & 1 deletion noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ def qiskit(session: nox.Session) -> None:
session.run("uv", "pip", "show", "qiskit", env=env)


@nox.session(python="3.14", reuse_venv=True)
@nox.session(reuse_venv=True)
def docs(session: nox.Session) -> None:
"""Build the docs. Use "--non-interactive" to avoid serving. Pass "-b linkcheck" to check links."""
parser = argparse.ArgumentParser()
Expand Down
Loading
Loading