awesome-quantum-software
Curated list of open-source quantum software projects.
https://github.com/qosf/awesome-quantum-software
Last synced: 14 days ago
JSON representation
-
Abandoned projects
- libquantum - C library for quantum computing and quantum simulation.
- pQCS - [Parallel quantum circuit synthesis](https://uwspace.uwaterloo.ca/handle/10012/9267) with optimal T-count.
- BLACK-STONE - Specification and implementation of quantum common lisp, for gate-model quantum computers.
- goqu - Quantum computing simulation library for GoLang.
- libquantum - C library for quantum computing and quantum simulation.
- libQuantumJava - Crude translation from the C implementation of `libquantum` to a Java version.
- jquil - Java library for quantum programming using [Quil](https://en.wikipedia.org/wiki/Quil_(instruction_set_architecture)).
- PyQLab - Library for instrument control and superconducting QIP experiments.
- PySimulator - Python with C++ backend simulator for superconducting circuits.
- QACG - Quantum Arithmetic Circuit Generator in Haskell.
- QCL - High level, hardware-agnostic programming language for quantum computers (syntax like C or Pascal).
- QCViewer - Visual quantum circuit design and simulation tool.
- QGL.jl - Performance orientated [QGL](https://github.com/BBN-Q/QGL) compiler.
- Qlmp - Interpreter for the functional quantum programming language Qumin.
- Qiskit Aqua - Library of various quantum algorithm implemented with [Qiskit](https://github.com/Qiskit/qiskit).
- QOCS - Quantum OCaml Circuit Simulator is a functional approach to simulating quantum gates.
- QuantumUtils - Tools for quantum control, simulation, channel representation conversion, and perturbations.
- Quantum Virtual Machine - Reference implementation of Rigetti's Quantum Virtual Machine.
- Quince - Node-based GUI that allows for graphical configuration of qubit experiments in Auspex.
- Quipper - Scalable functional programming language for quantum computing based on [Quantum Lambda Calculus](https://arxiv.org/abs/cs/0404056).
- QuSim - Ideal noise-free multi-qubit simulator written in 150 lines of code.
- QSEL - Quantum programming language putting entanglement and superposition front and center.
- sapi_dimod - [Dimod](https://github.com/dwavesystems/dimod) wrapper for D-Wave's Solver API (SAPI).
- Squankum - Visual Java quantum simulator.
- 8Q - 8 Qbit, Photonic Quantum Computer.
- Qiskit Aqua - Library of various quantum algorithm implemented with [Qiskit](https://github.com/Qiskit/qiskit).
- qiskit-ignis - Tools for quantum hardware verification, noise characterization, and error correction.
- Qiskit Tutorial - Jupyter notebook filled with tutorials for [Qiskit](https://github.com/QISKit/qiskit).
- Qiskit-JS - [Quantum information software kit](https://qiskit.org/) for JavaScript (supported by IBM).
- Quantum Virtual Machine - Reference implementation of Rigetti's Quantum Virtual Machine.
-
Experimental quantum computing
- Qlab.jl - Generic lab tools in Julia.
- Qlab - Measurement and control software for superconducting qubits.
- ARTIQ - Next-generation control system for quantum information experiments.
- OLSQ - OpenQASM package to perform optimal layout synthesis for quantum computing.
- MQT DASQA - Framework to encapsulate application-driven superconducting architecture design.
- MQT Qudits - A framework for research and education for mixed-dimensional qudit quantum computing available via the [`mqt.qudits`] Python package.
- pyEPR - Automated Python module for the design and quantization of Josephson quantum circuits.
- PyRPL - Turn your RedPitaya into a powerful DSP device, suitable as a digital lockbox and measurement device in quantum optics.
- QCoDeS - Python-based data acquisition framework for quantum experiments.
- QFlow-lite - Machine Learning tools for autotuning quantum dot experiments.
- QGL - Domain-specific language embedded in Python for specifying pulse sequences.
- Qiskit Metal - Quantum hardware design and analysis.
- QTT - Quantum Technology Toolbox is a framework for the tuning and calibration of quantum dots and spin qubits.
- Quantify - Data acquisition platform focused on Quantum Computing and solid-state physics experiments.
- qupulse - Quantum computing pulse parametrization and sequencing framework (formerly qc-toolkit).
- scqubits - Simulating superconducting qubits, obtaining energy spectra, plotting energy levels and more.
- Atomiq - Quantum hardware orchestration stack for complex quantum setups.
- OLSQ - OpenQASM package to perform optimal layout synthesis for quantum computing.
- PyRPL - Turn your RedPitaya into a powerful DSP device, suitable as a digital lockbox and measurement device in quantum optics.
- QCoDeS - Python-based data acquisition framework for quantum experiments.
- QFlow-lite - Machine Learning tools for autotuning quantum dot experiments.
-
Quantum algorithms
- Tensorflow Quantum - Library for hybrid quantum-classical machine learning.
- XACC Examples - Example code using [XACC](https://github.com/ORNL-QCI/xacc) for quantum computing.
- XACC QChem - QPU Benchmarks for Quantum Chemistry via [XACC](https://github.com/ORNL-QCI/xacc), [Psi4](http://www.psicode.org/) and [OpenFermion](https://github.com/quantumlib/OpenFermion).
- XACC VQE - Variational quantum eigensolver built on [XACC](https://github.com/ORNL-QCI/xacc) for distributed, and shared memory systems.
- myQShor - Quantum implementation of Shor's algorithm.
- QuantumTomography.jl - Julia package to perform quantum state and process tomography.
- Adapt - Algorithms for adaptive refinement of measurements.
- Arline Quantum - Library with implementation of quantum gates and hardware, a part of [Arline Benchmarks](https://github.com/ArlineQ/arline_benchmarks) project.
- Boson Sampling - Library to calculate interferometer output probabilities given Fock state inputs to help better understand [Aaronson-Arkhipov Boson Sampling arXiv:1011.3245 [quant-ph]](https://arxiv.org/abs/1011.3245)
- FermiLib - Software for analyzing fermionic quantum simulation algorithms with [ProjectQ](https://github.com/ProjectQ-Framework/ProjectQ).
- G/SG Morph - Quantum annealing algorithms for Graph/Subgraph Isomorphism based on [Calude et al.'s paper "QUBO formulations for the graph isomorphism problem and related problems" 10.1016/j.tcs.2017.04.016](https://doi.org/10.1016/j.tcs.2017.04.016)
- MQT QAO - Automatic Framework for Solving Optimization Problems with Quantum Computers available via the [`mqt.qao`](https://pypi.org/p/mqt.qao) Python package.
- MQT QUBOMaker - Automated QUBO formulation for optimization and pathfinding problems offering multiple encodings. Available via the [`mqt.qubomaker`](https://pypi.org/p/mqt.qubomaker) Python package.
- OpenFermion - Compiling and analyzing quantum algorithm for quantum chemistry simulations.
- OpenQAOA - Multi-backend SDK to create, customise and execute QAOA on NISQ devices and simulators.
- Paddle Quantum - Quantum machine learning platform to construct & train quantum neural networks, developed by Baidu.
- PyZFS - Package to compute zero-field-splitting tensors for molecules and spin quantum bits in semiconductors.
- QFog - Framework for analyzing both classical and quantum Bayesian Networks.
- QGrad - Library to integrate automatic differentiation tools such as JAX with QuTiP and related quantum software packages.
- Qiskit Nature - Quantum Chemistry including ground state, excited states and dipole moment calculations.
- QPanda - QPanda is a quantum computing framework that can be used to build, run, and optimize quantum algorithms.
- Qualtran - A library for expressing and analyzing Fault Tolerant Quantum algorithms.
- Quantum_Edward - Python tools for supervised learning by Quantum Neural Networks
- QuantumFlow - Quantum Algorithms Development Toolkit e.g. allowing for backpropagation with QAOA.
- Quantum TSP - Tutorials on solving Travelling Salesman Problem using quantum computing (QAOA).
- Qudit Team - Repository to extend Qiskit versatility to higher dimensional quantum states.
- ReCirq - Modules for running quantum computing applications and experiments through [Cirq](https://github.com/quantumlib/Cirq).
- spin_qudit_tomography - Code used in spin tomography using qudits.
- pyRiemann-qiskit - Library for machine learning and quantum programming based on pyRiemann and Qiskit projects.
- VQF - Implementation of Variational Quantum Factoring algorithm (in pyQuil)
- WebMark - Web platform for benchmarking quantum computing algorithms.
- Quantum Katas - Programming exercises for learning Q# and quantum computing.
-
Quantum Analog Hamiltonian
-
Quantum and post-quantum cryptography
- liboqs - C library for quantum-resistant cryptographic algorithms.
- openssh - OpenSSH with quantum-safe key exchange algorithms.
- openssl - OpenSSL with quantum-safe cryptographic algorithms.
- PQClean - Clean, portable, tested implementations of post-quantum cryptography.
- TQ42 Cryptography - Post-quantum algorithms, hash functions, digital signature, key encapsulation mechanism, PRNG, and key management functions.
- Crypto-Vinaigrette - Quantum-resistant asymmetric key generation tool for digital signatures.
- Qash-QKDC - [Hashing algorithms/circuits](https://timemelt.itch.io/qash-qkdc) powered by quantum operations.
- Qashchain - [Quantum blockchain](https://timemelt.itch.io/qashchain) based on [qash-qkdc](https://github.com/TimeMelt/qash-qkdc) circuits.
- openssh - OpenSSH with quantum-safe key exchange algorithms.
- QRL - [Quantum Resistant Ledger](https://theqrl.org/) utilizing hash-based one-time merkle tree signature scheme instead of ECDSA.
-
Quantum annealing
- C-to-D-Wave - Compile a very small subset of C to a D-Wave Hamiltonian function
- QA Prolog - Compile a subset of [Prolog](https://en.wikipedia.org/wiki/Prolog) to a D-Wave Hamiltonian function
- QAOA.jl - Simulate quantum annealing and mean-field quantum annealing in Julia.
- chimera_embedding - Algorithms to generate native-structured embeddings for Chimera graphs.
- dimod - Shared API for Ising and QUBO problems.
- dwavebinarycsp - Map constraint satisfaction problems with binary variables to binary quadratic models.
- dwave-cloud-client - Min. implementation of the REST interface to communicate with D-Wave's Solver API.
- dwave_neal - Implementation of a simulated annealing sampler.
- dwave-system - API for easily incorporating D-Wave quantum annealers as samplers in the [Ocean](https://ocean.dwavesys.com/) software stack.
- embedding_utilities - Mapping samples between original and embedded graph.
- micro_client_sapi_dimod - [Dimod](https://github.com/dwavesystems/dimod) wrapper for the D-Wave Micro Client.
- minorminer - Heuristic tool for minor graph embedding.
- penaltymodel - Utilities and interfaces for using penalty models.
- qubovert - Formulating and simulated annealing of Ising, QUBO, and higher order problems with constraints.
- Qbsolv - QUBO solver with [D-Wave](https://www.dwavesys.com) or classical tabu solver backend.
- qubo-nn - Classifying, auto-encoding and reverse-engineering QUBO matrices. Also includes 20 problem formulations.
- dwave_networkx - Exploration and analysis of network graphs.
- qqa - GPU-parallel Quasi-Quantum Annealing toolkit for QUBO and Ising combinatorial optimisation, with PI-GNN / CPRA neural backends and a Simulated Annealing baseline, all under a single PyTorch API.
- edif2qmasm - Compile [Verilog](https://en.wikipedia.org/wiki/Verilog), [VHDL](https://en.wikipedia.org/wiki/VHDL), and other hardware-description languages to a D-Wave Hamiltonian function
- dwave_networkx - Exploration and analysis of network graphs.
- QMASM - Quantum macro assembler for D-Wave systems
-
Quantum assembly
- Quil - Open hybrid quantum/classical instruction set currently used by Rigetti. [Parser](https://github.com/rigetticomputing/pyquil/tree/master/pyquil/_parser)
- Blackbird - Open-source quantum instruction language currently used for Xanadu's photonic hardware.
- QMASM - Quantum macro assembler for D-Wave's quantum annealers.
- OpenQASM - Open-source quantum assembly language.
-
Quantum compilers
- BQSKit - Berkeley Quantum Synthesis Toolkit is an optimizing quantum compiler and related tool-set.
- Catalyst - AOT/JIT compiler for hybrid quantum computing beyond NISQ. Written in MLIR. Python frontend via [PennyLane](https://pennylane.ai).
- MQT SyReC - HDL-based synthesis of reversible circuits for optimized circuit designs.
- QCOR - C++ language extension and associated compiler implementation for hybrid quantum-classical programming.
- ScaffCC - Compilation, analysis and optimization framework for the Scaffold quantum programming language.
- TKET - C++ library for placement, routing, and optimization of quantum circuits (developed by Quantinuum).
- UniversalQCompiler - Synthesis of isometries (including unitaries and state preparation), channels and POVMs.
- QuantumCircuitOpt.jl - Julia package for provably optimal decompositions and compilations of quantum circuits
- Arline Benchmarks - Automated benchmarking platform for quantum compilers, quantum hardware and quantum algorithms.
- Mitiq - Cross-platform, quantum error mitigation toolkit and compiler from [Unitary Foundation](https://unitary.foundation/).
- MQT IonShuttler - Exact and heuristic scheduling to manage ion movement within trapped-ion hardware.
- NchooseK - Constraint-programming system that compiles to both circuit-model quantum computers and quantum annealers.
- QEDA - Quantum electronic design automation software for optical circuits using QASM.
- QGL2 Compiler - Language compiler for imperative Quantum Gate Language ([QGL](https://github.com/BBN-Q/QGL)).
- Qiskit Terra - Python library for quantum circuit rewriting and optimization (supported by IBM).
- Qiskit ZX transpiler - Transpiler pass for Qiskit which uses ZX-calculus for circuit optimization.
- Qlasskit - Compiler from Python language to quantum circuits and binary quadratic models.
- Qubiter - Quantum compiler with Python wrapper for [LAPACK's CS Decomposition](http://www.netlib.org/lapack/README-CSD.html) to build a binary tree of matrices.
- SAT Circuits Engine - Qiskit-based high-level quantum circuits synthesis engine for n-SAT problems.
- UCC - Unitary Compiler Collection: frontend-agnostic open-source quantum compiler developed by Unitary Foundation.
- TKET2 - Rewrite based toolkit for optimization of quantum programs (version 2 of the [TKET](https://github.com/CQCL/tket) quantum compiler).
- EMRG - Quantum error mitigation toolkit with ZNE, PEC, and CDR support.
- MQT QMAP - Quantum circuit mapping. Clifford synthesis. Compilation for neutral atom architectures. Compatible with Qiskit through the [`mqt.qmap`](https://pypi.org/p/mqt.qmap) Python package.
- MQT Predictor - RL-based compiler optimization. ML-based device selection. Available via the [`mqt.predictor`](https://pypi.org/p/mqt.predictor) Python package.
- UCC - Unitary Compiler Collection: frontend-agnostic open-source quantum compiler developed by Unitary Foundation.
- quilc - Rigetti's optimizing Quil compiler.
-
Quantum control
- C3 - Open-loop, closed-loop and automated Control, Calibration and Characterization of quantum devices.
- Krotov - Python implementation of Krotov's method for quantum optimal control.
- Quanlse - Quanlse provides quantum control solutions via a cloud SDK, developed by [Baidu Quantum](https://research.baidu.com/Research_Areas/index-view?id=75).
-
Quantum converters
- qconvert-js - Quantastica's quantum programming language converter in Javascript.
- qconvert - Quantastica's quantum programming language converter in Python.
- qconvert - Quantastica's quantum programming language converter in Python.
- qconvert-js - Quantastica's quantum programming language converter in Javascript.
-
Quantum data
-
Quantum error correction
- Tesseract Decoder - Most Likely Error decoder designed for Low Density Parity Check (LDPC) quantum error-correcting codes.
- CodingTheory - Julia package for constructing and analyzing classical and quantum error-correcting codes.
- Chromobius - Python implementation of a "mobius decoder" for color codes used in quantum error correction.
- MQT QECC - Synthesis of fault-tolerant circuits. Decoders. Automatic Application of error correcting codes. Available via the [`mqt.qecc`](https://pypi.org/p/mqt.qecc) Python package.
- PyMatching - Python package for decoding quantum error correcting codes with minimum-weight perfect matching.
- qecsim - Python package for simulating quantum error correction using stabilizer codes.
- Qsurface - Python package for simulation and visualization of quantum error-correction on surface codes.
- Qiskit Experiments - Python package for quantum error correction experiments (supported by IBM).
-
Quantum full-stack libraries
- Ket - Embedded programming language that introduces the ease of Python to quantum programming.
- Silq - Silq is a high-level quantum programming language with safe uncomputation and intuitive semantics.
- XACC - Extreme-scale programming model for quantum acceleration within high-performance computing ([arXiv paper](https://arxiv.org/abs/1710.01794)).
- avaloni - Programming language (interpreter) for classical-quantum hybrid computers.
- CUDA-Q - Platform for accelerated quantum-classical applications on GPUs, CPUs and QPUs.
- staq - Full stack quantum processing toolkit ([arXiv paper](https://arxiv.org/abs/1912.06070)).
- qpp - Quantum++ is a modern C++ general purpose quantum computing library, composed solely of template header files.
- bosonic-qiskit - Simulate hybrid boson-qubit systems within Qiskit, implemented as a part of the Co-design Center for Quantum Advantage (C2QA) of the National Quantum Initiative.
- Braket - [Amazon's](https://aws.amazon.com/braket/) fully managed quantum computing service for building quantum algorithms.
- Cirq - Framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
- Ocean - [D-Wave System](https://www.dwavesys.com/home)'s suite of tools for solving hard problems with quantum computers.
- Perceval - [Quandela](https://www.quandela.com)'s software library for programming realistic photonic quantum computers.
- ProjectQ - Hardware-agnostic framework with compiler and simulator with emulation capabilities.
- PyQudit - Python package for generalized and universal versions of quantum gates in N-dimensions.
- Qadence - [Pasqal](https://www.pasqal.com)'s package for building differentiable digital and digital-analog quantum programs realizable on neutral atom devices.
- Qibo - An open-source framework for quantum simulation, self-hosted quantum hardware control and calibration.
- quantum-os - Operating system based on Linux kernel for quantum computing.
- Strawberry Fields - [Xanadu](https://www.xanadu.ai)'s software library for photonic quantum computing.
- Tangelo - Examples](https://github.com/goodchemistryco/Tangelo-Examples/) - Toolkit for quantum chemistry simulation workflows on quantum computers, maintained by [SandboxAQ](https://www.sandboxaq.com/).
- TensorCircuit - Tensor network based quantum software framework for the NISQ era.
- pytket - Quantum computing toolkit for building, compiling, and executing quantum circuits (developed by Quantinuum).
- Q# - Microsoft's quantum programming language with Visual Studio integration.
- Qristal - Quantum Brilliance's hybrid quantum-classical C++/Python development platform ([docs](https://qristal.readthedocs.io); [core module](https://github.com/qbrilliance/qristal-core)).
- Qrisp - A high-level programming language and framework for creating and compiling quantum algorithms ([GitHub](https://github.com/eclipse-qrisp/Qrisp)).
- OpenQL - Compiler framework with algorithm libraries, optimizer, scheduler, QEC, mapping, micro-code generator.
- blueqat - Quantum computing SDK.
- Qiskit - SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives. (supported by IBM).
- Tequila - Extensible Quantum Information and Learning Architecture developed by Alan Aspuru-Guzik's group (UofT).
- Forest - [Rigetti](https://www.rigetti.com/)'s software library for writing, simulating, compiling and executing quantum programs.
- QCaml - Lightweight OCaml library to experiment with quantum states, gates and measurements.
- Ket - Embedded programming language that introduces the ease of Python to quantum programming.
- quantumcat - Cross-platform open-source high-level quantum computing library focused on building applications.
- Tangelo - Examples](https://github.com/goodchemistryco/Tangelo-Examples/) - Toolkit for quantum chemistry simulation workflows on quantum computers, maintained by [SandboxAQ](https://www.sandboxaq.com/).
-
Quantum fun
- Entanglion - The world’s first open source quantum computing board game. For 2 players.
- Unitary - API library providing common operations for adding quantum behaviors to games.
- Quandoom - Port of DOOM for a quantum computer.
Programming Languages
Categories
Quantum simulators
77
Quantum full-stack libraries
33
Quantum algorithms
32
Quantum tools
31
Abandoned projects
30
Quantum compilers
26
Experimental quantum computing
21
Quantum annealing
21
Quantum fun
17
Quantum and post-quantum cryptography
10
Quantum error correction
8
Quantum assembly
4
Quantum converters
4
Quantum control
3
Quantum data
2
Quantum Analog Hamiltonian
2
Quantum interoperability
2
License
1
Sub Categories
Keywords
quantum-computing
77
quantum
31
python
22
quantum-algorithms
15
quantum-information
12
quantum-circuit
11
simulation
9
quantum-programming-language
9
quantum-machine-learning
8
physics
6
qiskit
6
simulator
6
quantum-programming
6
machine-learning
6
google-quantum
6
cpp
6
cryptography
5
unitaryhack
5
quantum-mechanics
5
quantum-simulation
5
algorithms
5
quantum-error-correction
5
quantum-compiler
4
optimization
4
cpp17
4
c-plus-plus
4
quantum-circuits
4
sdk
4
quantum-development-kit
4
quantum-circuit-simulator
4
nisq
4
cirq
4
api
4
quantum-simulator
4
post-quantum-cryptography
4
compiler
3
post-quantum
3
tensorflow
3
decision-diagrams
3
python3
3
mqt
3
qubo
3
synthesis
3
gpu
3
jax
3
quantum-annealing
3
qubits
3
c
3
tensor-network
2
optimal-control
2