Skip to main content

DQCsim

PyPi Crates.io Rust workflow Python workflow C++ workflow Documentation workflow Codecov.io

DQCsim, short for Delft Quantum & Classical simulator, is a framework that can be used to tie components of quantum computer simulators together in a standardized yet flexible, developer-friendly, and reproducible way. Click here for more information!

Install

The recommended method to install DQCsim is through Python's package manager:

sudo pip3 install dqcsim

This installs DQCsim's core files and plugins. More information is available in the Installation section of the documentation.

Getting started

Users

New users are encouraged to check out the documentation.

Plugin developers

Plugin developers can check out the examples, existing plugins and refer to the API documentation:

Plugins

Frontend

Plugin Description Download License Platforms Language
openqasm OpenQASM 2.0 frontend Crates.io Apache-2.0 Linux, macOS Rust
cqasm cQASM 1.0 frontend PyPi Apache-2.0 Linux, macOS C++
null No-op frontend PyPi Apache-2.0 Linux, macOS Rust

Operator

Plugin Description Download License Platforms Language
openql-mapper OpenQL mapper operator PyPi Apache-2.0 Linux C++
null No-op operator PyPi Apache-2.0 Linux, macOS Rust

Backend

Plugin Description Download License Platforms Language
quantumsim Quantumsim backend PyPi GPL-3.0 Linux, macOS Python
qx QX backend PyPi Apache-2.0 Linux, macOS C++
null No-op backend PyPi Apache-2.0 Linux, macOS Rust
iqs Intel QS backend GitHub Apache-2.0 Linux, macOS C++

Please open a PR to have your plugin added to this list.

Build and test from source

Setup

The core of DQCsim is written in Rust. The crate defines a set of C-bindings to support plugin development in other languages. DQCsim is distributed as a batteries included Python package that includes the shared library and headers for C and C++ plugin development.

Requirements

Python support:

C/C++ tests:

Documentation:

Python

To build the dqcsim Python package:

python3 setup.py bdist_wheel

This builds a release wheel to target/python/dist/. For debug builds set the DQCSIM_DEBUG environment variable.

C/C++

To build the C and C++ headers build the dqcsim Rust crate with the bindings feature enabled:

cargo build --manifest-path=rust/Cargo.toml --features=bindings

The generated headers are stored in target/include.

Rust

The dqcsim crate can be built with the following (non-default) features:

  • cli: the command-line interface binary
  • null-plugins: the null (no-op) plugin binaries
  • bindings: genertion of headers required for C, C++ and Python plugin development

To build all targets and features:

cargo build --all-targets --all-features

Add --release for release builds.

Documentation

To build the documentation use the Makefile in the doc directory directly from the root of the repository:

make -C doc

Documentation output is stored in target/book.

Test

Rust

To test all targets and features:

cargo test --all-targets --all-features

C/C++

To test the C-bindings and C++ wrapper:

mkdir build
cd build
cmake .. -DBUILD_TESTS=ON
make
CTEST_OUTPUT_ON_FAILURE=1 make test

Add -DCMAKE_BUILD_TYPE=DEBUG to CMake for debug builds.

Python

To test the Python package:

python3 setup.py build test

Metadata

Release files for dqcsim 0.4.1

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

Built distributions (wheels)

Table of built distributions (wheels) for dqcsim 0.4.1
File
dqcsim-0.4.1-cp39-cp39-manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
dqcsim-0.4.1-cp39-cp39-macosx_10_15_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.15+ x86-64 Details
dqcsim-0.4.1-cp38-cp38-manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
dqcsim-0.4.1-cp38-cp38-macosx_10_15_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.15+ x86-64 Details
dqcsim-0.4.1-cp37-cp37m-manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details
dqcsim-0.4.1-cp37-cp37m-macosx_10_15_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64 Details
dqcsim-0.4.1-cp36-cp36m-manylinux2014_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64 Details
dqcsim-0.4.1-cp36-cp36m-macosx_10_15_x86_64.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.15+ x86-64 Details

Total release size: 59.8 MB

Release files / dqcsim-0.4.1-cp39-cp39-manylinux2014_x86_64.whl

