List of Open Quantum Projects

Mirror of the curated list of open source developed quantum software projects hosted on QOSF’s GitHub page.

Join our Slack

How to Add Your Project

Please read our Contribution Guide before submitting new projects

Quantum full-stack libraries

avaloni

Programming language (interpreter) for classical-quantum hybrid computers.

Braket

Amazon’s 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

Rigetti’s software library for writing, simulating, compiling and executing quantum programs.

Ocean

D-Wave System’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

Quandela’s software library for programming realistic photonic quantum computers.

ProjectQ

Hardware-agnostic framework with compiler and simulator with emulation capabilities.

pytket

Quantum computing toolkit for building, compiling, and executing quantum circuits (developed by Quantinuum).

Q#

Microsoft’s quantum programming language with Visual Studio integration.

Qadence

Pasqal’s package for building differentiable digital and digital-analog quantum programs realizable on neutral atom devices.

Qiskit

Framework for noisy quantum computers at the level of pulses, circuits, and algorithms (supported by IBM).

Qrisp

A high-level programming language and framework for creating and compiling quantum algorithms.

Silq

Silq is a high-level quantum programming language with safe uncomputation and intuitive semantics.

Strawberry Fields

Xanadu’s software library for photonic quantum computing.

Tangelo

Toolkit for quantum chemistry simulation workflows on quantum computers, maintained by SandboxAQ.

Tequila

An Extensible Quantum Information and Learning Architecture developed by Alan Aspuru-Guzik’s group (UofT).

XACC

Extreme-scale programming model for quantum acceleration within high-performance computing.

staq

Full stack quantum processing toolkit.

Quantum simulators

BLACK-STONE

Specification and implementation of quantum common lisp, for gate-model quantum computers.

Cliffords.jl

Efficient calculation of Clifford circuits in Julia.

Dynamiqs

High-performance quantum systems simulation with JAX (GPU-accelerated & differentiable).

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. (arXiv / IEEE)

Liqui|>

Toolsuite for quantum simulation developed by Azure Quantum.

MQT DDSIM

Quantum circuit simulator using decision diagrams as a datastructure. Python interface and Qiskit backend.

PauliPropagation.jl

Pauli propagation simulation of quantum circuits in the Heisenberg picture.

PIQS

Efficient simulation of open quantum dynamics of identical qubits.

Stim

Fast stabilizer circuit simulator.

QCGPU

High-performance GPU-accelerated quantum computer simulation outlined in this arXiv paper.

QCL

High level, hardware-agnostic programming language for quantum computers (syntax like C or Pascal).

QCircuits

User-friendly quantum circuit simulator designed for students and newcomers to quantum computing.

QOCS

Quantum OCaml Circuit Simulator is a functional approach to simulating quantum gates.

QSimulator.jl

Unitary and Lindbladian evolution in Julia.

QTop

Simulation and visualization of topological quantum computers.

QVM

Rigetti’s high-performance quantum virtual machine.

QWIRE

A quantum circuit language and formal verification tool described in this paper.

Qibo

Framework for quantum simulation with hardware acceleration, including multi-GPU support.

Qiskit Aer

High performance simulator for quantum circuits that includes noise models (supported by IBM).

Qlmp

Interpreter for the functional quantum programming language Qumin.

Qrack

Comprehensive qubit and gate implementation for developing universal virtual quantum processors.

QuEST

Quantum Exact Simulation Toolkit is a high performance multicore simulator of universal quantum circuits.

QuNetSim

A quantum network simulation framework.

QuPy

Quantum circuit simulator for both CPU and GPU.

QuSim

Ideal noise-free multi-qubit simulator written in 150 lines of code.

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.

QuaC

Parallel time-dependent open quantum systems solver.

Quantum Circuit Simulator

Smoothly runs 20+ qubit simulations in browser or on node.js server.

Quantum JavaScript (Q.js)

Drag-and-drop circuit editor, simulator, documented API, text-as-circuit DSL, concept primers.

Quantum Virtual Machine

Reference implementation of Rigetti’s Quantum Virtual Machine.

Quantum++

High-performance general purpose quantum simulator (can simulate d-dimensional qudits).

QuantumInfo.jl

Julia library for quantum information related calculations.

QuantumUtils

Tools for quantum control, simulation, channel representation conversion, and perturbations.

Quintuple

Simulating the 5-qubit processor of the IBM Quantum Plartform.

Quipper

Scalable functional programming language for quantum computing based on Quantum Lambda Calculus.

Quirk

Drag-and-drop quantum circuit simulator in your browser.

RandomQuantum.jl

Package for generating random quantum states and processes.

SeQuencing

Construct and simulate realistic quantum control sequences using QuTiP.

SimulaQron

Application level simulator of a quantum network.

SwiftQuantumComputing

Quantum circuit simulator with a bit of genetic programming.

The Walrus

Xanadu’s library for simulating Gaussian Boson Sampling.

TNQVM

Tensor Network QPU Simulator for Eclipse XACC.

Yao.jl

Extensible, Efficient Quantum Algorithm Design for Humans.

jquil

A Java library for quantum programming using Quil.

jsquil

JavaScript interface for writing Quil programs.

libQuantumJava

Crude translation from the C implementation of libquantum to a Java version.

qSim

High level, elementary simulation library.

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 to a D-Wave Hamiltonian function

QMASM

Quantum macro assembler for D-Wave systems

Qbsolv

QUBO solver with D-Wave or classical tabu solver backend.

Virtual Hardware Embedding

Virtual Hardware Embedding Suite for adiabatic quantum computing.

chimera_embedding

Algorithms to generate native-structured embeddings for Chimera graphs.

dimod

Shared API for Ising and QUBO problems.

dwave-cloud-client

Min. implementation of the REST interface to communicate with D-Wave’s Solver API.

dwave-system

API for easily incorporating D-Wave quantum annealers as samplers in the Ocean software stack.

dwave_neal

An implementation of a simulated annealing sampler.

dwave_networkx

Exploration and analysis of network graphs.

dwavebinarycsp

Map constraint satisfaction problems with binary variables to binary quadratic models.

edif2qmasm

Compile Verilog, VHDL, and other hardware-description languages to a D-Wave Hamiltonian function

embedding_utilities

Mapping samples between original and embedded graph.

micro_client_sapi_dimod

Dimod wrapper for the D-Wave Micro Client.

minorminer

Heuristic tool for minor graph embedding.

penaltymodel

Utilities and interfaces for using penalty models.

sapi_dimod

Dimod wrapper for D-Wave’s Solver API (SAPI).

qubovert

Formulating and simulated annealing of Ising, QUBO, and higher order problems with constraints.

Quantum algorithms

Adapt

Algorithms for adaptive refinement of measurements.

Arline Quantum

Library with implementation of quantum gates and hardware, a part of Arline Benchmarks project.

FermiLib

Software for analyzing fermionic quantum simulation algorithms with ProjectQ.

Grove

Quantum algorithms implemented using Rigetti’s pyQuil.

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.

PennyLane

Library for quantum ML, automatic differentiation and optimization of hybrid computations.

QFog

Framework for analyzing both classical and quantum Bayesian Networks.

Qiskit Nature

Qiskit component for chemistry and physics problems including ground state energy computations, excited states and dipole moments of molecule, both open and closed-shell.

Qiskit Optimization

Qiskit component that covers the whole range from high-level modeling of optimization problems.

Qiskit Machine Learning

Qiskit component that contains classification algorithms such as QSVM and VQC (Variational Quantum Classifier). There is also QGAN (Quantum Generative Adversarial Network)

Qiskit Finance

Qiskit component that contains uncertainty components for stock/securities problems, Ising translators for portfolio optimizations and data providers to source real or random data to finance experiments.

Qualtran

A library for expressing and analyzing Fault Tolerant Quantum algorithms.

Qiskit Tutorial

Jupyter notebook filled with tutorials for Qiskit.

Quantum Katas

Programming exercises for learning Q# and quantum computing.

Quantum TSP

Tutorials on solving Travelling Salesman Problem using quantum computing (QAOA).

QuantumFlow

Quantum Algorithms Development Toolkit e.g. allowing for backpropagation with QAOA.

QuantumTomography.jl

Julia package to perform quantum state and process tomography.

Quantum_Edward

Python tools for supervised learning by Quantum Neural Networks

VQF

Implementation of Variational Quantum Factoring algorithm (in pyQuil)

XACC VQE

Variational quantum eigensolver built on XACC for distributed, and shared memory systems.

Quantum compilers

Arline Benchmarks

Automated benchmarking platform for quantum compilers, quantum hardware and quantum algorithms.

