Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (18.1%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: HQSquantumsimulations
- License: apache-2.0
- Language: Rust
- Default Branch: main
- Size: 47.9 MB
Statistics
- Stars: 49
- Watchers: 3
- Forks: 13
- Open Issues: 6
- Releases: 106
Metadata Files
README.md

qoqo
qoqo is a toolkit to represent quantum circuits by HQS Quantum Simulations. The name “qoqo” stands for “Quantum Operation Quantum Operation,” making use of reduplication.
For a detailed introduction see the user documentation and the qoqo examples repository. Additionally, the API documentation is available.
What qoqo is:
- A toolkit to represent quantum programs including circuits and measurement information.
- A thin runtime to run quantum measurements.
- A way to serialize quantum circuits and measurement information.
- A set of optional interfaces to devices, simulators and toolkits (e.g. qoqo_quest, qoqo_qiskit, qoqoforbraket, qoqo_iqm).

What qoqo is not:
- A decomposer translating circuits to a specific set of gates
- A quantum circuit optimizer
- A collection of quantum algorithms
If you are looking for a comprehensive package that integrates all these features, we invite you to explore our HQStage software.
This repository contains two components:
- qoqo: the python interface to roqoqo, described here.
- roqoqo: the core rust library. Further details are provided in the individual README file here.
Installation
On Linux, macOS and Windows on x86 precompiled packages can be found on PyPi and installed via
shell
pip install qoqo
If no pre-built python wheel is available for your architecture, you can install qoqo from the source distribution using a rust toolchain as described here.
Create your first circuit in qoqo
The following code snippet can be used to create your first circuit in qoqo. For an expanded collection of examples please see the jupyter notebooks in the qoqo_examples repository.
```python from qoqo import Circuit from qoqo import operations as ops from qoqo_quest import Backend
circuit = Circuit() circuit += ops.DefinitionBit(name="classicalreg", length=2, isoutput=True) circuit += ops.PauliX(qubit=0) circuit += ops.CNOT(0,1) circuit += ops.PragmaDamping(qubit=0, gatetime=0.1, rate=0.1) circuit += ops.PragmaDamping(qubit=1, gatetime=0.1, rate=0.1) circuit += ops.MeasureQubit(qubit=0, readout="classicalreg", readoutindex=0) circuit += ops.MeasureQubit(qubit=1, readout="classicalreg", readoutindex=1) circuit += ops.PragmaSetNumberOfMeasurements(numbermeasurements=1000, readout="classicalreg")
backend = Backend(numberqubits=2) bitregisters, floatregisters, complexregisters = backend.run_circuit(circuit) ```
Features
qoqo provides the following functionalities and features:
- A
Circuitclass to represent quantum circuits - A
QuantumProgramclass to represent quantum programs - Classes representing single-qubit, two-qubit, multi-qubit and measurement operations that can be executed (decomposed) on any universal quantum computer
- Classes representing so-called PRAGMA operations that only apply to certain hardware, simulators or annotate circuits with additional information
- Support for symbolic variables
- Readout based on classical registers
- Measurement classes for evaluating observable measurements based on raw readout date returned by quantum computer backends
- Serialization to json and deserialization from json for circuits and measurement information. Serialization support can easily be expanded to other targets with the help of the serde crate.
Support
This project has been partly supported by PlanQK and is partially supported by QSolid and PhoQuant.
Contribution
We welcome contributions to the project. If you want to contribute code, please have a look at CONTRIBUTE.md for our code contribution guidelines.
In order to facilitate the contribution of the addition of a new gate, please also have a look at addnewgate.md to read a quick explanation of the main steps necessary.
Citation
If you use qoqo, please cite it by including the URL of this github repository, or using the provided BibTeX entry:
@misc{qoqo2021,
title={qoqo - toolkit to represent quantum circuits},
author={HQS Quantum Simulations GmbH},
year={2021},
url={https://github.com/HQSquantumsimulations/qoqo},
}
Owner
- Name: HQS Quantum Simulations
- Login: HQSquantumsimulations
- Kind: organization
- Website: www.quantumsimulations.de
- Repositories: 17
- Profile: https://github.com/HQSquantumsimulations
Citation (CITATION.cff)
cff-version: 1.2.0
title: qoqo
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- name: HQS Quantum Simulations GmbH
address: Rintheimer Str.
city: Karlsruhe
country: DE
post-code: '76131'
email: info@quantumsimulations.de
website: 'https://quantumsimulations.de/'
repository-code: 'https://github.com/HQSquantumsimulations/qoqo'
url: 'https://hqsquantumsimulations.github.io/qoqo/'
keywords:
- quantum computing
- quantum
license: Apache-2.0
commit: f7f27a3
version: v1.19.6
date-released: '2025-05-09'
GitHub Events
Total
- Create event: 95
- Release event: 13
- Watch event: 7
- Delete event: 80
- Issue comment event: 56
- Member event: 1
- Push event: 57
- Pull request event: 158
- Pull request review event: 149
- Pull request review comment event: 109
- Fork event: 3
Last Year
- Create event: 95
- Release event: 13
- Watch event: 7
- Delete event: 80
- Issue comment event: 56
- Member event: 1
- Push event: 57
- Pull request event: 158
- Pull request review event: 149
- Pull request review comment event: 109
- Fork event: 3
Committers
Last synced: about 3 years ago
All Time
- Total Commits: 346
- Total Committers: 9
- Avg Commits per committer: 38.444
- Development Distribution Score (DDS): 0.803
Top Committers
| Name | Commits | |
|---|---|---|
| Kirsten Bark | k****k@q****e | 68 |
| Nicolas Vogt | 4****t@u****m | 67 |
| Nicolas Vogt | N****t@q****e | 65 |
| kbarkhqs | 6****s@u****m | 57 |
| mwalthqs | 8****s@u****m | 31 |
| dependabot[bot] | 4****]@u****m | 26 |
| Marina Walt | m****t@q****m | 26 |
| Matteo Lodi | 1****s@u****m | 5 |
| Sebastian Zanker | 3****n@u****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 1
- Total pull requests: 365
- Average time to close issues: over 1 year
- Average time to close pull requests: about 1 month
- Total issue authors: 1
- Total pull request authors: 10
- Average comments per issue: 0.0
- Average comments per pull request: 0.48
- Merged pull requests: 156
- Bot issues: 0
- Bot pull requests: 174
Past Year
- Issues: 0
- Pull requests: 170
- Average time to close issues: N/A
- Average time to close pull requests: 11 days
- Issue authors: 0
- Pull request authors: 8
- Average comments per issue: 0
- Average comments per pull request: 0.48
- Merged pull requests: 62
- Bot issues: 0
- Bot pull requests: 87
Top Authors
Issue Authors
- kbarkhqs (1)
- dberthault (1)
- mlodi-hqs (1)
Pull Request Authors
- dependabot[bot] (172)
- kbarkhqs (85)
- mlodi-hqs (78)
- dberthault (38)
- nfwvogt (21)
- rreiner-hqs (13)
- dgupta-hqs (10)
- mwalthqs (2)
- SolidTux (1)
- dvy-gupta (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 5
-
Total downloads:
- pypi 10,735 last-month
- cargo 521,262 total
-
Total dependent packages: 41
(may contain duplicates) -
Total dependent repositories: 35
(may contain duplicates) - Total versions: 392
- Total maintainers: 2
pypi.org: qoqo
- Homepage: https://github.com/HQSquantumsimulations/qoqo
- Documentation: https://qoqo.readthedocs.io/
- License: Apache-2.0 AND Apache-2.0 with LLVM-exception AND MIT AND Unicode-DFS-2016 AND BSD-2-Clause AND BSD-3-CLause
-
Latest release: 1.21.0
published 8 months ago
Rankings
Maintainers (1)
crates.io: roqoqo
Rust Quantum Computing Toolkit by HQS
- Homepage: https://github.com/HQSquantumsimulations/qoqo
- Documentation: https://docs.rs/roqoqo/
- License: Apache-2.0
-
Latest release: 1.21.0
published 8 months ago
Rankings
Maintainers (1)
crates.io: qoqo
Quantum computing circuit toolkit. Python interface of roqoqo
- Homepage: https://github.com/HQSquantumsimulations/qoqo
- Documentation: https://docs.rs/qoqo/
- License: Apache-2.0
-
Latest release: 1.21.0
published 8 months ago
Rankings
Maintainers (1)
crates.io: roqoqo-test
Testing helper functions for roqoqo toolkit
- Documentation: https://docs.rs/roqoqo-test/
- License: Apache-2.0
-
Latest release: 1.21.0
published 8 months ago
Rankings
Maintainers (1)
crates.io: roqoqo-mock
Mocked interface for roqoqo rust quantum computing toolkit
- Documentation: https://docs.rs/roqoqo-mock/
- License: Apache-2.0
-
Latest release: 0.5.10
published 8 months ago
Rankings
Maintainers (1)
Dependencies
- approx 0.5.1
- async-trait 0.1.56
- autocfg 1.1.0
- bincode 1.3.3
- bitflags 1.3.2
- bytemuck 1.9.1
- cfg-if 1.0.0
- ctor 0.1.22
- dyn-clone 1.0.6
- erased-serde 0.3.21
- futures 0.3.21
- futures-channel 0.3.21
- futures-core 0.3.21
- futures-executor 0.3.21
- futures-io 0.3.21
- futures-macro 0.3.21
- futures-sink 0.3.21
- futures-task 0.3.21
- futures-util 0.3.21
- getrandom 0.2.7
- ghost 0.1.5
- indoc 1.0.6
- inventory 0.2.3
- itoa 1.0.2
- libc 0.2.126
- libm 0.2.2
- lock_api 0.4.7
- matrixmultiply 0.3.2
- memchr 2.5.0
- nalgebra 0.31.0
- nalgebra-macros 0.1.0
- ndarray 0.15.4
- num-complex 0.4.2
- num-integer 0.1.45
- num-rational 0.4.1
- num-traits 0.2.15
- numpy 0.16.2
- once_cell 1.12.0
- parking_lot 0.12.1
- parking_lot_core 0.9.3
- paste 1.0.7
- pin-project-lite 0.2.9
- pin-utils 0.1.0
- ppv-lite86 0.2.16
- proc-macro-error 1.0.4
- proc-macro-error-attr 1.0.4
- proc-macro2 1.0.40
- pyo3 0.16.5
- pyo3-build-config 0.16.5
- pyo3-ffi 0.16.5
- pyo3-macros 0.16.5
- pyo3-macros-backend 0.16.5
- qoqo_calculator 0.8.3
- qoqo_calculator_pyo3 0.8.3
- quote 1.0.20
- rand 0.8.5
- rand_chacha 0.3.1
- rand_core 0.6.3
- rand_distr 0.4.3
- rawpointer 0.2.1
- redox_syscall 0.2.13
- ryu 1.0.10
- safe_arch 0.6.0
- scopeguard 1.1.0
- serde 1.0.137
- serde_derive 1.0.137
- serde_json 1.0.82
- serde_test 1.0.137
- simba 0.7.1
- slab 0.4.6
- smallvec 1.9.0
- syn 1.0.98
- target-lexicon 0.12.4
- test-case 2.1.0
- test-case-macros 2.1.0
- thiserror 1.0.31
- thiserror-impl 1.0.31
- typenum 1.15.0
- typetag 0.1.8
- typetag-impl 0.1.8
- unicode-ident 1.0.1
- unindent 0.1.9
- version_check 0.9.4
- wasi 0.11.0+wasi-snapshot-preview1
- wide 0.7.4
- windows-sys 0.36.1
- windows_aarch64_msvc 0.36.1
- windows_i686_gnu 0.36.1
- windows_i686_msvc 0.36.1
- windows_x86_64_gnu 0.36.1
- windows_x86_64_msvc 0.36.1
- bincode 1.3
- ndarray 0.15
- num-complex 0.4
- numpy 0.16
- pyo3 0.16
- qoqo-macros 1.0.0-alpha.3
- qoqo_calculator 0.8
- qoqo_calculator_pyo3 0.8
- roqoqo 1.0.0-alpha.3
- serde 1.0
- serde_json 1.0
- thiserror 1.0
- proc-macro2 1.0
- quote 1.0
- syn 1.0
- async-trait 0.1
- bincode 1.3
- dyn-clone 1.0
- futures 0.3
- nalgebra 0.31
- ndarray 0.15
- num-complex 0.4
- qoqo_calculator 0.8
- rand 0.8.4
- rand_distr 0.4
- roqoqo-derive 1.0.0-alpha.3
- serde 1.0
- thiserror 1.0
- typetag 0.1
- proc-macro2 1.0
- quote 1.0
- syn 1.0
- nalgebra 0.31
- ndarray 0.15
- qoqo_calculator 0.8
- rand 0.8
- roqoqo 1.0.0-alpha.3
- Swatinem/rust-cache v2 composite
- actions-rs/toolchain v1 composite
- actions/checkout v3 composite
- actions-rs/toolchain v1 composite
- actions/checkout v3 composite
- actions-rs/toolchain v1 composite
- actions/checkout v3 composite
- actions/download-artifact v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- test-case 3.0 development
- bincode 1.3
- ndarray 0.15
- qoqo_calculator 1.1
- roqoqo 1.6
- test_roqoqo_1_0 =1.0.0
- test_roqoqo_derive_1_0 =1.0.0
- test-case 3.0 development
- bincode 1.3
- ndarray 0.15
- qoqo_calculator 1.1
- roqoqo 1.6
- test_roqoqo_1_2 =1.2.5
- test_roqoqo_derive_1_2 =1.2.5
- test-case 3.0 development
- bincode 1.3
- ndarray 0.15
- qoqo_calculator 1.1
- roqoqo 1.6
- test_roqoqo_1_3 =1.3.2
- test_roqoqo_derive_1_3 =1.3.2
- test-case 3.0 development
- bincode 1.3
- ndarray 0.15
- qoqo_calculator 1.1
- roqoqo 1.6
- test_roqoqo_1_4 =1.4.0
- test_roqoqo_derive_1_4 =1.4.0
- test-case 3.0 development
- bincode 1.3
- ndarray 0.15
- qoqo_calculator 1.1
- roqoqo 1.6
- test_roqoqo_1_5 =1.5.0
- test_roqoqo_derive_1_5 =1.5.0
- roqoqo-quest =0.9.1 development
- serde_json 1.0 development
- test-case 3.0 development
- ndarray 0.15
- num-complex 0.4
- qoqo_calculator 1.1
- test_roqoqo_1_2 =1.2.5
- numpy *
- qoqo_calculator_pyo3 >=1.1