Qiskit ecosystem

Explore projects and hardware providers that use the open-source Qiskit toolkit or are built on top of it.

Add your project

Transpiler plugins

Compile and optimize your quantum circuits

qiskit-qubit-reuse

Paper implementation
Implements ideas from research papers

A Qiskit transpiler stage plugin that reuses qubits through mid-circuit measurement and reset.

dsm-swap

Paper implementation
Implements ideas from research papers
Circuit
Builds or modifies quantum circuits

A doubly stochastic matrices-based approach to optimal qubit routing.

Qiskit TOQM

Paper implementation
Implements ideas from research papers
Circuit
Builds or modifies quantum circuits

Transpiler routing method that uses the Time-Optimal Qubit Mapping (TOQM) algorithm.

Qiskit BIP Mapper

Paper implementation
Implements ideas from research papers

Solve the routing and layout problems as a binary integer programming (BIP) problem. This is an implementation of G. Nannicini et al. "Optimal qubit assignment and routing via integer programming."

mirror-gates

Paper implementation
Implements ideas from research papers

MIRAGE is a transpilation plugin for quantum circuits that minimizes the use of SWAP gates while optimizing native basis gate decomposition through mirror gates. Specifically designed for iSWAP-based quantum systems, MIRAGE improves circuit depth, making quantum algorithms more practical and efficient.

Qiskit SAT Synthesis

Synthesis plugins for Cliffords, linear functions, permutations, and more

dynacir

Optimization
Applies quantum computing to optimization problems
Prototype
Written by the Qiskit prototypes team

Dynacir is a transpilation plugin for Qiskit that optimizes dynamic quantum circuits.

System providers

Access IBM Quantum and 3rd party systems and simulators to the following providers

Qiskit IBM Runtime

IBM maintained
Officially maintained by IBM Quantum
Provider
Connects Qiskit to hardware or simulators
Partner
Part of the Qiskit Partnership Program

Run Qiskit primitives on IBM Quantum hardware with built-in error suppression and mitigation.

Qiskit IBM Provider

IBM maintained
Officially maintained by IBM Quantum
Provider
Connects Qiskit to hardware or simulators
Partner
Part of the Qiskit Partnership Program

Access IBM Quantum systems.

Qiskit IonQ Provider

Provider
Connects Qiskit to hardware or simulators
Partner
Part of the Qiskit Partnership Program

This project contains a provider that allows access to IonQ ion trap quantum systems.

Qiskit AQT Provider

Provider
Connects Qiskit to hardware or simulators

Qiskit provider for ion-trap quantum computers from Alpine Quantum Technologies (AQT).

Qiskit Cold Atom

Provider
Connects Qiskit to hardware or simulators
Physics
Applies quantum computing to physics

Qiskit-cold-atom builds on core Qiskit functionalities to integrate programmable quantum simulators of trapped cold atoms in a gate- and circuit-based framework. The project includes a provider and simulators for fermionic and spin-based systems.

Qiskit Rigetti Provider

Provider
Connects Qiskit to hardware or simulators

Rigetti Provider for Qiskit.

Qiskit Qulacs

Circuit simulator
Simulates quantum computers
Converter
Converts Qiskit objects (such as QuantumCircuit) for use in other programs
Provider
Connects Qiskit to hardware or simulators

Qiskit-Qulacs allows users to execute Qiskit programs using Qulacs backend.

qiskit-superstaq

Converter
Converts Qiskit objects (such as QuantumCircuit) for use in other programs
Provider
Connects Qiskit to hardware or simulators

This package is used to access SuperstaQ via a Web API through Qiskit. Qiskit programmers can take advantage of the applications, pulse level optimizations, and write-once-target-all features of SuperstaQ with this package.

Application packages

Packages that help apply quantum technology to real-world use cases

pytorch-quantum

Machine learning
Uses or applies to machine learning

A PyTorch-centric hybrid classical-quantum dynamic neural networks framework.

Qiskit Machine Learning

Algorithms
Implements quantum algorithms
Machine learning
Uses or applies to machine learning

Use flexible building blocks, such as quantum kernels and neural networks, to create quantum machine learning algorithms.

Qiskit Nature

Algorithms
Implements quantum algorithms
Physics
Applies quantum computing to physics
Chemistry
Applies quantum computing to chemistry

Model and solve problems in physics, chemistry, material science, and biology by using quantum simulations.

Qiskit Finance

Algorithms
Implements quantum algorithms
Finance
Applies quantum computing to finance

This framework includes uncertainty components for stock/securities problems, Ising translators for portfolio optimizations, and data providers to source real or random data for finance experiments.

Qiskit Optimization

Algorithms
Implements quantum algorithms
Optimization
Applies quantum computing to optimization problems

Model optimization problems, convert them between different representations, and solve them by using quantum optimization algorithms on simulators or systems.

