awesome-quantum-software
by qosf
Curated list of open-source quantum software projects.
AI summary
Quantum software collection
Curated list of open-source quantum software projects for building and simulating quantum computers.
- stars
- 1.5K
- forks
- 320
- watching
- 117
- awesome list
- 1
- entries
- 272
What's in the list
272 links in 17 sections, with live GitHub stats.activeno commit in 2y
Quantum full-stack libraries
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 ( )
XACC
Extreme-scale programming model for quantum acceleration within high-performance computing ( )
qpp
Quantum++ is a modern C++ general purpose quantum computing library, composed solely of template header files
blueqat
Quantum computing SDK
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
fully managed quantum computing service for building quantum algorithms
Cirq
Framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits
CUDA-Q
Platform for accelerated quantum-classical applications on GPUs, CPUs and QPUs
Forest
's software library for writing, simulating, compiling and executing quantum programs
- Ket
Embedded programming language that introduces the ease of Python to quantum programming
Ocean
's suite of tools for solving hard problems with quantum computers
OpenQL
Compiler framework with algorithm libraries, optimizer, scheduler, QEC, mapping, micro-code generator
- PennyLane
Cross-platform Python library for differentiable programming of quantum computers
Perceval
'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
- pytket
Quantum computing toolkit for building, compiling, and executing quantum circuits (developed by Quantinuum)
Qadence
's package for building differentiable digital and digital-analog quantum programs realizable on neutral atom devices
quantumcat
Cross-platform open-source high-level quantum computing library focused on building applications
Qibo
An open-source framework for quantum simulation, self-hosted quantum hardware control and calibration
- Qiskit
Framework for noisy quantum computers at the level of pulses, circuits, and algorithms (supported by IBM)
quantum-os
Operating system based on Linux kernel for quantum computing
Strawberry Fields
's software library for photonic quantum computing
Tangelo
and - Toolkit for quantum chemistry simulation workflows on quantum computers, maintained by
TensorCircuit
Tensor network based quantum software framework for the NISQ era
Tequila
Extensible Quantum Information and Learning Architecture developed by Alan Aspuru-Guzik's group (UofT)
- Q#
Microsoft's quantum programming language with Visual Studio integration
- Silq
Silq is a high-level quantum programming language with safe uncomputation and intuitive semantics
Quantum simulators
Quplexity
Modular toolkit for QC simulators. Quplexity offers essential mathematical functions and logic relative to quantum computer simulation. Quplexity is written in ARM(64) and x86 Assembly, which results in improved performance and "weight" benefits
QuaC
Parallel time-dependent open quantum systems solver
QuEST
Quantum Exact Simulation Toolkit is a high performance multicore simulator of universal quantum circuits
TNQVM
Tensor Network QPU Simulator for Eclipse
QVM
Rigetti's high-performance quantum virtual machine
QWIRE
Quantum circuit language and formal verification tool
Huawei HiQsimulator
Single-amplitude, Full-amplitude and Error-correction circuit simulation engine
Intel Quantum Simulator
Distributed qubit register quantum simulator using OpenMP and MPI
JKQ-DDSIM
Error-free quantum simulator using decision diagrams as underlying data structure ( / )
PennyLane Lightning
Fast state-vector simulator written in C++. GPU support. Python interface via
qFlex
Flexible high-performance simulator for verifying and benchmarking quantum circuits implemented on real hardware
Qiskit Aer
High performance simulator for quantum circuits that includes noise models (supported by IBM)
QCEAD
C++ program to both simulate a quantum computer and use parallel evolutionary techniques to design algorithms
QCSim
Quantum computing simulator with many algorithms as examples and tests ( )
QPlayer
Light-weight, scalable and fast quantum Schrödinger simulator ( )
Qrack
Comprehensive qubit and gate implementation for developing universal virtual quantum processors
qSim
High level, elementary simulation library
QSim
Schrödinger and Schrödinger-Feynman simulators for quantum circuits
Quantum++
High-performance general purpose quantum simulator (can simulate d-dimensional qudits) ( )
tweedledum
Library for synthesis, compilation, and optimization of quantum circuits
- Liqui|>
Toolsuite for quantum simulation developed by
Q
Quantum Computation Simulator written purely in GoLang
Strange
Java API that can be used to create Quantum Programs
jsquil
JavaScript interface for writing programs
Quantum Circuit Simulator
Smoothly runs 20+ qubit simulations in browser or on node.js server
Quirk
Drag-and-drop quantum circuit simulator in your browser
- Quantum JavaScript (Q.js)
Drag-and-drop circuit editor, simulator, documented API, text-as-circuit DSL, concept primers
Quantum-computing-playground
Browser-based simple IDE interface to run, visualize and debug quantum programs
Quantum tensors
JavaScript / TypeScript package for sparse tensor operations on complex numbers for quantum computing
BosonSampling.jl
Efficient simulation of multiphoton interference
Cliffords.jl
Efficient calculation of Clifford circuits in Julia
IonSim.jl
Simulate the dynamics of a configuration of trapped ions interacting with laser light
KadanoffBaym.jl
Adaptive many-body time evolution of non-equilibrium Green functions
PauliStrings.jl
Many-body simulations in the Pauli strings representation
QSimulator.jl
Unitary and Lindbladian evolution in Julia
QuantumInfo.jl
Julia library for quantum information related calculations
- QuantumOptics.jl
Numerical framework to simulate various kinds of open quantum systems in Julia
RandomQuantum.jl
Package for generating random quantum states and processes
Yao.jl
Extensible, Efficient Quantum Algorithm Design for Humans
Graphix
Measurement-Based Quantum Computing (MBQC) compiler, simulator and QPU interface
Horqrux
Jax-based quantum state vector simulator tailored for quantum machine learning from
Interlin-q
Quantum network simulator imitating distributed quantum systems with interconnect communication between nodes
MentPy
Python package for creating and simulating Measurement-based Quantum Computating (MBQC) programs
MISTIQS
Generating/compiling/executing quantum circuits for simulating quantum many-body dynamics of systems
PIQS
Efficient simulation of open quantum dynamics of identical qubits
PyQTorch
PyTorch-based state vector simulator designed for quantum machine learning from
QCircuits
User-friendly quantum circuit simulator designed for students and newcomers to quantum computing
QCompute
's software development kit for designing quantum circuits and simulating on a high-performance simulator
Qibo
Framework for quantum simulation with hardware acceleration using just-in-time compilation
QTop
Simulation and visualization of topological quantum computers
quantum-computing
Functionally complete simulator for universal quantum computing in Python
QuForge
Python package for qudit simulation
quimb
Easy but fast python library for quantum information and many-body calculations, including with tensor networks
Quintuple
Simulating the 5-qubit processor of the
QuPy
Quantum circuit simulator for both CPU and GPU
QuSpin
Exact diagonalization and dynamics of arbitrary boson, fermion and spin many-body systems
- QuTiP
User-friendly and efficient numerical simulations of a wide variety of open quantum systems
SeQuencing
Construct and simulate realistic quantum control sequences using QuTiP
SimulaQron
Application level simulator of a quantum network
SOQCS
Library to define, simulate, and study non-ideal quantum optical circuits (API provided both in Python and C++)
Stim
Fast stabilizer circuit simulator
SQUANCH
Distributed simulation framework for quantum networks and channels
QuNetSim
Quantum network simulation framework
The Walrus
's library for simulating Gaussian Boson Sampling
- gdsfactory
and - Open Source Python library designed for crafting chips (Photonics, Analog, Quantum, MEMs, and more), 3D printed objects, and PCBs. Plugins for Simulating Analog, RF, and Photonics circuits
QCGPU
High-performance GPU-accelerated quantum computer simulation outlined in this
Quriust
A blazing fast Rust library for simulating quantum circuits. Only for quriust ones
RustQIP
Rust Quantum Computing library leveraging graph building to build efficient quantum circuit simulations
SwiftQuantumComputing
Quantum circuit simulator with a bit of genetic programming
Quantum Analog Hamiltonian
Quantum annealing
C-to-D-Wave
Compile a very small subset of C to a D-Wave Hamiltonian function
edif2qmasm
Compile , , and other hardware-description languages to a D-Wave Hamiltonian function
QA Prolog
Compile a subset of 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_networkx
Exploration and analysis of network graphs
dwave-system
API for easily incorporating D-Wave quantum annealers as samplers in the software stack
embedding_utilities
Mapping samples between original and embedded graph
micro_client_sapi_dimod
wrapper for the D-Wave Micro Client
minorminer
Heuristic tool for minor graph embedding
penaltymodel
Utilities and interfaces for using penalty models
QMASM
Quantum macro assembler for D-Wave systems
qubo-nn
Classifying, auto-encoding and reverse-engineering QUBO matrices. Also includes 20 problem formulations
qubovert
Formulating and simulated annealing of Ising, QUBO, and higher order problems with constraints
Qbsolv
QUBO solver with or classical tabu solver backend
Quantum algorithms
XACC VQE
Variational quantum eigensolver built on for distributed, and shared memory systems
myQShor
Quantum implementation of Shor's algorithm
QAOA.jl
Implementation the Quantum Approximate Optimization Algorithm (QAOA) in Julia
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 project
Boson Sampling
Library to calculate interferometer output probabilities given Fock state inputs to help better understand
FermiLib
Software for analyzing fermionic quantum simulation algorithms with
Grove
Quantum algorithms implemented using 's
G/SG Morph
Quantum annealing algorithms for Graph/Subgraph Isomorphism based on
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
spin_qudit_tomography
Code used in spin tomography using qudits
- Tensorflow Quantum
Library for hybrid quantum-classical machine learning
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
- XACC Examples
Example code using for quantum computing
- XACC QChem
QPU Benchmarks for Quantum Chemistry via , and
Quantum Katas
Programming exercises for learning Q# and quantum computing
Quantum compilers
Catalyst
AOT/JIT compiler for hybrid quantum computing beyond NISQ. Written in MLIR. Python frontend via
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)
tweedledum
C++17 library for analysis, compilation/synthesis, and optimization of quantum circuits
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
- BQSKit
Berkeley Quantum Synthesis Toolkit is an optimizing quantum compiler and related tool-set
Mitiq
Cross-platform, error-mitigating quantum compiler from
NchooseK
Constraint-programming system that compiles to both circuit-model quantum computers and quantum annealers
PyZX
Python library for quantum circuit rewriting and optimisation using the ZX-calculus
QEDA
Quantum electronic design automation software for optical circuits using QASM
QGL2 Compiler
Language compiler for imperative Quantum Gate Language ( )
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 to build a binary tree of matrices
SAT Circuits Engine
Qiskit-based high-level quantum circuits synthesis engine for n-SAT problems
TKET2
Rewrite based toolkit for optimization of quantum programs (version 2 of the quantum compiler)
quilc
Rigetti's optimizing Quil compiler
Quantum converters
- qconvert-js
Quantastica's quantum programming language converter in Javascript
- qconvert
Quantastica's quantum programming language converter in Python
Quantum assembly
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
Qibo
Qibo provides a platform agnostic quantum hardware control module with drivers for multiple instruments
Quanlse
Quanlse provides quantum control solutions via a cloud SDK, developed by
Quantum interoperability
Digital Soul
Unified platform for CPU, GPU, FPGA, and Quantum Computing
scikit-quant
This is a package to improve interoperability between different quantum computer software packages
Quantum error correction
CodingTheory
Julia package for constructing and analyzing classical and quantum error-correcting codes
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
Qiskit Experiments
Python package for quantum error correction experiments (supported by IBM)
Qsurface
Python package for simulation and visualization of quantum error-correction on surface codes
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
powered by quantum operations
Qashchain
based on circuits
QRL
utilizing hash-based one-time merkle tree signature scheme instead of ECDSA
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
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
QEDA
Quantum Electronics Design Automation - The RTL of Quantum Computing!
Quantum fun
Entanglion
The world’s first open source quantum computing board game. For 2 players
Quantum Puzzle Generator
Educational puzzle game for Android and iOS
bloqit
Tiny qubit duel for your smart phone
- QiskitBlocks
Game that teaches quantum computing using Qiskit in a Minetest block world
Quantum Catsweeper
Quantum game loosely based on Minesweeper Flag
SudoQ
Sudoku solver that leverages a D-Wave Quantum Annealer
Quantum Music Composer for IBM Q
Compose and perform quantum music with IBM Q
Quantum Music Composer for Rigetti
Compose and perform quantum music with Rigetti's Forest
Quantum Game with Photons
Puzzle game in browser, with polarization, superposition, and measurement
- feyn
Puzzle game for the browser in which you need to find the combination of gates that the qubits need to pass
Quantum tools
- Quantum
Free Mathematica add-on for Dirac Bra-Ket Notation, Quantum Algebra, Quantum Computing and the QHD approximation to the Heisenberg Equations of Motion
QI
Toolkit for common quantum information functions
Arline Quantum
Arline Quantum is an open-source library providing basic functionality for creating and manipulating quantum circuits. It also contains a list of mock quantum hardware
Covalent
Tool for running high performance/quantum workflows on advanced computing hardwares
Gridsynth-Python-wrapper
Wrapper for using Gridsynth in Python/
IBM Q bot
Bot for Slack and Telegram to monitor the load of IBM Q quantum computers
orqviz
Library to easily visualize the loss landscape of variational quantum algorithms
pulsemaker
Python widget library for designing pulses and pulse schedules for quantum computing hardware
- pymablock
Package for the construction of effective Hamiltonians using quasi-degenerate perturbation theory
pyQuirk
Python widget for Quirk to be used in Jupyter notebooks, JupyterLab, and the IPython kernel
- qBraid
Transpiles quantum circuits to and from Cirq, Qiskit, Amazon Braket, Pennylane, Pyquil and allows for execution on any backend
qonduit
Python library with visualization tools and workflows for quantum computing that utilize the best of what’s available
- qprof
-compatible profiler for quantum programs
QRAND
Multiplatform and multiprotocol quantum random number generator for arbitrary probability distributions
QuantumGraphs
Grow and study random graphs by a continuous, randomly collapsing quantum walk
toqito
Framework to study problems pertaining to entanglement theory, nonlocal games, and other aspects of quantum information
ZXLive
GUI editor for ZX diagrams
- SpookyIDE
IDE designed for quantum computing
Quil syntax highlighter
Syntax highlighter for PyCharm
Quantum data
QDataSet
Quantum datasets for the training and development of QML algorithms
Abandoned projects
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 to a Java version
jquil
Java library for quantum programming using
- pQCS
with optimal T-count
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 compiler
Qlmp
Interpreter for the functional quantum programming language Qumin
Qiskit Aqua
Library of various quantum algorithm implemented with
qiskit-ignis
Tools for quantum hardware verification, noise characterization, and error correction
Qiskit Tutorial
Jupyter notebook filled with tutorials for
Qiskit-JS
for JavaScript (supported by IBM)
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
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
wrapper for D-Wave's Solver API (SAPI)
Squankum
Visual Java quantum simulator
8Q
8 Qbit, Photonic Quantum Computer
Nothing in this list matches your filter.
Featured in 1 awesome list
Each link jumps to the spot where the list mentions awesome-quantum-software.