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, e.g., the 5-qubit, T-shaped IBMQ London architecture, which is specified by the coupling map

5
0 1
1 0
1 2
2 1
1 3
3 1
3 4
4 3

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.qmap import *
    results = 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 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 (corresponding files are available in extern/architectures/):

  • 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.loadCalibrationData(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.8.2

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.8.2
File Size Uploaded
mqt.qmap-1.8.2.tar.gz 2.3 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for mqt-qmap 1.8.2
File
mqt.qmap-1.8.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
mqt.qmap-1.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
mqt.qmap-1.8.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
mqt.qmap-1.8.2-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details
mqt.qmap-1.8.2-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
mqt.qmap-1.8.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
mqt.qmap-1.8.2-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
mqt.qmap-1.8.2-cp39-cp39-macosx_10_15_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.15+ x86-64 Details
mqt.qmap-1.8.2-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
mqt.qmap-1.8.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
mqt.qmap-1.8.2-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
mqt.qmap-1.8.2-cp38-cp38-macosx_10_15_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.15+ x86-64 Details
mqt.qmap-1.8.2-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
mqt.qmap-1.8.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details
mqt.qmap-1.8.2-cp37-cp37m-macosx_10_15_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64 Details
mqt.qmap-1.8.2-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
mqt.qmap-1.8.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64 Details
mqt.qmap-1.8.2-cp36-cp36m-macosx_10_15_x86_64.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.15+ x86-64 Details

Total release size: 155.1 MB

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

Download URL mqt.qmap-1.8.2.tar.gz
Size 2.3 MB
Tags Source
SHA-256 checksum
How to use checksums
785522325c2c29984320bb7c5cc567e91851ac867757d0272cbe29687d105712
BLAKE2b-256 checksum
How to use checksums
e97d529952c8a9af588658417f560ef3192a1cf5c19be321236b6e06eccabeb1
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.8.2-cp310-cp310-win_amd64.whl

Download URL mqt.qmap-1.8.2-cp310-cp310-win_amd64.whl
Size 6.5 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
3b16e57a5acbbdad5d51ffe7ee591668569cfd9adce8d3e4abc41a1cdec8c46c
BLAKE2b-256 checksum
How to use checksums
afceb270b5fb11391b921faf0e52312d36bad8ce6888e6c1af27e963a722c9ed
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.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qmap-1.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 12.4 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
0f7e1fd40cfcf7a6eea1a666b33d08fd2fc5ec42f3d9230a08dfc572fdaa7fdc
BLAKE2b-256 checksum
How to use checksums
27baae10831d1c1eaa7172194e4b4e00ed762e4d8935cb276bda064d96d5bc91
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.8.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL mqt.qmap-1.8.2-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
b4bf3557bfb45ce174da6fbf9f9343218ad1ecbfca320bcad69b4f42eda4d1da
BLAKE2b-256 checksum
How to use checksums
4a9cf4f0184f32e907e60d977857393ffe4b80264f2e170f77876e461a3bd4d1
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.8.2-cp310-cp310-macosx_10_15_x86_64.whl

Download URL mqt.qmap-1.8.2-cp310-cp310-macosx_10_15_x86_64.whl
Size 7.5 MB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
378e370c49f05bb05972df0db03eb27e55e818a0735ac14df352221f394a9add
BLAKE2b-256 checksum
How to use checksums
27eee4339e98f22ad0349531e4486c651e7234b16f5a632b7c8a4dec98b374c2
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.8.2-cp39-cp39-win_amd64.whl

Download URL mqt.qmap-1.8.2-cp39-cp39-win_amd64.whl
Size 6.5 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
fbed1ca6b76bcd8fe0348ad4f3a8407f467a81cadc25042801f81afc1a65867d
BLAKE2b-256 checksum
How to use checksums
71925c3f7967d76b3a885629dfaa5e25570406ef7368776d8dfb1f8682c3bac5
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.8.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qmap-1.8.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 12.4 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3ee46cec86202ff132540f0bbd18583a5fbf9e0430cb1e703c9ec390b0b99dcd
BLAKE2b-256 checksum
How to use checksums
c8b63f2e6194e45f691f3071ba3a02e148c6856329c6100fb31cd3c80b027cd5
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.8.2-cp39-cp39-macosx_11_0_arm64.whl

Download URL mqt.qmap-1.8.2-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
fc50928c85f5c695455455c150605a736bde79160492c2d230821dd1165b471c
BLAKE2b-256 checksum
How to use checksums
a96c7e543dcfe563e787e007d79b89d77b1e2776f35d0ab222abc9796c489f9d
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.8.2-cp39-cp39-macosx_10_15_x86_64.whl

Download URL mqt.qmap-1.8.2-cp39-cp39-macosx_10_15_x86_64.whl
Size 7.5 MB
Tags CPython 3.9 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
c6a947f84bdecbbbdc2ebec7ee9353219af852bc10e57445d1f76d3e5d2ac550
BLAKE2b-256 checksum
How to use checksums
1011c84f36196b30ccb34a6c3493e6ae880cd3ad750b3c69bd6afc893170dce7
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.8.2-cp38-cp38-win_amd64.whl

Download URL mqt.qmap-1.8.2-cp38-cp38-win_amd64.whl
Size 6.5 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
a0dc8268593c05b20c419cd22056c499ff4ac31dc23eef82bc541361b283e5b7
BLAKE2b-256 checksum
How to use checksums
20b6375ff4587e3c667792bdd05bcaf77966e705e3fca7ee59a67378eb38aa85
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.8.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qmap-1.8.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 12.4 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
db6bec164a9440db418e441acda41a699ef3628590c590a40e4ebd7656b8a70a
BLAKE2b-256 checksum
How to use checksums
f7c084ea3cb8fe78fdaa7158cb60ce9b9595fd6c3337de4d2e29729fb75b5920
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.8.2-cp38-cp38-macosx_11_0_arm64.whl

Download URL mqt.qmap-1.8.2-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
3de30f7cda5ae61d557e66cc3603c2c63bb12913d1a45fe562989aed69e25ca3
BLAKE2b-256 checksum
How to use checksums
7c3689d9ddaaff689089e4ad03b227cf2b0484378596ce54e5d86c75564c684a
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.8.2-cp38-cp38-macosx_10_15_x86_64.whl

Download URL mqt.qmap-1.8.2-cp38-cp38-macosx_10_15_x86_64.whl
Size 7.5 MB
Tags CPython 3.8 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
7cdffada0cbc1b6af83dd86ebbc53aff75d9082cdd1a55ac5f4bef34da16e74e
BLAKE2b-256 checksum
How to use checksums
60a01a1942150f9aa8c40c8b06ae3f6bfaff3598c100716811481a2ac8f405ec
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.8.2-cp37-cp37m-win_amd64.whl

Download URL mqt.qmap-1.8.2-cp37-cp37m-win_amd64.whl
Size 6.5 MB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
ebcef34794f5f49da9e3fdd7ecc9117f5a78dc524fa7b06b1564b66d613202ce
BLAKE2b-256 checksum
How to use checksums
9e4d4aa54c68922c2829c889cc3761b34da8c149e2c0650837539101d555a52d
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.8.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qmap-1.8.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 12.4 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
94de10645542a9b389e35296cbfa030fb16a41cec7f0f3285b911402c02c684b
BLAKE2b-256 checksum
How to use checksums
8351223f61856a603fef359fac211c45becc1828c742880d2b75586dca80f676
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.8.2-cp37-cp37m-macosx_10_15_x86_64.whl

Download URL mqt.qmap-1.8.2-cp37-cp37m-macosx_10_15_x86_64.whl
Size 7.5 MB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
2ad0923d50bfeecc893687999602b8f3c66d756e65ad23c01edff06f690313a2
BLAKE2b-256 checksum
How to use checksums
cc0b6f38b8ce3972e6200d46dea1a2d34b750fbf9163d30dbcf31093e11a9bf6
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.8.2-cp36-cp36m-win_amd64.whl

Download URL mqt.qmap-1.8.2-cp36-cp36m-win_amd64.whl
Size 6.5 MB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
20e9facaec9a13b91ba0690e6068874c7bb51f7dc4ee5e9dd4b69a90834a9e24
BLAKE2b-256 checksum
How to use checksums
ef3aa440c2648ef8f251f1048ec3ff36ffb744a3e829099a59ba10485fd1777b
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.8.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qmap-1.8.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 12.4 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
38bbb477942164dc69ffa21239cd8467a628bd75ab9c4bc8fbf097c2642b196e
BLAKE2b-256 checksum
How to use checksums
7cd2254406cbe1ead8aca85c15aa5c20cbde06c16f7ea54e844e0081062b311d
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.8.2-cp36-cp36m-macosx_10_15_x86_64.whl

Download URL mqt.qmap-1.8.2-cp36-cp36m-macosx_10_15_x86_64.whl
Size 7.5 MB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
05aecbceaef8331b9cee1336ba11b06586d65913d2efc78ff08be5e784059d0c
BLAKE2b-256 checksum
How to use checksums
b18e021a8082ca1b4c5e7da592ac32634724b30e238ffafab96184d93c35a76c
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