Skip to main content

JKQ DDSIM - A quantum simulator based on decision diagrams written in C++

Project description

>> Quickstart Guide

Build Status codecov License: MIT toolset: JKQ

JKQ DDSIM - A quantum simulator based on decision diagrams written in C++

A tool for quantum circuit simulation by the Institute for Integrated Circuits at the Johannes Kepler University Linz and a part of the JKQ toolset.

The tool builds upon our quantum functionality representation (QFR) which in turns builds on our decision diagram (DD) package.

For more information, on our work on quantum circuit simulation please visit iic.jku.at/eda/research/quantum_simulation or, for more information on our work on noise-aware quantum circuit simulation, please visit iic.jku.at/eda/research/noise_aware_simulation.

If you have any questions, feel free to contact us via iic-quantum@jku.at or by creating an issue on GitHub.

Table of contents

Usage

This tool can be used for simulating quantum circuits provided in any of the following formats:

The format is automatically detected through the file extension.

The following additional algorithms are integrated in QFR and hence available in the simulator as well:

  • Quantum Fourier Transformation
  • Bernstein-Vazirani
  • GHZ / Entanglement
  • Grover's search (see --help for different call options)

For details on the available methods we refer to iic.jku.at/eda/research/quantum_simulation.

The simulator is based on the references listed below and can either be used as a standalone executable with command-line interface, or as a library for the incorporation in other projects.

Using the Python Bindings / Backend for Qiskit

The backend for Qiskit is available via PyPi. The following code gives an example on the usage:

from qiskit import *
from jkq import ddsim

circ = QuantumCircuit(3)
circ.h(0)
circ.cx(0, 1)
circ.cx(0, 2)

print(circ.draw(fold=-1))

provider = ddsim.JKQProvider()

backend = provider.get_backend('qasm_simulator')

job = execute(circ, backend, shots=10000)
result = job.result()

counts = result.get_counts(circ)
print(counts)

The simulator may be used in a more stand-alone fashion:

...
sim = ddsim.CircuitSimulator(circ)
print(sim.simulate(1000))

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 the commandline interface for ddsim_simple and ddsim_noise_aware. The ddsim_noise_aware further requires Threads::Threads.

Clone, Build, and Run

The code uses quite a few submodules, which have to be initialized. There are two ways to do this:

  1. While cloning the repository with the --recurse-submodules option to git clone. For HTTPS access: git clone --recurse-submodules https://github.com/iic-jku/ddsim/.
  2. After cloning with git submodule update --init --recursive.

Library

For building the library alone the CMake target ddsim is available. In CMake from version 3.13 you can use the following commands:

$ cmake -DCMAKE_BUILD_TYPE=Release -S . -B build
$ cmake --build build --config Release --target ddsim

Windows users need to configure CMake by calling

$ cmake -A x64 -DCMAKE_BUILD_TYPE=Release -S . -B build
$ cmake --build build --config Release --target ddsim

instead.

The library can be used by including, for example, the QFRSimulator.hpp header file and

std::string file1 = "PATH_TO_FILE_1.EXT";
qc::QuantumComputation qc1(file1);

qc::SimpleSimulator sim(qc1);
sim.Simulate();
auto samples = sim.MeasureAllNonCollapsing(1000);
/* Use the results */

Executable Simulator

To build the executable simulator, build the ddsim_simple CMake target (which requires boost/program_options) and run the resulting executable with options according to your needs.

The standalone executable is launched in the following way, showing available options:

$ ./ddsim_simple --help
JKQ DDSIM by https://iic.jku.at/eda/ -- Allowed options:
  -h [ --help ]                         produce help message
  --seed arg (=0)                       seed for random number generator (default zero is possibly directly used as seed!)
  --shots arg (=0)                      number of measurements (if the algorithm does not contain non-unitary gates, weak simulation is used)
  --pv                                  display the state vector as list of pairs (real and imaginary parts)
  --ps                                  print simulation stats (applied gates, sim. time, and maximal size of the DD)
  --pm                                  print measurement results
  --verbose                             Causes some simulators to print additional information to STDERR
  --simulate_file arg                   simulate a quantum circuit given by file (detection by the file extension)
  --simulate_qft arg                    simulate Quantum Fourier Transform for given number of qubits
  --simulate_ghz arg                    simulate state preparation of GHZ state for given number of qubits
  --step_fidelity arg (=1)              target fidelity for each approximation run (>=1 = disable approximation)
  --steps arg (=1)                      number of approximation steps
  --simulate_grover arg                 simulate Grover's search for given number of qubits with random oracle
  --simulate_grover_emulated arg        simulate Grover's search for given number of qubits with random oracle and emulation
  --simulate_grover_oracle_emulated arg simulate Grover's search for given number of qubits with given oracle and emulation
  --simulate_shor arg                   simulate Shor's algorithm factoring this number
  --simulate_shor_coprime arg (=0)      coprime number to use with Shor's algorithm (zero randomly generates a coprime)
  --simulate_shor_no_emulation          Force Shor simulator to do modular exponentiation instead of using emulation (you'll usually want emulation)
  --simulate_fast_shor arg              simulate Shor's algorithm factoring this number with intermediate measurements
  --simulate_fast_shor_coprime arg (=0) coprime number to use with Shor's algorithm (zero randomly generates a coprime)

The output is JSON-formatted as shown below (with hopefully intuitive naming).

$ cmake -DCMAKE_BUILD_TYPE=Release -S . -B build
$ cmake --build build --config Release --target ddsim_simple
$ ./build/ddsim_simple --simulate_ghz 4 --shots 1000 --ps --pm
{
  "measurement_results": {
    "0000": 484,
    "1111": 516
  },
  "statistics": {
    "applied_gates": 4,
    "approximation_runs": "0",
    "benchmark": "entanglement_4",
    "distinct_results": 2,
    "final_fidelity": "1.000000",
    "max_nodes": 9,
    "n_qubits": 4,
    "seed": "0",
    "shots": 1000,
    "simulation_time": 0.00013726699398830533,
    "single_shots": "1",
    "step_fidelity": "1.000000"
  }
}

Quickstart Guide

Execute the following lines to get the simulator running in no time:

$ git clone --recurse-submodules https://github.com/iic-jku/ddsim/
[...]

$ cd ddsim

ddsim/ $ cmake -S . -B build
-- Build files have been written to: /.../build

ddsim/ $ cmake --build build --config Release --target ddsim_simple
[...]
[100%] Built target ddsim_simple

ddsim/ $ build/ddsim_simple --help                            
JKQ DDSIM by https://iic.jku.at/eda/ -- Allowed options:
  -h [ --help ]                         produce help message
[...]

From here on you can start simulating quantum circuits or run the integrated algorithms.

Note that you have to have the Boost program_options library installed.

Executable Noise-aware Simulator

The tool also supports noise-aware quantum circuit simulation, based on a stochastic approach. It currently supports global decoherence and gate error noise effects. A detailed summary of the simulator is presented in [2]. Note that the simulator currently does not support simulating the integrated algorithms.

Building the simulator requires boost/program_options and Threads::Threads. It can be built by executing

$ cmake -DCMAKE_BUILD_TYPE=Release -S . -B build
$ cmake --build build --config Release --target ddsim_noise_aware

The simulator provides a help function which is called in the following way:

$ ./build/ddsim_noise_aware -h
JKQ DDSIM by https://iic.jku.at/eda/ -- Allowed options:
  -h [ --help ]                         produce help message
  --seed arg (=0)                       seed for random number generator (default zero is possibly directly used as seed!)
  --pm                                  print measurements
  --ps                                  print simulation stats (applied gates, sim. time, and maximal size of the DD)
  --verbose                             Causes some simulators to print additional information to STDERR
  --simulate_file arg                   simulate a quantum circuit given by file (detection by the file extension)
  --step_fidelity arg (=1)              target fidelity for each approximation run (>=1 = disable approximation)
  --steps arg (=1)                      number of approximation steps
  --noise_effects arg (=APD)            Noise effects (A (=amplitude damping),D (=depolarization),P (=phase flip)) in the form of a character string describing the noise effects
  --noise_prob arg (=0.001)             Probability for applying noise
  --confidence arg (=0.05)              Confidence in the error bound of the stochastic simulation
  --error_bound arg (=0.1)              Error bound of the stochastic simulation
  --stoch_runs arg (=0)                 Number of stochastic runs. When the value is 0 the value is calculated using the confidence, error_bound and number of tracked properties.
  --properties arg (=-3-1000)           Comma separated list of tracked properties. Note that -1 is the fidelity and "-" can be used to specify a range.

Process finished with exit code 0

An example run, with amplitude damping, phase flip, and depolarization error (each with a probability of 0.1% whenever a gate is applied) looks like this:

$ ./build/ddsim_noise_aware --ps --noise_effects APD --stoch_runs 10000 --noise_prob 0.001 --simulate_file adder4.qasm
{
  "statistics": {
    "applied_gates": 23,
    "approximation_runs": "0.000000",
    "benchmark": "stoch_APD_adder_n4",
    "final_fidelity": "0.937343",
    "max_nodes": 10,
    "mean_stoch_run_time": "0.015796",
    "n_qubits": 4,
    "parallel_instances": "28",
    "perfect_run_time": "0.000066",
    "seed": "0",
    "simulation_time": 5.911194324493408,
    "step_fidelity": "1.000000",
    "stoch_runs": 10000,
    "stoch_wall_time": "5.911118",
    "threads": 28
  }
}

Running Tests

The repository also includes some (rudimentary) unit tests (using GoogleTest), which aim to ensure the correct behavior of the tool. They can be built and executed in the following way:

$ cmake --build build/ --config Release
$ ./build/test/ddsim_test
[...]

Frequently Asked Questions

Why is target ddsim_simple unavailable when I try to build it?

To build the commandline interfaces such as ddsim_simple you require the Boost program_options library. If it is missing, you will see the following message in the CMake generation step

-- Did not find Boost! Commandline interface will not be an available target!

Under Ubuntu you can simply install libboost-program-options-dev.

Why does generation step of CMake fail?

If you see the following error message

$ cmake -S . -B <build target directory>
CMake Error at CMakeLists.txt:27 (message):
qfr was not found.  Please init/update submodules (git submodule update --init --recursive) and try again.

Please run git submodule update --init --recursive and try again.

References

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

[1] A. Zulehner and R. Wille, “Advanced Simulation of Quantum Computations,” Transactions on CAD of Integrated Circuits and Systems (TCAD), vol. 38, no. 5, pp. 848–859, 2019
@article{zulehner2019advanced,
    title = {Advanced Simulation of Quantum Computations},
    author = {Zulehner, Alwin and Wille, Robert},
    journal = {Transactions on {CAD} of Integrated Circuits and Systems},
    volume = {38},
    number = {5},
    pages = {848--859},
    year = {2019},
    doi = {10.1109/TCAD.2018.2834427}
}
[2] S. Hillmich, I. L. Markov, and R. Wille, “Just Like the Real Thing: Fast Weak Simulation of Quantum Computation,” in Design Automation Conference (DAC), 2020
@inproceedings{DBLP:conf/dac/HillmichMW20,
  author    = {Stefan Hillmich and
               Igor L. Markov and
               Robert Wille},
  title     = {Just Like the Real Thing: {F}ast Weak Simulation of Quantum Computation},
  booktitle = {Design Automation Conference},
  publisher = {{IEEE}},
  year      = {2020}
}
[3] T. Grurl, R. Kueng, J. Fuß, and R. Wille, “Stochastic Quantum Circuit Simulation Using Decision Diagrams,” in Design, Automation and Test in Europe (DATE), 2021
@inproceedings{Grurl2020,
    author = {Grurl, Thomas and Kueng, Richard and Fu{\ss}, J{\"{u}}rgen and Wille, Robert},
    booktitle = {Design, Automation and Test in Europe (DATE)},
    title = {{Stochastic Quantum Circuit Simulation Using Decision Diagrams}},
    url = {http://arxiv.org/abs/2012.05620},
    year = {2021}
}
[4] S. Hillmich, R. Kueng, I. L. Markov, and R. Wille, "As Accurate as Needed, as Efficient as Possible: Approximations in DD-based Quantum Circuit Simulation," in Design, Automation and Test in Europe (DATE), 2021
@inproceedings{DBLP:conf/date/HillmichKMW21,
  author    = {Stefan Hillmich and
               Richard Kueng and
               Igor L. Markov and
               Robert Wille},
  title     = {As Accurate as Needed, as Efficient as Possible: Approximations in DD-based Quantum Circuit Simulation},
  booktitle = {Design, Automation and Test in Europe},
  year      = {2021}
}

Project details


Download files

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

Source Distribution

jkq.ddsim-1.5.0.tar.gz (851.7 kB view details)

Uploaded Source

Built Distributions

jkq.ddsim-1.5.0-cp39-cp39-win_amd64.whl (336.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

jkq.ddsim-1.5.0-cp39-cp39-manylinux2014_x86_64.whl (425.0 kB view details)

Uploaded CPython 3.9

jkq.ddsim-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl (347.4 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

jkq.ddsim-1.5.0-cp38-cp38-win_amd64.whl (336.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

jkq.ddsim-1.5.0-cp38-cp38-manylinux2014_x86_64.whl (424.6 kB view details)

Uploaded CPython 3.8

jkq.ddsim-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl (347.5 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

jkq.ddsim-1.5.0-cp37-cp37m-win_amd64.whl (340.6 kB view details)

Uploaded CPython 3.7m Windows x86-64

jkq.ddsim-1.5.0-cp37-cp37m-manylinux2014_x86_64.whl (428.4 kB view details)

Uploaded CPython 3.7m

jkq.ddsim-1.5.0-cp37-cp37m-macosx_10_9_x86_64.whl (346.4 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

jkq.ddsim-1.5.0-cp36-cp36m-win_amd64.whl (340.6 kB view details)

Uploaded CPython 3.6m Windows x86-64

jkq.ddsim-1.5.0-cp36-cp36m-manylinux2014_x86_64.whl (428.5 kB view details)

Uploaded CPython 3.6m

jkq.ddsim-1.5.0-cp36-cp36m-macosx_10_9_x86_64.whl (346.5 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file jkq.ddsim-1.5.0.tar.gz.

File metadata

  • Download URL: jkq.ddsim-1.5.0.tar.gz
  • Upload date:
  • Size: 851.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for jkq.ddsim-1.5.0.tar.gz
Algorithm Hash digest
SHA256 090e9c1646535869da8bcff480ee6320fe38a64a15a7892c8e5eab52f56ae953
MD5 432ff4ef2deb1f00a0de8c303e399248
BLAKE2b-256 d43eee78d962b0b3397587f4ceb42307cf8f498b5799dd88ad5189e655d4627f

See more details on using hashes here.

File details

Details for the file jkq.ddsim-1.5.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: jkq.ddsim-1.5.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 336.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for jkq.ddsim-1.5.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 686f9bc2ba5f0868cbab222e36b81993784614e85a7436b8c8e577709a873ed6
MD5 6a39c24c066f41b2f0d523e7010e763c
BLAKE2b-256 a6922b7229c4032832523790d090ff7e3a660bbb689b842108a0bb1084f9eaf0

See more details on using hashes here.

File details

Details for the file jkq.ddsim-1.5.0-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

  • Download URL: jkq.ddsim-1.5.0-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 425.0 kB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for jkq.ddsim-1.5.0-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2f6070dd97a16472933b92cc5de3d98c808f30f81f30ed3f27d2580e1534f854
MD5 f457937b03a6cb27cba37211c56e7cc1
BLAKE2b-256 386673dac1d97f0458550998fa419ad9419a61ba88e90e193f7fe8f351a113c3

See more details on using hashes here.

File details

Details for the file jkq.ddsim-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: jkq.ddsim-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 347.4 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for jkq.ddsim-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8e11273c82a6c7fa06416e74df889bab0dd7f52b026a6d75a7ade226105f3a5d
MD5 4318da70b38f27f05ed787c150c6ce96
BLAKE2b-256 f23ced2236e3aee75e5aa834de4a703b822d455de8ded2b0eb27e70e5ee03641

See more details on using hashes here.

File details

Details for the file jkq.ddsim-1.5.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: jkq.ddsim-1.5.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 336.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for jkq.ddsim-1.5.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d702526f7ee8219b592633dbdb32bb635c2a1c040e929b1b8a95f42d02ad2e6a
MD5 8cf51343a5a5e1437176aad1706d5905
BLAKE2b-256 82ffda607008f85f7e12a7ba81a6d998a48e65d89d3ce1a6dfdd3a88037ad908

See more details on using hashes here.

File details

Details for the file jkq.ddsim-1.5.0-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

  • Download URL: jkq.ddsim-1.5.0-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 424.6 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for jkq.ddsim-1.5.0-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7fc98e85e3e35c0bc62c2bc48066c4aba5b7fcc10129e240c2306fbeb651653b
MD5 b2f5d6a5c08f30142b9f8e1a07b97a17
BLAKE2b-256 f856a405eb7487fd7651e7afd11ae14c35a91e9cdf9ca9bede0f8dc61b525909

See more details on using hashes here.

File details

Details for the file jkq.ddsim-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: jkq.ddsim-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 347.5 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for jkq.ddsim-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a717aa5f20c46699eb690e033adfef4b9f6feb361c417bb85e4fc9028d3b82d6
MD5 cdef4e43850a5c6bafc75bc5b5375db3
BLAKE2b-256 0fb17f865830158120fba71301a711f4d48bf434f4334253b3559c7110776d04

See more details on using hashes here.

File details

Details for the file jkq.ddsim-1.5.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: jkq.ddsim-1.5.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 340.6 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for jkq.ddsim-1.5.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 b15c293911cb25a2caff1c5342fadd7ea285a493d693f32de712b4ae9cfce15c
MD5 d3834e5b37b9d6a577261f14f21f4f8e
BLAKE2b-256 4407d04c0e3959b37cd4c84f69db5e45d37f9ca5d26a5d225934ff5c1778a582

See more details on using hashes here.

File details

Details for the file jkq.ddsim-1.5.0-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: jkq.ddsim-1.5.0-cp37-cp37m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 428.4 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for jkq.ddsim-1.5.0-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 73760c0743a81270fc4977d4bb2eafa8e1f3a3e671b17ccf15cf83be033fa82d
MD5 ed7c3ba9891a256a4bdd01fbd8eb8db9
BLAKE2b-256 296dcdf051db5789b58d75bea0ebee58d7554e8e6d0f0bf6aac1785125aa795f

See more details on using hashes here.

File details

Details for the file jkq.ddsim-1.5.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: jkq.ddsim-1.5.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 346.4 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for jkq.ddsim-1.5.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5d3aded25cbd43b1f556e1044dc788f3313f19ea50fabc969d1b2df1d8ed03de
MD5 0e0d65ed11a4eaba0ce8be890dc0d7c5
BLAKE2b-256 dc6e6d1b2dd514b49303a0fd70b839b30488994bfe76db080504f37c83a00df0

See more details on using hashes here.

File details

Details for the file jkq.ddsim-1.5.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: jkq.ddsim-1.5.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 340.6 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for jkq.ddsim-1.5.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 0124741460517353b5e689b088dee0683600af0af3bbc9d8d3dbc2c7ff8b11d7
MD5 d32d0ddf29f9864a213b509ad829d1b4
BLAKE2b-256 94e6f90379397bd59e191f32f7a1fec5f73c4c28ab724ff783368017553820c3

See more details on using hashes here.

File details

Details for the file jkq.ddsim-1.5.0-cp36-cp36m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: jkq.ddsim-1.5.0-cp36-cp36m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 428.5 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for jkq.ddsim-1.5.0-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 daf239c57de97543006f55f02c6a6847ebc66aab8e2ebd1cf62f3813af8319c0
MD5 e92b6e0a724022af3ba63b99a9c169a8
BLAKE2b-256 4349599463b0c590a4f43deb36c472280534158c3004a1ec03a930b308706253

See more details on using hashes here.

File details

Details for the file jkq.ddsim-1.5.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: jkq.ddsim-1.5.0-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 346.5 kB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for jkq.ddsim-1.5.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6f42c67e7d7e34cd8bc1c96c6438696fd64ec89b899522572b78239db602c917
MD5 7c01485b6911e467043b25bb6ef6cc32
BLAKE2b-256 feee8045b07fd255cdfcccccd7c3a99557daf3f501b2057ef347840f9437a543

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page