MQT Core - The Backbone of the Munich Quantum Toolkit (MQT)
MQT Core is a collection of open-source C++20 and Python libraries for quantum computing. Its MQT Compiler Collection is built on MLIR and LLVM and connects structured quantum-classical programs to optimization, hardware mapping, and execution. Its libraries form the backbone of the Munich Quantum Toolkit (MQT).
MQT Core 4 is a major architectural release: the compiler's program representations replace the classic circuit APIs. Start with the v4 release overview and v3-to-v4 upgrade guide when migrating an existing application. The low-level DD and QDMI libraries remain available.
Key Features
- MQT Compiler Collection: Generate and optimize structured quantum/classical programs, map them to devices, synthesize native gates, and exchange programs through OpenQASM, Qiskit, QIR, and jeff.
- Decision diagrams: Represent quantum states and operations, simulate programs, and analyze their behavior through C++ and Python.
- QIR execution: Execute supported QIR Base and Adaptive Profile programs with the DD runtime.
- QDMI: Discover devices, query capabilities, compile programs, and submit jobs. Use bundled DDSIM for execution and superconducting hardware models for compilation.
- SDK and HPC integration: connect devices through Qiskit, PennyLane, and Slurm.
- Structured benchmarks: Generate configurable quantum programs, query analytic references, and evaluate sampled results.
Getting Started
Install mqt.core in a Python 3.11 or newer virtual environment:
uv pip install mqt.core
Estimate the phase 3/8 with eight bits of precision using
iterative quantum phase estimation (QPE). This uses two qubits and
measurement feedback. Compile for the bundled DDSIM device, then submit the
compiled program:
from fractions import Fraction
from mqt.core.bench import qpe
from mqt.core.mlir import compile_program, submit_program
from mqt.core.qdmi.driver import open_device
benchmark = qpe.QPE(qpe.Options(precision=8, phase=Fraction(3, 8), method=qpe.Method.ITERATIVE))
program = benchmark.generate()
device = open_device("mqt.ddsim.default")
compiled = compile_program(program, target=device)
job = submit_program(compiled, target=device, num_shots=1024)
job.wait()
counts = job.get_counts()
outcome = max(counts, key=lambda bits: counts[bits])
phase = Fraction(int(outcome, 2), 2**benchmark.output.width)
assert phase == benchmark.options.phase
assert benchmark.evaluate(counts).total_variation_distance < 1e-12
print(f"Counts: {counts}")
print(f"Estimated phase: {phase}")
Counts: {'01100000': 1024}
Estimated phase: 3/8
The QPE walkthrough compares standard and iterative QPE and evaluates a phase that cannot be represented exactly with eight bits. This phase-gate benchmark illustrates the phase-estimation step used in algorithms such as Shor's.
Further Documentation
- Install and build MQT Core.
- Compile and execute programs.
- Browse the Python API and C++ entry point.
Development
Source builds require a C++20 compiler and CMake 3.28 or newer. Building the compiler collection also requires LLVM/MLIR 23.1 or newer. Prebuilt Python wheels include the compiler and simulator. Graphviz is optional for exporting DD visualizations.
See the contribution guide for development setup and checks. For questions and suggestions, open a discussion or an issue.
Contributors and Supporters
MQT Core is developed by MQSC and the Chair for Design Automation at the Technical University of Munich. Among others, it is part of the Munich Quantum Software Stack (MQSS) ecosystem, which is being developed as part of the Munich Quantum Valley (MQV) initiative.
Thank you to all the contributors who have helped make MQT Core a reality!
The MQT will remain free, open-source, and permissively licensed — now and in the future. We are firmly committed to keeping it open and actively maintained for the quantum computing community.
To support this endeavor, please consider:
- Starring and sharing our repositories: https://github.com/munich-quantum-toolkit
- Contributing code, documentation, tests, or examples via issues and pull requests
- Citing the MQT in your publications (see Cite This)
- Citing our research in your publications (see References)
- Using the MQT in research and teaching, and sharing feedback and use cases
- Sponsoring us on GitHub: https://github.com/sponsors/munich-quantum-toolkit
Cite This
Please cite the work that best fits your use case.
MQT Core (the tool)
When citing the software itself or results produced with it, cite the MQT Core paper:
@article{burgholzer2025MQTCore,
title = {{{MQT Core}}: {{The}} Backbone of the {{Munich Quantum Toolkit (MQT)}}},
author = {Burgholzer, Lukas and Stade, Yannick and Peham, Tom and Wille, Robert},
year = 2025,
journal = {Journal of Open Source Software},
publisher = {The Open Journal},
volume = 10,
number = 108,
pages = 7478,
doi = {10.21105/joss.07478},
url = {https://doi.org/10.21105/joss.07478}
}
The MQT Compiler Collection
When citing the compilation framework built on MLIR, cite the MQT Compiler Collection paper:
@article{MQTCompilerCollection2026,
title = {The {{MQT Compiler Collection}}: {{A}} Blueprint for a Future-Proof Quantum-Classical Compilation Framework},
author = {Burgholzer, Lukas and Haag, Daniel and Stade, Yannick and Rovara, Damian and Hopf, Patrick and Wille, Robert},
year = {2026},
booktitle = {Design, Automation and Test in Europe},
doi = {10.23919/DATE69613.2026.11539504},
eprint = {2604.08674},
eprinttype = {arxiv},
}
The Munich Quantum Toolkit (the project)
When discussing the overall MQT project or its ecosystem, cite the MQT Handbook:
@inproceedings{mqt,
title = {The {{MQT}} Handbook: {{A}} Summary of Design Automation Tools and Software for Quantum Computing},
shorttitle = {{The MQT Handbook}},
author = {Wille, Robert and Berent, Lucas and Forster, Tobias and Kunasaikaran, Jagatheesan and Mato, Kevin and Peham, Tom and Quetschlich, Nils and Rovara, Damian and Sander, Aaron and Schmid, Ludwig and Schoenberger, Daniel and Stade, Yannick and Burgholzer, Lukas},
year = 2024,
booktitle = {IEEE International Conference on Quantum Software (QSW)},
doi = {10.1109/QSW62656.2024.00013},
eprint = {2405.17543},
eprinttype = {arxiv},
addendum = {A live version of this document is available at \url{https://mqt.readthedocs.io}}
}
Acknowledgements
The Munich Quantum Toolkit has been supported by the European Research Council (ERC) under the European Union's Horizon 2020 research and innovation program (grant agreement No. 101001318), the Bavarian State Ministry for Science and Arts through the Distinguished Professorship Program, as well as the Munich Quantum Valley, which is supported by the Bavarian state government with funds from the Hightech Agenda Bayern Plus.
Release files for mqt-core 4.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mqt_core-4.0.0.tar.gz | 1.6 MB | Details |
Built distributions (wheels)
Total release size: 508.5 MB
Release files / mqt_core-4.0.0.tar.gz
| Download URL | mqt_core-4.0.0.tar.gz |
|---|---|
| Size | 1.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dc621c6c55b9a3b83abe25a64de384bbe2f4ab5439c3470fdf60b1c99edf819a
|
|
BLAKE2b-256 checksum How to use checksums |
fe5fba47c58f225be78c1a3fe03815cba64ae369a550f673ce681de2d56585d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / mqt_core-4.0.0-cp315-abi3t-win_arm64.whl
| Download URL | mqt_core-4.0.0-cp315-abi3t-win_arm64.whl |
|---|---|
| Size | 35.4 MB |
| Tags | CPython 3.15 Windows ARM64 abi3t |
|
SHA-256 checksum How to use checksums |
f55ad64da2532fe4445d9935a6049dbb852498a1ecd4cbf95bcbba26bed5f33b
|
|
BLAKE2b-256 checksum How to use checksums |
6d75aead550a78f080946e2782e366dce9eff0b8de1ae470e446cb3c9f7a589e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / mqt_core-4.0.0-cp315-abi3t-win_amd64.whl
| Download URL | mqt_core-4.0.0-cp315-abi3t-win_amd64.whl |
|---|---|
| Size | 41.9 MB |
| Tags | CPython 3.15 Windows x86-64 abi3t |
|
SHA-256 checksum How to use checksums |
7c768a26df4eae0bb773edcb9b0a12b85409e0971b027bf089892c33e4e3ed55
|
|
BLAKE2b-256 checksum How to use checksums |
ba539b2a89af07281b5f600c2cfff6c9e49e7ff9ef05a3ac73ddf42b49be4db5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / mqt_core-4.0.0-cp315-abi3t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | mqt_core-4.0.0-cp315-abi3t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 66.6 MB |
| Tags | CPython 3.15 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 abi3t |
|
SHA-256 checksum How to use checksums |
c4181d9f312b36ae7cb816b2f049cb27f9bdcbbb22cc799a021265741349806e
|
|
BLAKE2b-256 checksum How to use checksums |
b7c52c4d14b1099ba0cea8548e6ea828cfd24484dc05b3a3adee01332a0ebc6d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / mqt_core-4.0.0-cp315-abi3t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
| Download URL | mqt_core-4.0.0-cp315-abi3t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 63.0 MB |
| Tags | CPython 3.15 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 abi3t |
|
SHA-256 checksum How to use checksums |
4c0e2c373ac010ae63168ff02597a13f7d9512b7f88dd958aa1c35d835df5cd8
|
|
BLAKE2b-256 checksum How to use checksums |
47638870e9c103514041b836589d80e40a8b8ea9e7c3c3bda54d33a228086718
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / mqt_core-4.0.0-cp315-abi3t-macosx_13_0_arm64.whl
| Download URL | mqt_core-4.0.0-cp315-abi3t-macosx_13_0_arm64.whl |
|---|---|
| Size | 47.6 MB |
| Tags | CPython 3.15 abi3t macOS 13.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
da59eba04d3e5a27ff57684cdf2dfe7b129eca9b9b4262dbcb52545f136ebd51
|
|
BLAKE2b-256 checksum How to use checksums |
0bc5a97c0fcad6cf9cf21acd2b819030fbe29dccd38f792a4d79c413f9bede04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / mqt_core-4.0.0-cp311-abi3-win_arm64.whl
| Download URL | mqt_core-4.0.0-cp311-abi3-win_arm64.whl |
|---|---|
| Size | 34.4 MB |
| Tags | CPython 3.11 Windows ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
1c9dc243cf0349129f4ab0834f2b8d019fc8d077fee6a8be752f354e3f601f2c
|
|
BLAKE2b-256 checksum How to use checksums |
9aed6f8db997a196af6decc7a991636e423bee97d91e69d5e5f7b9e5a7c8c3a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / mqt_core-4.0.0-cp311-abi3-win_amd64.whl
| Download URL | mqt_core-4.0.0-cp311-abi3-win_amd64.whl |
|---|---|
| Size | 40.7 MB |
| Tags | CPython 3.11 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
9e4cb20efab9f221afc1b066fffabaa1d524af776722e9aec914e01c6d1289ae
|
|
BLAKE2b-256 checksum How to use checksums |
218a31230943f935291d2e2ab914b7b9fb15f4c197ff8c2b095bfcdb322ec3ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / mqt_core-4.0.0-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | mqt_core-4.0.0-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 66.6 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
e122b6ff0f5da5240782fcfe099293971f750a01cdda62ec6c3547f3bf69c5c4
|
|
BLAKE2b-256 checksum How to use checksums |
d2c723d2e9a35cc0c8de6d83c666a1bac7659bd95ba5a393d7338addfca26fd3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / mqt_core-4.0.0-cp311-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
| Download URL | mqt_core-4.0.0-cp311-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 63.0 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
4a4f9eeedc1ff39873e86596fcd609a00f142b18893d90fee30c00ab22493fac
|
|
BLAKE2b-256 checksum How to use checksums |
84bb6502d06b340947b37a7663bf7bf9f7ab35ccca51371273d5782a2fb64e57
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / mqt_core-4.0.0-cp311-abi3-macosx_13_0_arm64.whl
| Download URL | mqt_core-4.0.0-cp311-abi3-macosx_13_0_arm64.whl |
|---|---|
| Size | 47.6 MB |
| Tags | CPython 3.11 abi3 macOS 13.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e30d2594da834458a69c3dbeb669471fd8da53aa39a1b5cbe6622a61e293a60a
|
|
BLAKE2b-256 checksum How to use checksums |
3c380d3da2948e6429d63e24ed3222f72a8bb7b94c8e0fdda72393af8406e751
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency log