List of Open Quantum Projects

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


Become a supporter

Quantum full-stack libraries

Cirq

Framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.

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.

ProjectQ

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

Q#

Microsoft’s quantum programming language with Visual Studio integration.

Qiskit

IBM’s quantum information software kit for simulating, compiling and executing quantum programs.

Qiskit-JS

IBM’s quantum information software kit for JavaScript.

Strawberry Fields

Xanadu’s software library for photonic quantum computing.

XACC

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

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.

Liqui|>

Toolsuite for quantum simulation developed by Microsoft QuArC.

PIQS

Efficient simulation of open quantum dynamics of identical qubits.

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).

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.

QWIRE

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

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.

QuSim

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

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 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 Experience.

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.

SimulaQron

Application level simulator of a quantum network.

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.

Quantum annealing

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.

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).

Quantum algorithms

Adapt

Algorithms for adaptive refinement of measurements.

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.

PennyLane

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

QFog

Framework for analyzing both classical and quantum Bayesian Networks.

Qiskit Aqua

Library of various quantum algorithm implemented with QISKit.

Qiskit Tutorial

Jupyter notebook filled with tutorials for QISKit.

Quantum Katas

Programming exercises for learning Q# and quantum computing.

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

XACC Examples

Example code using XACC for quantum computing.

XACC QChem

QPU Benchmarks for Quantum Chemistry via XACC, Psi4 and OpenFermion.

XACC VQE

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

Quantum compilers

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).

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.

Quantum assembly

OpenQASM

IBM’s 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. Parser

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.

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.

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.

qc-toolkit

Quantum Computing Toolkit for Qubit Control.

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

IBM Q bot

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

Quil syntax highlighter

Syntax highlighter for PyCharm.

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.

Squankum

Visual Java quantum simulator.

libquantum

C library for quantum computing and quantum simulation.

pQCS

Parallel quantum circuit synthesis with optimal T-count.