Skip to main content

PyPI OS License: MIT CI Bindings codecov

MQT QMAP - A tool for Quantum Circuit Mapping written in C++

A tool for quantum circuit mapping developed by the Chair for Design Automation at the Technical University of Munich based on methods proposed in [1] , [2] , [3] , [4].

[1] A. Zulehner, A. Paler, and R. Wille. An Efficient Methodology for Mapping Quantum Circuits to the IBM QX Architectures. IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems (TCAD), 2018.

[2] R. Wille, L. Burgholzer, and A. Zulehner. Mapping Quantum Circuits to IBM QX Architectures Using the Minimal Number of SWAP and H Operations. In Design Automation Conference (DAC), 2019.

[3] S. Hillmich, A. Zulehner, and R. Wille. Exploiting Quantum Teleportation in Quantum Circuit Mapping. In Asia and South Pacific Design Automation Conference (ASP-DAC), 2021.

[4] L. Burgholzer, S. Schneider, and R. Wille. Limiting the Search Space in Optimal Quantum Circuit Mapping. In Asia and South Pacific Design Automation Conference (ASP-DAC), 2022.

QMAP is part of the Munich Quantum Toolkit (MQT; formerly known as JKQ and developed by the Institute for Integrated Circuits at the Johannes Kepler University Linz). It builds upon our quantum functionality representation (QFR) and can be used for mapping quantum circuits in any of the following formats:

to any given architecture with the following available methods:

  • Heuristic Mapper: Heuristic solution based on A* search. For details see [1] and [3].
  • Exact Mapper: Exact solution utilizing the SMT Solver Z3. For details see [2] and [4].

Note that, at the moment, circuits to be mapped are assumed to be already decomposed into elementary gates supported by the targeted device. More specifically, circuits must not contain gates acting on more than two qubits.

For more information, please visit cda.cit.tum.de/research/ibm_qx_mapping/.

If you have any questions, feel free to contact us via quantum.cda@xcit.tum.de or by creating an issue on GitHub.

Usage

MQT QMAP is developed as a C++ library with an easy to use Python interface.

  • In order to make the library as easy to use as possible (without compilation), we provide pre-built wheels for most common platforms (64-bit Linux, MacOS, Windows). These can be installed using
    pip install mqt.qmap
    
    However, in order to get the best performance out of QMAP, it is recommended to build it locally from the source distribution (see system requirements) via
    pip install  mqt.qmap --no-binary mqt.qmap
    
    This enables platform specific compiler optimizations that cannot be enabled on portable wheels.
  • Once installed, start using it in Python:
    from mqt import qmap
    circ_mapped, results = qmap.compile(circ, arch)
    

where circ is either a Qiskit QuantumCircuit object or the path to an input file (in any of the formats listed above) and arch is either

  • a Qiskit Backend instance such as those defined under qiskit.providers.fake_provider (recommended),
  • one of the pre-defined architectures (see below), or
  • the path to a file containing the number of qubits and a line-by-line enumeration of the qubit connections.

Architectures that are available per default (either as strings or under qmap.Arch.<...>) include:

  • IBM_QX4 (5 qubit, directed bow tie layout)
  • IBM_QX5 (16 qubit, directed ladder layout)
  • IBMQ_Yorktown (5 qubit, undirected bow tie layout)
  • IBMQ_London (5 qubit, undirected T-shape layout)
  • IBMQ_Bogota (5 qubit, undirected linear chain layout)
  • IBMQ_Casablanca (7 qubit, undirected H-shape layout)
  • IBMQ_Tokyo (20 qubit, undirected brick-like layout)
  • Rigetti_Agave (8 qubit, undirected ring layout)
  • Rigetti_Aspen (16 qubit, undirected dumbbell layout)

Whether the heuristic (default) or the exact mapper is used can be controlled by passing method="heuristic" or method="exact" to the compile function.