Download URL dqcsim-0.4.1-cp39-cp39-manylinux2014_x86_64.whl
Size 10.1 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d493866b6b3f60c7cb7b201d5cfcd6ff0d020027d8afcd5ad5e7b6414cc103cc
BLAKE2b-256 checksum
How to use checksums
7525f07e770ecc1dcec1e39664efcced0a12136b4684ba12d6c6730bfe980b1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.7.9

Release files / dqcsim-0.4.1-cp39-cp39-macosx_10_15_x86_64.whl

Download URL dqcsim-0.4.1-cp39-cp39-macosx_10_15_x86_64.whl
Size 4.9 MB
Tags CPython 3.9 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
2285d80bec79e25c5cee5de556879e3d6dd1f5d0a924cccf9a965ee187424f81
BLAKE2b-256 checksum
How to use checksums
c006a6e7742bb02442dfba5dee9b62caec2dab3fca26fab0d46839aac05d7cc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.7.9

Release files / dqcsim-0.4.1-cp38-cp38-manylinux2014_x86_64.whl

Download URL dqcsim-0.4.1-cp38-cp38-manylinux2014_x86_64.whl
Size 10.1 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e3c625fe3e836ab809c91ec2793382937df9669a3523400b43ab77f6e6f7a5f6
BLAKE2b-256 checksum
How to use checksums
349da1ffe3543469ab24e2994db0ec365a545db98a50f0dd6f0c3e9b7edff6b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.7.9

Release files / dqcsim-0.4.1-cp38-cp38-macosx_10_15_x86_64.whl

Download URL dqcsim-0.4.1-cp38-cp38-macosx_10_15_x86_64.whl
Size 4.9 MB
Tags CPython 3.8 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
6bcf8826c3062a9732ec643e00ebe20a079fdf0c81ea72c196b45d7e88e41c29
BLAKE2b-256 checksum
How to use checksums
0e81364ec07b4431497a95524bb5e72a21d4e4db57fdb7d9615bcd377f602085
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.7.9

Release files / dqcsim-0.4.1-cp37-cp37m-manylinux2014_x86_64.whl

Download URL dqcsim-0.4.1-cp37-cp37m-manylinux2014_x86_64.whl
Size 10.1 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
36a620b0cb07d47909986253ae443b96e76b164f205dce913b5d975754ec2ab8
BLAKE2b-256 checksum
How to use checksums
4a4c5decf0c754d96f1315717a9dda478bd66fa07b0246181d4d5a14b22cd0fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.7.9

Release files / dqcsim-0.4.1-cp37-cp37m-macosx_10_15_x86_64.whl

Download URL dqcsim-0.4.1-cp37-cp37m-macosx_10_15_x86_64.whl
Size 4.9 MB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
0d2cc3842668fef6ef9e947e90e58cfa6bae346d052573aa174c22e29b9cd871
BLAKE2b-256 checksum
How to use checksums
b2ba25cc8df3af77f0c99c5e6c32b8d308f08a4de71856eb0ff04b7369322e8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.7.9

Release files / dqcsim-0.4.1-cp36-cp36m-manylinux2014_x86_64.whl

Download URL dqcsim-0.4.1-cp36-cp36m-manylinux2014_x86_64.whl
Size 10.1 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ad79365f5799116fcdb0186e37d39b179e6bdf8e07fb44ae8fe82596931cd696
BLAKE2b-256 checksum
How to use checksums
6b5ea7e2773e0eede208b873b4081e5887bd4bf568d97704c47cc787db4a07c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.7.9

Release files / dqcsim-0.4.1-cp36-cp36m-macosx_10_15_x86_64.whl

Download URL dqcsim-0.4.1-cp36-cp36m-macosx_10_15_x86_64.whl
Size 4.9 MB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
975b05aca76b5def4dc42e13181ec6863f65168700146e246ee36ec098debcce
BLAKE2b-256 checksum
How to use checksums
fa98a05dfcad5342a22803ea97ff5f0b670df88ab480a5f63f447e7bfea9d1cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.7.9

Release history Release notifications | RSS feed

This release

0.4.1 This release

8 release files

0.3.0

9 release files

0.2.5

9 release files

0.2.1

16 release files

0.2.0

16 release files

0.1.1

16 release files

0.0.9

9 release files

0.0.8

9 release files

0.0.6

7 release files

0.0.5

7 release files

0.0.4

7 release files

0.0.3

7 release files

0.0.2

7 release files

0.0.1

7 release 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