Qiskit Dynamics

IBM maintained
Officially maintained by IBM Quantum
Physics
Applies quantum computing to physics

Build, transform, and solve time-dependent quantum systems.

Qiskit Algorithms

Algorithms
Implements quantum algorithms

A library of quantum algorithms for near-term quantum devices with short-depth circuits.

Bosonic Qiskit

Physics
Applies quantum computing to physics

NQI C2QA project to simulate hybrid boson-qubit systems within Qiskit.

Quantum Kernel Training

Prototype
Written by the Qiskit prototypes team
Machine learning
Uses or applies to machine learning

Train and use quantum kernels for machine learning. This toolkit is for researchers and practitioners looking to explore and apply these algorithms to their work.

Entanglement Forging

Prototype
Written by the Qiskit prototypes team
Chemistry
Applies quantum computing to chemistry

Simulate larger chemical and physical systems using a Variational Quantum Eigensolver. Entanglement Forging doubles the size of the system that can be exactly simulated on a fixed set of qubits.

Quantum Random Access Optimization

Optimization
Applies quantum computing to optimization problems
Prototype
Written by the Qiskit prototypes team

Solve larger combinatorial optimization problems with quantum random access codes. Save resources by encoding many binary variables on a single qubit before solving with standard variational algorithms.

pyRiemann-qiskit

Machine learning
Uses or applies to machine learning

A library for supervised machine learning based on quantum computing and Riemannian geometry. The project is built on top of the Qiskit and pyRiemann projects and focuses on the classification of time series data.

Qiskit Nature PySCF

Chemistry
Applies quantum computing to chemistry

A third-party integration plugin of Qiskit Nature and PySCF.

Variational Quantum Linear Solver Prototype

Algorithms
Implements quantum algorithms
Optimization
Applies quantum computing to optimization problems

The Variational Quantum Linear Solver (VQLS) uses an optimization approach to solve linear systems of equations. The vqls-prototype allows to easily setup and deploy a VQLS instance on different backends through the use of qiskit primitives and the runtime library.

QiskitOpt.jl

Algorithms
Implements quantum algorithms
Julia
Written in the Julia programming language

QiskitOpt.jl is a Julia package that exports a JuMP wrapper for qiskit-optimization.

Qiskit Nature PySCF DFT Embedding

Algorithms
Implements quantum algorithms
Chemistry
Applies quantum computing to chemistry

This repository contains the latest prototype implementation of the Qiskit Nature + PySCF DFT Embedding. It is based on "Quantum HF/DFT-embedding algorithms for electronic structure calculations: Scaling up to complex molecular systems".

Electronic Structure Orbital Optimization

Algorithms
Implements quantum algorithms
Chemistry
Applies quantum computing to chemistry

Apply orbital optimization to quantum algorithms that solve electronic structure Hamiltonians. This collection of methods optimize the underlying basis set through orbital rotations, finding more accurate energies with fewer qubits.

Additional projects

Cool projects that extend, interface with, or use Qiskit

OpenQASM

OpenQASM
Supports Open Quantum Assembly Language

An imperative programming language for near-term quantum computing. Describe quantum programs by using the measurement-based quantum circuit model with support for classical feedforward flow control based on measurement outcomes.

Qiskit Aer

IBM maintained
Officially maintained by IBM Quantum
Circuit simulator
Simulates quantum computers

High-performance quantum computing simulators with realistic noise models.

Blueqat

Converter
Converts Qiskit objects (such as QuantumCircuit) for use in other programs
Software development kit
Helps develop Qiskit code

A quantum computing SDK

Mitiq

Error mitigation
Includes tools for mitigating errors

Mitiq is a Python toolkit for implementing error mitigation techniques on quantum computers.

Qiskit Metal

Hardware
For quantum hardware design or quantum control

Design superconducting qubits through a Python API or a visual interface.

Pennylane-Qiskit

Converter
Converts Qiskit objects (such as QuantumCircuit) for use in other programs

The PennyLane-Qiskit plugin integrates the Qiskit quantum computing framework with PennyLane's quantum machine learning capabilities.

pyEPR

Hardware
For quantum hardware design or quantum control

Qiskit Metal E&M analysis with Ansys and the energy-participation-ratio method is based on pyEPR.

Qiskit Experiments

IBM maintained
Officially maintained by IBM Quantum
Algorithms
Implements quantum algorithms
Hardware
For quantum hardware design or quantum control

Run characterizing, calibrating, and benchmarking experiments.

RasQberry

Game
Games or playful education resources

RasQberry is a functional model of IBM Quantum System One, and can run Qiskit on the integrated Raspberry Pi

QPong

Game
Games or playful education resources

A quantum version of the classic game Pong built with Qiskit and PyGame

Q-CTRL Open Controls

Hardware
For quantum hardware design or quantum control

Q-CTRL Open Controls is an open-source Python package that makes it easy to create and deploy established error-robust quantum control protocols from the open literature.

qtcodes

Error correction
Performs or investigates quantum error correction

Qiskit Topological Codes.

Qiskit QEC

Algorithms
Implements quantum algorithms
Error correction
Performs or investigates quantum error correction
Circuit
Builds or modifies quantum circuits

For quantum error correction developers, experimentalists, and theorists.

Qiskit Research

Paper implementation
Implements ideas from research papers

Run quantum computing research experiments by using Qiskit and IBM Quantum services, demonstrating best practices by example.

Quantum Inspire SDK

Algorithms
Implements quantum algorithms

This platform allows you to execute quantum algorithms using the cQASM language.

c3

Circuit simulator
Simulates quantum computers

The C3 package is intended to close the loop between open-loop control optimization, control pulse calibration, and model-matching based on calibration data.

Circuit Knitting Toolbox

Algorithms
Implements quantum algorithms
Circuit
Builds or modifies quantum circuits

Decompose large circuits into smaller, hardware-executable circuits, then use their results to reconstruct the original circuit's outcome. This toolbox includes entanglement forging, circuit knitting, and classical embedding.

qBraid

Circuit
Builds or modifies quantum circuits
OpenQASM
Supports Open Quantum Assembly Language
Converter
Converts Qiskit objects (such as QuantumCircuit) for use in other programs
Software development kit
Helps develop Qiskit code

The qBraid-SDK is a Python toolkit for cross-framework abstraction, transpilation, and execution of quantum programs.

Quantum Serverless

Software development kit
Helps develop Qiskit code

Execute Qiskit programs as long-running jobs and distribute them across many CPUs, GPUs, and QPUs.

Spinoza

Circuit simulator
Simulates quantum computers
Rust
Written in the Rust programming language

One of the fastest open-source quantum state simulators. Spinoza has a Qiskit-like quantum circuit interface, runs on various computing environments, and supports multi-threading and distributed computing.

qlasskit

Converter
Converts Qiskit objects (such as QuantumCircuit) for use in other programs

Qlasskit is a Python library that allows quantum developers to write classical algorithms in pure Python and translate them into quantum circuits.

Quantum Prototype Template

Productivity
Tool to make working with Qiskit easier

A template repository for generating new quantum prototypes based on Qiskit.

mthree

IBM maintained
Officially maintained by IBM Quantum
Error mitigation
Includes tools for mitigating errors

Matrix-free Measurement Mitigation (M3). Reduce the effects of readout errors from noisy quantum hardware.

QiskitBot

Productivity
Tool to make working with Qiskit easier

A discord bot that allows you to execute Quantum Circuits, look up the Qiskit's Documentation, and search questions on the Quantum Computing StackExchange

quantumcat

Algorithms
Implements quantum algorithms
Converter
Converts Qiskit objects (such as QuantumCircuit) for use in other programs

quantumcat is a platform-independent, open-source, high-level quantum computing library, which allows the quantum community to focus on developing platform-independent quantum applications without much effort.

Kaleidoscope

Visualization
Produces images, animations, or graphical user interfaces

Kaleidoscope

qiskit-symb

Quantum information
Tool for quantum information experiments
Circuit simulator
Simulates quantum computers

Easy-to-use Python package designed to enable symbolic quantum computation in Qiskit. It provides the basic tools for the symbolic evaluation of statevectors, density matrices, and unitary operators directly created from parametric Qiskit quantum circuits. The implementation is based on the Sympy library as backend for symbolic expressions manipulation.

Quantum-Glasses

Visualization
Produces images, animations, or graphical user interfaces

Visualise the effects of single-qubit gates on a qubit via Bloch sphere simulation in a Tkinter software.

qMuVi

Converter
Converts Qiskit objects (such as QuantumCircuit) for use in other programs
Visualization
Produces images, animations, or graphical user interfaces
Education
For learning or teaching about quantum computing

Convert circuits into audiovisual experiences, bridging the gap between complex quantum computations and human perception. Render music videos that reveal the evolution of quantum states, making quantum computing more intuitive and accessible.

qiskit-alt

Julia
Written in the Julia programming language
Provider
Connects Qiskit to hardware or simulators

A Python package that uses a backend written in Julia to implement high performance features for standard Qiskit.

Qiskit Timeline Debugger

Visualization
Produces images, animations, or graphical user interfaces
Productivity
Tool to make working with Qiskit easier
Transpiler plugin
Extends Qiskit's transpiler

A Jupyter widget to highlight the actions of the qiskit transpiler. Simply replace the transpile function with the debugger to see circuit evolution, property set changes, logs, docs, and more.

pytket-qiskit

Converter
Converts Qiskit objects (such as QuantumCircuit) for use in other programs