There are several configuration options that can be passed to the compile function:

  • The heuristic mapper offers the initial_layout option, which allows to choose one of the following strategies for choosing an initial layout:

    • identity: map logical qubit q_i to physical qubit Q_i,
    • static: determine fixed initial layout statically at the start of mapping,
    • dynamic (default): determine initial layout on demand during the mapping (this is the only one compatible with teleportation).
  • Both, the exact and the heuristic mapper also offer the layering option, which allows to choose one of the following strategies for partitioning the circuit:

    • individual_gates (default): consider each gate separately,
    • disjoint_qubits: consider gates acting on disjoint qubits as a layer,
    • odd_gates: group pairs of gates. (Note that this strategy was only tested for IBM QX4 with the exact mapping tool and may not work on different architectures)
    • qubit_triangle: add gates to a layer, as long as no more than three qubits are involved. (Note that this strategy only works if the architecture's coupling map contains a triangle, e.g. IBM QX4, and was only tested using the exact mapping tool)
  • The exact mapper offers the encoding option, which allows to choose a different encoding for at-most-one and exactly-one constraints:

    • naive (default): use naive encoding for constraints
    • commander: use commander encoding for at-most-one and exactly-one constraints
    • bimander: use bimander encoding for at-most-one and commander for exactly-one constraints

    As the commander encoding can use different strategies to group the variables, there are different commander_grouping options:

    • halves (default): each group contains half of the total variables
    • logarithm: each group contains at most log2 of the total variables
    • fixed2: each group contains exactly two variables
    • fixed3: each group contains exactly three variables
  • Per default, the exact mapper searches for a suitable mapping by considering every possible (connected) subset of qubits instead of the whole architecture at once. This can be disabled by setting use_subsets=False.

  • The exact mapper also offers the swap_reduction option to enable limiting the number of swaps considered per layer ( as proposed in [4] , which offers the following options:

    • none: consider whole search space
    • coupling_limit (default): calculate the max swaps per layer based on the longest path of current choice of qubits, or if use_subsets is disabled considers the whole architecture
    • increasing: start with 0 swaps and geometrically increase the number of swaps per layer
    • custom: set a custom limit, needs the swap_limit option to set the limit

    Using the use_bdd option, the mapping utilizes BDDs instead of simply removing the permutations from the core routine. This option is not generally advised, as it is more resource intensive in most cases, but is something to try in cases of timeout.

Command-line Executable

QMAP also provides two standalone executables with command-line interface called qmap_heuristic and qmap_exact. They provide the same options as the Python module as flags. Per default, this produces JSON formatted output. In general, we recommend to use the Python approach described above, as these commandline executables might not be maintained in the future.

System Requirements

Building (and running) is continuously tested under Linux, MacOS, and Windows using the latest available system versions for GitHub Actions. However, the implementation should be compatible with any current C++ compiler supporting C++17 and a minimum CMake version of 3.14.

boost/program_options >= 1.50 is required for building the commandline applications of the mapping tool.

In order to build the exact mapping tool and for the Python bindings to work, the SMT Solver Z3 >= 4.8.3 has to be installed and the dynamic linker has to be able to find the library. This can be accomplished in a multitude of ways:

  • Under Ubuntu 20.04 and newer: sudo apt-get install libz3-dev
  • Under macOS: brew install z3
  • Alternatively: pip install z3-solver and then append the corresponding path to the library path (LD_LIBRARY_PATH under Linux, DYLD_LIBRARY_PATH under macOS), e.g. via
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(python -c "import z3; print(z3.__path__[0]+'/lib')")
    
  • Download pre-built binaries from https://github.com/Z3Prover/z3/releases and copy the files to the respective system directories
  • Build Z3 from source and install it to the system

Library Organisation

Internally the MQT QMAP library works in the following way

  • Import input file into a qc::QuantumComputation object
    qc::QuantumComputation qc{};
    std::string circ = "<PATH_TO_CIRCUIT_FILE>";
    qc.import(circ);
    
  • Import architecture file into a Architecture object
    Architecture arch{};
    std::string cm = "<PATH_TO_ARCH_FILE>";
    arch.loadCouplingMap(cm);
    
  • (Optional) Import calibration file into arch object
    std::string cal = "<PATH_TO_CAL_FILE>";
    arch.loadProperties(cal);
    
  • Depending on Method, instantiate a HeuristicMapper or ExactMapper object with the circuit and the architecture
    HeuristicMapper mapper(qc, arch);
    
    or
    ExactMapper mapper(qc, arch);
    
  • Set configuration options, e.g.,
    Configuration config{};
    config.layeringStrategy = Layering::DisjointQubits;
    
  • Perform the actual mapping
    mapper.map(config);
    
  • Dump the mapped circuit
    mapper.dumpResult("<PATH_TO_OUTPUT_FILE>");
    
  • Print the results
    mapper.printResult(std::cout);
    

Configure, Build, and Install

To start off, clone this repository using

git clone --recurse-submodules -j8 https://github.com/cda-tum/qmap 

Note the --recurse-submodules flag. It is required to also clone all the required submodules. If you happen to forget passing the flag on your initial clone, you can initialize all the submodules by executing git submodule update --init --recursive in the main project directory.

Our projects use CMake as the main build configuration tool. Building a project using CMake is a two-stage process. First, CMake needs to be configured by calling

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release

This tells CMake to search the current directory . (passed via -S) for a CMakeLists.txt file and process it into a directory build (passed via -B). The flag -DCMAKE_BUILD_TYPE=Release tells CMake to configure a Release build (as opposed to, e.g., a Debug build).

After configuring with CMake, the project can be built by calling

cmake --build build --config Release

This tries to build the project in the build directory (passed via --build). Some operating systems and developer environments explicitly require a configuration to be set, which is why the --config flag is also passed to the build command. The flag --parallel <NUMBER_OF_THREADS> may be added to trigger a parallel build.

Building the project this way generates

  • the heuristic library libqmap_heuristic_lib.a (Unix) / qmap_heuristic_lib.lib (Windows) in the build/src directory
  • the heuristic mapper commandline executable qmap_heuristic in the build/apps directory (only available if Boost is found)
  • a test executable qmap_heuristic_test containing a small set of unit tests for the heuristic mapper in the build/test directory
  • the exact library libqmap_exact_lib.a (Unix) / qmap_exact_lib.lib (Windows) in the build/src directory (only available if Z3 is found)
  • the exact mapper commandline executable qmap_exact in the build/apps directory (only available if Boost and Z3 is found)
  • a test executable qmap_exact_test containing a small set of unit tests for the exact mapper in the build/test directory (only available if Z3 is found)

Extending the Python Bindings

To extend the Python bindings you can locally install the package in edit mode, so that changes in the Python code are instantly available. The following example assumes you have a virtual environment set up and activated.

(venv) $ pip install cmake
(venv) $ pip install --editable .

If you change parts of the C++ code, you have to run the second line to make the changes visible in Python.

Reference

If you use our tool for your research, we will be thankful if you refer to it by citing the appropriate publications.

For the heuristic mapping, please cite

@article{DBLP:journals/tcad/ZulehnerPW19,
  author    = {Alwin Zulehner and Alexandru Paler and Robert Wille},
  title     = {An Efficient Methodology for Mapping Quantum Circuits to the {IBM QX} Architectures},
  journal   = {{IEEE} Transactions on Computer-Aided Design of Integrated Circuits and Systems},
  volume    = {38},
  number    = {7},
  pages     = {1226--1236},
  year      = {2019}
}

For the teleportation in the heuristic mapping, please cite

@inproceedings{DBLP:conf/aspdac/HillmichZW21,
  author    = {Stefan Hillmich and Alwin Zulehner and Robert Wille},
  title     = {Exploiting Quantum Teleportation in Quantum Circuit Mapping},
  booktitle = {Asia and South Pacific Design Automation Conference},
  pages     = {792--797},
  publisher = {{ACM}},
  year      = {2021}
}

For the exact mapping, please cite

@inproceedings{DBLP:conf/dac/WilleBZ19,
  author    = {Robert Wille and Lukas Burgholzer and Alwin Zulehner},
  title     = {Mapping Quantum Circuits to {IBM QX} Architectures Using the Minimal Number of {SWAP} and {H} Operations},
  booktitle = {Design Automation Conference},
  publisher = {{ACM}},
  year      = {2019}
}

For the search space limitation in the exact mapping, please cite

@inproceedings{burgholzer2022limitingSearchSpace,
  author    = {Lukas Burgholzer and Sarah Schneider and Robert Wille},
  title     = {Limiting the Search Space in Optimal Quantum Circuit Mapping},
  booktitle = {Asia and South Pacific Design Automation Conference},
  year      = {2022}
}

Metadata

Release files for mqt-qmap 1.9.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mqt-qmap 1.9.1
File Size Uploaded
mqt.qmap-1.9.1.tar.gz 4.9 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for mqt-qmap 1.9.1
File
mqt.qmap-1.9.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
mqt.qmap-1.9.1-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
mqt.qmap-1.9.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
mqt.qmap-1.9.1-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details
mqt.qmap-1.9.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
mqt.qmap-1.9.1-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
mqt.qmap-1.9.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
mqt.qmap-1.9.1-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details
mqt.qmap-1.9.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
mqt.qmap-1.9.1-cp39-cp39-manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64 Details
mqt.qmap-1.9.1-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
mqt.qmap-1.9.1-cp39-cp39-macosx_10_15_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.15+ x86-64 Details
mqt.qmap-1.9.1-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
mqt.qmap-1.9.1-cp38-cp38-manylinux_2_28_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.28+ x86-64 Details
mqt.qmap-1.9.1-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
mqt.qmap-1.9.1-cp38-cp38-macosx_10_15_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.15+ x86-64 Details
mqt.qmap-1.9.1-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
mqt.qmap-1.9.1-cp37-cp37m-manylinux_2_28_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.28+ x86-64 Details
mqt.qmap-1.9.1-cp37-cp37m-macosx_10_15_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64 Details

Total release size: 167.7 MB

Release files / mqt.qmap-1.9.1.tar.gz

Download URL mqt.qmap-1.9.1.tar.gz
Size 4.9 MB
Tags Source
SHA-256 checksum
How to use checksums
b216b1ca700eb1e0290bcdf05f4204bb60c616fabb30086d6defe66940c6bb49
BLAKE2b-256 checksum
How to use checksums
132e89b3e4acaa3292b1050466fc78578032b3e1dd69fc12466f7835e88ae43c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp311-cp311-win_amd64.whl

Download URL mqt.qmap-1.9.1-cp311-cp311-win_amd64.whl
Size 6.6 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
4c74f75b0789d1e254d47860b7a25753480d552bb21631e5236e245f2b1b2bd7
BLAKE2b-256 checksum
How to use checksums
4ed6e13beb03c4930745f2f9f017ac5eaca86f6a1d4e6195489769e5a07c1f01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL mqt.qmap-1.9.1-cp311-cp311-manylinux_2_28_x86_64.whl
Size 12.6 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8931970fb342433e2e3784ff0f4d73f93628ea65cfba90ecdfc3dfccdec08425
BLAKE2b-256 checksum
How to use checksums
aee78ba07b818609aa65e50ea4261826c57615bcb1c97c850191c12cefb89b48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL mqt.qmap-1.9.1-cp311-cp311-macosx_11_0_arm64.whl
Size 6.9 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7fb847b6ab0cc6cba2baa063e4995f4c3a4a8ee5bc6c2953e2ac7d5b5cbbf59c
BLAKE2b-256 checksum
How to use checksums
f382fcf8ee69c840d5e916dc679fa2d50382d2631941e660b51e35d7e146c1ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp311-cp311-macosx_10_15_x86_64.whl

Download URL mqt.qmap-1.9.1-cp311-cp311-macosx_10_15_x86_64.whl
Size 7.8 MB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
c621bec1ea0cc936900517309dcf479099f86346108c314d649141047b4081e0
BLAKE2b-256 checksum
How to use checksums
910691b17f1dab854bdc3870c46ee7f28357e8e34483dcf273ba9df3d2ad32ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp310-cp310-win_amd64.whl

Download URL mqt.qmap-1.9.1-cp310-cp310-win_amd64.whl
Size 6.6 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
3c980772f423478fb62c8134627abd156699369635bc038b07bdd8565f58987e
BLAKE2b-256 checksum
How to use checksums
b7076ebdd318e8e4149c09ed11b56f98de96ce323eed7203912a7434bfdec754
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL mqt.qmap-1.9.1-cp310-cp310-manylinux_2_28_x86_64.whl
Size 12.6 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a743330565b012a87db4677f785cdc1c06168faecf8394002865983949ed2676
BLAKE2b-256 checksum
How to use checksums
8cda8d17811a25afd51dc6d29f9d30b5976f76a7acc8a0a8f5ff7188ef7af4af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp310-cp310-macosx_11_0_arm64.whl

Download URL mqt.qmap-1.9.1-cp310-cp310-macosx_11_0_arm64.whl
Size 6.9 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b76c78cac3d9f500fc28d69c68f8e43cd9718f6ddbbc3a2bb44b0727498c54de
BLAKE2b-256 checksum
How to use checksums
77c17b7ced0a5a537f67fc46d30b3d18c76fdaad66ea6d18a195f8575404b5ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp310-cp310-macosx_10_15_x86_64.whl

Download URL mqt.qmap-1.9.1-cp310-cp310-macosx_10_15_x86_64.whl
Size 7.8 MB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
d67a25f24221aa400c5b5eb762848aaaa2a0928f662c088a502e5367badf1ff0
BLAKE2b-256 checksum
How to use checksums
f3d781d174726de3a1b0891ddf093e193eb6d584593e7b42551bb2d3b255ef63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp39-cp39-win_amd64.whl

Download URL mqt.qmap-1.9.1-cp39-cp39-win_amd64.whl
Size 6.6 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
53b6f9f1a91616223c925be5c120685d26945bd4c5c7df8cdeb1bd0012aa5962
BLAKE2b-256 checksum
How to use checksums
575fa2e5cfa7f677986d3d8177f7627da6491f64acee81de9cd9119e21c775b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp39-cp39-manylinux_2_28_x86_64.whl

Download URL mqt.qmap-1.9.1-cp39-cp39-manylinux_2_28_x86_64.whl
Size 12.6 MB
Tags CPython 3.9 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a4122da321635626aacc88893451c9d86689e5bc8706f7223daf8aadf762bc45
BLAKE2b-256 checksum
How to use checksums
53b27caa5244f48001cbd0d1fbfa09823c1850f3a5c5a9eeb940a28660c9196c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp39-cp39-macosx_11_0_arm64.whl

Download URL mqt.qmap-1.9.1-cp39-cp39-macosx_11_0_arm64.whl
Size 6.9 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8550e899c86c6c45b8d1e384ef299e3176e767efab583cadb4d4b56f7e3b4da4
BLAKE2b-256 checksum
How to use checksums
ccd58fa032b7744a6f518b51512b010d25cb2e59b668da8e57f0bbbdfc4dec59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp39-cp39-macosx_10_15_x86_64.whl

Download URL mqt.qmap-1.9.1-cp39-cp39-macosx_10_15_x86_64.whl
Size 7.8 MB
Tags CPython 3.9 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
ac8c9837f1a3356ca32a06a3d373b8310d45dce0c7ded786ddeca165883ad0ed
BLAKE2b-256 checksum
How to use checksums
8f64cfd743d04cf74f348bdcf6cf68e1b61c9912978a23af06eaab17eda8af9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp38-cp38-win_amd64.whl

Download URL mqt.qmap-1.9.1-cp38-cp38-win_amd64.whl
Size 6.6 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
923ddcaffb4ae49d9c0c6695cd6eadbc3952777d9499df8e7438c7d14f577141
BLAKE2b-256 checksum
How to use checksums
d296399b484b8077ff1fd23f2d30979767faa580f4aff55abb43971ed4ecffa7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp38-cp38-manylinux_2_28_x86_64.whl

Download URL mqt.qmap-1.9.1-cp38-cp38-manylinux_2_28_x86_64.whl
Size 12.6 MB
Tags CPython 3.8 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
465e992494d0bff472cb1a7d64184fd8b0002ecda93d59557c56a4ca63bf870a
BLAKE2b-256 checksum
How to use checksums
c6c30cc6e69ed9a3cbc60eb08364e63a38da1c6b391149123e4e38e0e3f85f37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp38-cp38-macosx_11_0_arm64.whl

Download URL mqt.qmap-1.9.1-cp38-cp38-macosx_11_0_arm64.whl
Size 6.9 MB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2b89b44d5f919cf9374a38f6e02eb0068b11b4e370ec6df0319800799119fd25
BLAKE2b-256 checksum
How to use checksums
0020650eb7fd6278eb7c9e5ac6d6254e3b539ca1738835d93c3b203b9b9209c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp38-cp38-macosx_10_15_x86_64.whl

Download URL mqt.qmap-1.9.1-cp38-cp38-macosx_10_15_x86_64.whl
Size 7.8 MB
Tags CPython 3.8 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
6074dcab54d735235a685175d1a2ef5ff3013af7e76fedef73b7674261bb78bf
BLAKE2b-256 checksum
How to use checksums
5351338626aee71081c670cb468122788b899ce1f06e3b8ee50c5f4f3af4c7f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp37-cp37m-win_amd64.whl

Download URL mqt.qmap-1.9.1-cp37-cp37m-win_amd64.whl
Size 6.6 MB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
3c2227e6b60f378edc55876a4408c4bfe3b358d27223171419d10b1e2d5041d9
BLAKE2b-256 checksum
How to use checksums
60a5105103396e95b42900d36eba963076337ededb6d9be8287279abeeec6645
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp37-cp37m-manylinux_2_28_x86_64.whl

Download URL mqt.qmap-1.9.1-cp37-cp37m-manylinux_2_28_x86_64.whl
Size 12.6 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9550169b73b86158d3d2f3ed547806ac7db65c50d7f5a04a42e2c9e336cbdcce
BLAKE2b-256 checksum
How to use checksums
a7fca3638ec4fb30f93ac750a87370cf779a4edd18f185864b83ea2634f75048
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qmap-1.9.1-cp37-cp37m-macosx_10_15_x86_64.whl

Download URL mqt.qmap-1.9.1-cp37-cp37m-macosx_10_15_x86_64.whl
Size 7.8 MB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
fa70d730d195c397581715dba66606b6a0694fac57a01706698990106d69f004
BLAKE2b-256 checksum
How to use checksums
4e8904a31364604f2151008200846f5e3f503575ba5940b7108371ff82c59ed8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13
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