Skip to main content

PyPI OS License: MIT DOI CI CD Documentation codecov

MQT Logo

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.

Documentation

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

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.

MQT Partner Logos

Thank you to all the contributors who have helped make MQT Core a reality!

Contributors to munich-quantum-toolkit/core

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:

Sponsor the MQT

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.

MQT Funding Footer

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mqt_core-4.0.0.tar.gz (1.6 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

mqt_core-4.0.0-cp315-abi3t-win_arm64.whl (35.4 MB view details)

Uploaded CPython 3.15Windows ARM64

mqt_core-4.0.0-cp315-abi3t-win_amd64.whl (41.9 MB view details)

Uploaded CPython 3.15Windows x86-64

mqt_core-4.0.0-cp315-abi3t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (66.6 MB view details)

Uploaded CPython 3.15manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mqt_core-4.0.0-cp315-abi3t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (63.0 MB view details)

Uploaded CPython 3.15manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

mqt_core-4.0.0-cp315-abi3t-macosx_13_0_arm64.whl (47.6 MB view details)

Uploaded CPython 3.15macOS 13.0+ ARM64

mqt_core-4.0.0-cp311-abi3-win_arm64.whl (34.4 MB view details)

Uploaded CPython 3.11+Windows ARM64

mqt_core-4.0.0-cp311-abi3-win_amd64.whl (40.7 MB view details)

Uploaded CPython 3.11+Windows x86-64

mqt_core-4.0.0-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (66.6 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mqt_core-4.0.0-cp311-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (63.0 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

mqt_core-4.0.0-cp311-abi3-macosx_13_0_arm64.whl (47.6 MB view details)

Uploaded CPython 3.11+macOS 13.0+ ARM64

File details

Details for the file mqt_core-4.0.0.tar.gz.

File metadata

  • Download URL: mqt_core-4.0.0.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mqt_core-4.0.0.tar.gz
Algorithm Hash digest
SHA256 dc621c6c55b9a3b83abe25a64de384bbe2f4ab5439c3470fdf60b1c99edf819a
MD5 cc5bb89c33b1782322c8796b2c95d466
BLAKE2b-256 fe5fba47c58f225be78c1a3fe03815cba64ae369a550f673ce681de2d56585d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for mqt_core-4.0.0.tar.gz:

Publisher: cd.yml on munich-quantum-toolkit/core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mqt_core-4.0.0-cp315-abi3t-win_arm64.whl.

File metadata

  • Download URL: mqt_core-4.0.0-cp315-abi3t-win_arm64.whl
  • Upload date:
  • Size: 35.4 MB
  • Tags: CPython 3.15, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mqt_core-4.0.0-cp315-abi3t-win_arm64.whl
Algorithm Hash digest
SHA256 f55ad64da2532fe4445d9935a6049dbb852498a1ecd4cbf95bcbba26bed5f33b
MD5 e647cf9ab340e488a222a1f9513933c6
BLAKE2b-256 6d75aead550a78f080946e2782e366dce9eff0b8de1ae470e446cb3c9f7a589e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mqt_core-4.0.0-cp315-abi3t-win_arm64.whl:

Publisher: cd.yml on munich-quantum-toolkit/core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mqt_core-4.0.0-cp315-abi3t-win_amd64.whl.

File metadata

  • Download URL: mqt_core-4.0.0-cp315-abi3t-win_amd64.whl
  • Upload date:
  • Size: 41.9 MB
  • Tags: CPython 3.15, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mqt_core-4.0.0-cp315-abi3t-win_amd64.whl
Algorithm Hash digest
SHA256 7c768a26df4eae0bb773edcb9b0a12b85409e0971b027bf089892c33e4e3ed55
MD5 4003ba9f8eb1a58beef153f2b5a34085
BLAKE2b-256 ba539b2a89af07281b5f600c2cfff6c9e49e7ff9ef05a3ac73ddf42b49be4db5

See more details on using hashes here.

Provenance

The following attestation bundles were made for mqt_core-4.0.0-cp315-abi3t-win_amd64.whl:

Publisher: cd.yml on munich-quantum-toolkit/core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mqt_core-4.0.0-cp315-abi3t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mqt_core-4.0.0-cp315-abi3t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c4181d9f312b36ae7cb816b2f049cb27f9bdcbbb22cc799a021265741349806e
MD5 b2e7d2fd03cdf4d8db2da5fefdfb8786
BLAKE2b-256 b7c52c4d14b1099ba0cea8548e6ea828cfd24484dc05b3a3adee01332a0ebc6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mqt_core-4.0.0-cp315-abi3t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: cd.yml on munich-quantum-toolkit/core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mqt_core-4.0.0-cp315-abi3t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mqt_core-4.0.0-cp315-abi3t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4c0e2c373ac010ae63168ff02597a13f7d9512b7f88dd958aa1c35d835df5cd8
MD5 ffa406c069649b8fed087b596a333be5
BLAKE2b-256 47638870e9c103514041b836589d80e40a8b8ea9e7c3c3bda54d33a228086718

See more details on using hashes here.

Provenance

The following attestation bundles were made for mqt_core-4.0.0-cp315-abi3t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: cd.yml on munich-quantum-toolkit/core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mqt_core-4.0.0-cp315-abi3t-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for mqt_core-4.0.0-cp315-abi3t-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 da59eba04d3e5a27ff57684cdf2dfe7b129eca9b9b4262dbcb52545f136ebd51
MD5 38a80019632e95397a3fc4fe1036669b
BLAKE2b-256 0bc5a97c0fcad6cf9cf21acd2b819030fbe29dccd38f792a4d79c413f9bede04

See more details on using hashes here.

Provenance

The following attestation bundles were made for mqt_core-4.0.0-cp315-abi3t-macosx_13_0_arm64.whl:

Publisher: cd.yml on munich-quantum-toolkit/core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mqt_core-4.0.0-cp311-abi3-win_arm64.whl.

File metadata

  • Download URL: mqt_core-4.0.0-cp311-abi3-win_arm64.whl
  • Upload date:
  • Size: 34.4 MB
  • Tags: CPython 3.11+, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mqt_core-4.0.0-cp311-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 1c9dc243cf0349129f4ab0834f2b8d019fc8d077fee6a8be752f354e3f601f2c
MD5 5b52ec25a615d44dd624035e2eb28f79
BLAKE2b-256 9aed6f8db997a196af6decc7a991636e423bee97d91e69d5e5f7b9e5a7c8c3a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for mqt_core-4.0.0-cp311-abi3-win_arm64.whl:

Publisher: cd.yml on munich-quantum-toolkit/core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mqt_core-4.0.0-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: mqt_core-4.0.0-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 40.7 MB
  • Tags: CPython 3.11+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mqt_core-4.0.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 9e4cb20efab9f221afc1b066fffabaa1d524af776722e9aec914e01c6d1289ae
MD5 340dd4f3e247c63bdadc229683c961a2
BLAKE2b-256 218a31230943f935291d2e2ab914b7b9fb15f4c197ff8c2b095bfcdb322ec3ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for mqt_core-4.0.0-cp311-abi3-win_amd64.whl:

Publisher: cd.yml on munich-quantum-toolkit/core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mqt_core-4.0.0-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mqt_core-4.0.0-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e122b6ff0f5da5240782fcfe099293971f750a01cdda62ec6c3547f3bf69c5c4
MD5 e347f3b8a6715546d767af701e534dcc
BLAKE2b-256 d2c723d2e9a35cc0c8de6d83c666a1bac7659bd95ba5a393d7338addfca26fd3

See more details on using hashes here.

Provenance

The following attestation bundles were made for mqt_core-4.0.0-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: cd.yml on munich-quantum-toolkit/core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mqt_core-4.0.0-cp311-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mqt_core-4.0.0-cp311-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4a4f9eeedc1ff39873e86596fcd609a00f142b18893d90fee30c00ab22493fac
MD5 a0dbd95d52b74cbc5ef3d02febaf2ef3
BLAKE2b-256 84bb6502d06b340947b37a7663bf7bf9f7ab35ccca51371273d5782a2fb64e57

See more details on using hashes here.

Provenance

The following attestation bundles were made for mqt_core-4.0.0-cp311-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: cd.yml on munich-quantum-toolkit/core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mqt_core-4.0.0-cp311-abi3-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for mqt_core-4.0.0-cp311-abi3-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 e30d2594da834458a69c3dbeb669471fd8da53aa39a1b5cbe6622a61e293a60a
MD5 dfb1ef376af1f79f92992cc3f3bb9f3e
BLAKE2b-256 3c380d3da2948e6429d63e24ed3222f72a8bb7b94c8e0fdda72393af8406e751

See more details on using hashes here.

Provenance

The following attestation bundles were made for mqt_core-4.0.0-cp311-abi3-macosx_13_0_arm64.whl:

Publisher: cd.yml on munich-quantum-toolkit/core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

4.0.0 This release

11 files

3.10.0

11 files

3.9.2

31 files

3.9.1

31 files

3.9.0

31 files

3.8.0

25 files

3.7.0

25 files

3.6.1

25 files

3.6.0

25 files

3.5.1

25 files

3.5.0

25 files

3.4.1

25 files

3.4.0

25 files

3.3.3

43 files

3.3.2

43 files

3.3.1

43 files

3.3.0

43 files

3.2.1

49 files

3.2.0

49 files

3.1.0

37 files

3.0.2

31 files

3.0.1

31 files

3.0.0

31 files

2.7.0

43 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page