An extension to Pytket (a python module for interfacing with CQC tket) that allows Pytket circuits to be run on IBM backends and simulators, as well as conversion to and from Qiskit representations.

Quantum Tetris

Game
Games or playful education resources

What would happen if you combine Tetris with a Quantum computer? The winning entry of the Quantum Design Jam from IBM and Parsons in October 2021 explores just that!

PurpleCaffeine

Productivity
Tool to make working with Qiskit easier
Jupyter notebook
Uses or supports Jupyter notebooks

Project is aimed to create simple general interface to track quantum experiments, store and search them in an easy way.

SAT Circuits Synthesis Engine

Algorithms
Implements quantum algorithms
Circuit
Builds or modifies quantum circuits

A Python-Qiskit-based package that provides capabilities of easily generating, executing and analyzing quantum circuits for satisfiability problems according to user-defined constraints. The circuits generated by the program are based on Grover's algorithm and its amplitude-amplification generalization.

qdao

Circuit simulator
Simulates quantum computers

A lightweight framework to enable configurable memory consumption when simulating large quantum circuits.

diskit

Circuit
Builds or modifies quantum circuits
Converter
Converts Qiskit objects (such as QuantumCircuit) for use in other programs

Distributed quantum computing is a concept that proposes to connect multiple quantum computers in a network to leverage a collection of more, but physically separated, qubits. In order to perform distributed quantum computing, it is necessary to add the addition of classical communication and entanglement distribution so that the control information from one qubit can be applied to another that is... located on another quantum computer. For more details on distributed quantum computing, see the Medium blog post "Distributed Quantum Computing: A path to large scale quantum computing". In this project, we aim to validate distributed quantum algorithms using Qiskit. Because Qiskit does not yet come with networking features, we embed a "virtual network topology" into large circuits to mimic distributed quantum computing. The idea is to take a monolithic quantum circuit developed in the Qiskit language and distribute the circuit according to an artificially segmented version of a quantum processor. The inputs to the library are a quantum algorithm written monolithically (i.e., in a single circuit) and a topology parameter that represents the artificial segmentation of the single quantum processor. The algorithm takes these two inputs and remaps the Qiskit circuit to the specified segmentation, adding all necessary steps to perform an equivalent distributed quantum circuit. Our algorithm for achieving this is based on the work "Distributed Quantum Computing and Network Control for Accelerated VQE" (doi: 10.1109/TQE.2021.3057908). The algorithm output is another Qiskit circuit with the equivalent measurement statistics but with all of the additional logic needed to perform a distributed version.

dense-ev

Paper implementation
Implements ideas from research papers

Implements expectation value measurements in Qiskit using optimal dense grouping. Dense-ev provides an improvement of ~2^m over naive grouping and (3/2)^m over qubit-wise commuting groups.

q-kernel-ops

Advocate mentorship project
Develped as part of the Qiskit Advocate Mentorship Program (QAMP)
Machine learning
Uses or applies to machine learning

Code based on the paper "Kernel Matrix Completion for Offline Quantum-Enhanced Machine Learning".

qiskit-classroom

Visualization
Produces images, animations, or graphical user interfaces

Qiskit-classroom is a toolkit that helps implement quantum algorithms by converting and visualizing different expressions used in the Qiskit ecosystem using Qiskit-classroom-converter. The following three transformations are supported : Quantum circuit to Dirac notation, quantum circuit to matrix, matrix to quantum circuit etc.

qiskit-classroom-converter

Converter
Converts Qiskit objects (such as QuantumCircuit) for use in other programs

Convert quantum circuits, matrices, and bra-ket strings. This converter includes the following conversion functions: quantum circuit to bra-ket notation, quantum circuit to matrix, matrix to quantum circuit, bra-ket notation to matrix.

QoptKIT

Circuit simulator
Simulates quantum computers

Optical circuits in Qiskit. Translate Qiskit circuits to quantum-optical circuits made of phase shifters and beamsplitters, simulate the circuit, then translate the outcome back to a qubit encoding.

quPython

Circuit
Builds or modifies quantum circuits
Converter
Converts Qiskit objects (such as QuantumCircuit) for use in other programs
Productivity
Tool to make working with Qiskit easier

Write quantum programs as Python functions instead of circuit objects. Create higher-level quantum data types and return measurement results as bool-like objects.

qiskit-metal-docker

Hardware
For quantum hardware design or quantum control

A Docker image to run Qiskit Metal projects.

zoose-codespace

Jupyter notebook
Uses or supports Jupyter notebooks

GitHub Codespace template repository based on Zoose Quantum, a custom Docker image with everything included, so you can be up and running with any of the major quantum libraries (incl. Qiskit) with only two clicks! No installation required. Ideal for beginners or people who want to code quantum circuits on the go. Code quantum circuits straight in your browser with VSCode.