Catalyst

AOT/JIT compiler for hybrid quantum computing beyond NISQ. Written in MLIR.

Mitiq

Cross-platform, error-mitigating quantum compiler from Unitary Fund.

MQT QMAP

Quantum circuit mapping. Clifford synthesis. Compilation for neutral atom architectures.

PyZX

Python library for quantum circuit rewriting and optimisation using the ZX-calculus.

QGL.jl

A performance orientated QGL compiler.

QGL2 Compiler

Language compiler for imperative Quantum Gate Language (QGL).

Qiskit Terra

Python library for quantum circuit rewriting and optimization (supported by IBM).

Qubiter

Quantum compiler with Python wrapper for LAPACK’s CS Decomposition to build a binary tree of matrices.

ScaffCC

Compilation, analysis and optimization framework for the Scaffold quantum programming language.

UniversalQCompiler

Synthesis of isometries (including unitaries and state preparation), channels and POVMs.

quilc

Rigetti’s optimizing Quil compiler.

Quantum assembly

Blackbird

Open-source quantum instruction language currently used for Xanadu’s photonic hardware.

OpenQASM

Open-source quantum assembly language.

QMASM

A quantum macro assembler for D-Wave’s quantum annealers.

Quil

An open hybrid quantum/classical instruction set currently used by Rigetti.

Quantum and post-quantum cryptography

QRL

Quantum Resistant Ledger utilizing hash-based one-time merkle tree signature scheme instead of ECDSA.

liboqs

C library for quantum-resistant cryptographic algorithms.

PQClean

Clean, portable, tested implementations of post-quantum cryptography.

openssh

OpenSSH with quantum-safe key exchange algorithms.

openssl

OpenSSL with quantum-safe cryptographic algorithms.

Experimental quantum computing

ARTIQ

Next-generation control system for quantum information experiments.

MQT DASQA

Framework to encapsulate application-driven superconducting architecture design.

PyQLab

Library for instrument control and superconducting QIP experiments.

QFlow-lite

Machine Learning tools for autotuning quantum dot experiments.

QGL

Domain-specific language embedded in Python for specifying pulse sequences.

Qlab

Measurement and control software for superconducting qubits.

Qlab.jl

Generic lab tools in Julia.

Quince

Node-based GUI that allows for graphical configuration of qubit experiments in Auspex.

qupulse

Quantum computing pulse parametrization and sequencing framework (formerly qc-toolkit).

Quantum fun

Entanglion

The world’s first open source quantum computing board game. For 2 players.

QSEL

Quantum programming language putting entanglement and superposition front and center.

Quantum Awesomeness

Simple puzzles to benchmark various quantum processor.

Quantum Battleships

Playing battleships with quantum measurements.

Quantum Catsweeper

Quantum game loosely based on Minesweeper Flag.

Quantum Game with Photons

Puzzle game in browser, with polarization, superposition, and measurement.

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 Puzzle Generator

Educational puzzle game for Android and iOS.

SudoQ

Sudoku solver that leverages a D-Wave Quantum Annealer.

bloqit

A tiny qubit duel for your smart phone.

feyn

Puzzle game for the browser in which you need to find the combination of gates that the qubits need to pass.

Quantum tools

IBM Q bot

Bot for Slack and Telegram to monitor the load of IBM Q quantum computers.

MQT Bench

Quantum circuit benchmark suite providing benchmark algorithms for different compilation levels.

QI

Toolkit for common quantum information functions.

QuantumGraphs

Grow and study random graphs by a continuous, randomly collapsing quantum walk.

Quil syntax highlighter

Syntax highlighter for PyCharm.

qBraid

Transpiles quantum circuits to and from Cirq, Qiskit, Amazon Braket, Pennylane, Pyquil and allows for execution on any backend.

toqito

Framework to study problems pertaining to entanglement theory, nonlocal games, and other aspects of quantum information.

Abandoned projects

PySimulator

Python with C++ backend simulator for superconducting circuits.

QACG

Quantum Arithmetic Circuit Generator in Haskell.

QCViewer

A visual quantum circuit design and simulation tool.

Qiskit-JS

Quantum information software kit for JavaScript (supported by IBM).

Squankum

Visual Java quantum simulator.

libquantum

C library for quantum computing and quantum simulation.

MQT Qudits

A framework for research and education for mixed-dimensional qudit quantum computing.