Qiskit
Qiskit is an open-source software development kit (SDK) for quantum computing, enabling users to build, optimize, and execute quantum circuits, algorithms, and applications on both simulators and real quantum hardware.[1] Developed primarily by IBM in collaboration with an active global open-source community, it provides a modular, extensible framework that supports quantum research across domains such as algorithms, high-performance simulation, and quantum information science.[2] As of 2024, Qiskit has achieved widespread adoption, with over 13 million downloads and preferred by 74% of quantum developers according to a Unitary Foundation survey.[2]
Originally released on March 7, 2017, Qiskit has evolved through iterative updates, culminating in the stable Qiskit 1.0 release on February 15, 2024, which marked a milestone for production-ready quantum programming with enhanced stability and performance.[3][4] As of November 2025, the latest stable version is 2.2.3, released on October 30, 2025, featuring improvements in compiler efficiency, such as 83 times faster transpilation compared to TKET and 29% fewer two-qubit gates in circuit optimization.[5][6] Qiskit's development emphasizes backend-agnostic compatibility, allowing seamless integration with quantum hardware from providers like IBM Quantum, IonQ, and Amazon Braket.[2]
Key components of Qiskit include the core Qiskit SDK for circuit construction and execution, Qiskit Aer for high-performance noise-aware simulation, and ecosystem extensions such as Qiskit Algorithms for variational and quantum machine learning methods, Qiskit Nature for solving quantum chemistry problems, and Qiskit Machine Learning for hybrid quantum-classical models.[7][8][9][10] Additional tools like Qiskit Metal support superconducting quantum hardware design, while Qiskit Runtime facilitates scalable cloud-based execution of quantum primitives.[11] With over 7,000 dependent projects, Qiskit serves as a foundational platform for advancing quantum utility and real-world applications.[2]
Overview
Definition and Purpose
Qiskit is an open-source, Python-based software development kit (SDK) developed by IBM for quantum information science and engineering.[2] It serves as a comprehensive software stack that enables users to design, simulate, compile, and execute quantum circuits on both simulators and real quantum hardware. The primary purposes of Qiskit include facilitating research in quantum algorithms, supporting educational initiatives in quantum computing, and accelerating the development of practical applications, particularly hybrid quantum-classical systems.[2] By providing tools for circuit construction, optimization, and execution, Qiskit lowers the barrier to entry for exploring noisy intermediate-scale quantum (NISQ) devices and advancing the field toward fault-tolerant quantum computing.[2]
Qiskit's modular architecture forms a layered stack designed for flexibility and extensibility, originally comprising core elements such as Terra for quantum circuit construction and manipulation, Aer for high-performance simulation, Ignis for quantum device characterization and error mitigation, and Aqua for quantum algorithms and applications.[12] Over time, components like Ignis and Aqua have evolved into specialized add-ons, such as Qiskit Experiments and domain-specific libraries (e.g., Qiskit Nature for quantum chemistry), allowing users to tailor the toolkit to particular needs while maintaining backward compatibility.[13] This structure supports seamless integration with IBM Quantum hardware and other backends, enabling scalable workflows from prototyping to production.
The toolkit targets a diverse user base, including quantum developers building applications, researchers prototyping algorithms, educators teaching quantum concepts, and enterprises developing hybrid solutions for optimization, machine learning, and simulation challenges.[2] As of November 2025, Qiskit has surpassed 16 million downloads and holds a 74% preference among quantum developers according to the 2024 Unitary Foundation survey, underscoring its pivotal role in the NISQ era by democratizing access to quantum resources and fostering innovation.[14][2]
History and Development
Qiskit was initially released in March 2017 by IBM Research as an integral part of the IBM Quantum Experience platform, providing an open-source Python-based software development kit for creating and executing quantum circuits on cloud-accessible quantum hardware. This launch marked a pivotal step in democratizing access to quantum computing tools, enabling developers worldwide to experiment with quantum algorithms without proprietary barriers. Shortly thereafter, Qiskit transitioned to a fully open-source project under the Apache 2.0 license, hosted on GitHub, which facilitated broader collaboration and rapid iteration.[15]
Key milestones in Qiskit's evolution include its integration with the IBM Q Network in 2018, which expanded enterprise access to quantum resources and fostered joint research initiatives between IBM and industry partners.[16] In 2020, IBM deprecated the Qiskit Aqua library—a higher-level component for domain-specific applications—and shifted focus toward modular primitives for more efficient algorithm execution, streamlining the framework for scalable quantum programming. The introduction of Qiskit Runtime in May 2021 enhanced cloud-based execution by optimizing quantum-classical hybrid workflows, achieving up to 120x speedups in simulations compared to prior methods.[17] This was followed by the launch of Qiskit Serverless in December 2023, enabling distributed execution of hybrid quantum-classical tasks across remote compute resources.[18]
Qiskit's development model emphasizes collaborative open-source contributions, primarily through its GitHub repositories managed by IBM Research alongside a global community of developers, resulting in over 7,000 dependent projects that extend its functionality.[2] Recent advancements reflect a strategic shift from Noisy Intermediate-Scale Quantum (NISQ)-era tools to preparations for fault-tolerant quantum computing, incorporating support for modular quantum-classical orchestration to handle utility-scale workloads. In October 2025, the release of Qiskit SDK v2.2 included quantum-high-performance computing (HPC) integration demonstrations and enhanced primitives for operators and circuits. Benchmarks from November 2025 show Qiskit v2.2 is 83x faster at transpilation than TKET 2.6.0 for large circuits. A patch release, v2.2.3, followed on October 30, 2025, with bug fixes and minor improvements.[6][19][5]
Core Components
Qiskit SDK
The Qiskit SDK serves as the foundational Python-based software development kit for constructing, simulating, and optimizing quantum circuits locally. It enables developers to build quantum programs using high-level abstractions while providing low-level control over quantum operations. The SDK is modular, allowing users to focus on algorithm design without immediate concern for hardware constraints during initial development.[1]
At its core, the SDK includes the qiskit.circuit module, which facilitates quantum circuit construction through classes like QuantumCircuit. This module represents computational routines that operate on qubits using unitary gates, measurements, and resets, supporting the creation of circuits for quantum processing units (QPUs). Complementing this is the qiskit.quantum_info module, designed for manipulating quantum states and operators. It offers tools for representing and analyzing quantum information, including statevectors, density matrices, Pauli operators, and channels, enabling tasks such as computing expectation values or evolving states under unitaries.[20][21]
Simulation capabilities are provided primarily via the separate Qiskit Aer package, a high-performance simulator. Aer supports multiple methods, including statevector simulation for ideal, noiseless circuits that track the full quantum state; density matrix simulation for handling noisy, open-system dynamics; and shot-based noise models that approximate real hardware imperfections by sampling outcomes over multiple executions. These features allow for accurate local validation of circuits before hardware deployment.[22]
The transpilation process in the Qiskit SDK transforms abstract circuits into executable forms tailored to specific hardware topologies. This involves stages such as initialization (unrolling custom gates), layout mapping (assigning virtual qubits to physical ones), routing (inserting swaps for connectivity), translation (converting to basis gates), optimization (reducing depth and gate count), and scheduling (managing execution timing). The transpile function orchestrates these via pass managers, with optimization levels from 0 (minimal) to 3 (aggressive). In the v2.2 release of October 2025, transpilation received performance enhancements, achieving 10-20% faster compilation on average through improved C API support and a standalone transpiler function.[23][24][6]
Installation of the Qiskit SDK is straightforward as a pip-installable Python package, requiring Python 3.9 or later.[25] Users create a virtual environment, activate it, and run pip install qiskit to obtain the core SDK; additional dependencies like qiskit[visualization] can be included for plotting tools. Basic usage follows a workflow of circuit creation, simulation, and result analysis. For example, to create and simulate a Bell state:
python
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
from qiskit.visualization import plot_histogram
# Create a Bell state circuit
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0, 1], [0, 1])
# Simulate using Aer
simulator = AerSimulator()
job = simulator.run(qc, shots=1000)
result = job.result()
counts = result.get_counts(qc)
# Visualize results
plot_histogram(counts)
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
from qiskit.visualization import plot_histogram
# Create a Bell state circuit
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0, 1], [0, 1])
# Simulate using Aer
simulator = AerSimulator()
job = simulator.run(qc, shots=1000)
result = job.result()
counts = result.get_counts(qc)
# Visualize results
plot_histogram(counts)
This code constructs an entangled two-qubit state, simulates 1000 shots, and displays the outcome distribution, typically showing equal probabilities for '00' and '11'.[26][27]
Performance features in the SDK include GPU acceleration for Aer simulations, enabled via CUDA 11.2 or higher and the qiskit-aer-gpu package, which leverages NVIDIA cuQuantum for faster statevector and density matrix computations on compatible hardware. Additionally, the SDK integrates seamlessly with NumPy and SciPy for hybrid classical-quantum workflows, allowing efficient handling of classical data processing alongside quantum operations, such as tensor manipulations or optimization loops.[28]
Qiskit Runtime
Qiskit Runtime is a cloud-based service introduced by IBM in May 2021, designed to enable scalable execution of quantum workloads on IBM Quantum hardware. It optimizes performance by co-locating quantum and classical code in a containerized environment, achieving up to 120x speedups in iterative computations compared to traditional methods. The service incorporates resilient execution mechanisms, including automatic error suppression and mitigation techniques such as dynamical decoupling and zero-noise extrapolation, to improve result accuracy on noisy quantum processors.[17][29]
At the core of Qiskit Runtime are its primitives: the Sampler, which generates quasi-probability distributions from quantum circuits to sample outcomes, and the Estimator, which computes expectation values of observables relative to quantum states. These primitives abstract low-level details, allowing users to focus on algorithmic design. With the release of version 2 primitives in 2024, enhancements were added for advanced operator support—enabling multiple observables in a single job—and batching capabilities, which permit simultaneous execution of multiple circuits or parameter sets for efficient parallel processing.[4]
Job management in Qiskit Runtime facilitates efficient handling of complex workloads through sessions, which enable coherent multi-job execution by maintaining backend state across iterations to reduce overhead and improve reproducibility. Parameter resolvers support sweeps over input parameters, allowing users to bind values to parameterized circuits for exploring optimization landscapes without repeated transpilation. The service integrates seamlessly with the IBM Quantum Platform for job submission, monitoring, and result retrieval via APIs.
Qiskit Runtime supports hybrid quantum-classical workflows, where classical feedback loops iteratively refine quantum circuits based on prior results, essential for algorithms like variational quantum eigensolvers. In 2025, enhancements expanded capabilities for large-scale circuit execution, including support for fractional gates and dynamic circuits (client version 0.42.0, September 2025) and a new version of dynamic circuits (July 2025) offering up to 75x speedup and parallel execution; simulations up to thousands of qubits are possible using advanced methods like tensor networks with the Qiskit Aer simulator as a backend.[30] Access is tiered: a free tier provides limited monthly execution time on open-plan quantum devices with over 100 qubits, while premium access for enterprise users is available through the IBM Quantum Network, offering priority queuing and dedicated resources.[31]
Qiskit Serverless
Qiskit Serverless, released in 2024 as an open-source extension of the Qiskit ecosystem, provides a programming model for executing quantum-classical hybrid workloads in a serverless manner across distributed environments, including multi-cloud platforms such as AWS and Azure, as well as high-performance computing (HPC) clusters.[32][33] This framework abstracts resource management, allowing developers to focus on application logic while automatically handling scaling and orchestration of tasks involving quantum processing units (QPUs), CPUs, and GPUs. By leveraging containerized execution similar to cloud-native services, it enables seamless deployment of long-running programs without manual infrastructure configuration, supporting the growing need for hybrid quantum computing at scale.[34]
Key features of Qiskit Serverless include the Quantum Runtime Middleware Interface (QRMI), a hardware-agnostic layer that facilitates plugin-based integration with diverse quantum backends, such as those from IonQ, Amazon Braket, and IBM Quantum.[35] This middleware simplifies vendor-specific complexities by providing unified APIs for resource control, ensuring portability across providers without altering core application code. Additionally, the framework supports parallel execution and resource allocation, akin to distributed computing libraries like Dask, enabling efficient scaling of jobs across multiple nodes for compute-intensive tasks.[36] Users benefit from built-in fault tolerance and asynchronous job handling, with options for local development and remote deployment via Docker or Kubernetes clusters.[32]
Workflow orchestration in Qiskit Serverless revolves around defining quantum functions as Python classes that encapsulate hybrid logic, which are then deployed to target environments for execution. Developers register these functions with a serverless runtime, specifying resource requirements, after which the system handles scheduling, data persistence, and result aggregation across distributed resources. This approach supports iterative workflows, such as those involving quantum primitives from Qiskit Runtime, by distributing classical pre- and post-processing alongside quantum executions.[33] For instance, a variational quantum algorithm can be orchestrated to run quantum subroutines on remote QPUs while classical optimization loops execute on HPC nodes, minimizing latency through automated load balancing.[37]
This evolution positions Qiskit Serverless as a bridge for quantum-centric supercomputing, allowing seamless incorporation of quantum accelerators into traditional HPC pipelines without custom middleware.[38]
Practical use cases for Qiskit Serverless include large-scale optimization problems, where distributed quantum annealing or QAOA variants are combined with classical solvers to tackle logistics or financial modeling at unprecedented scales. In machine learning applications, it facilitates hybrid quantum-classical training pipelines, distributing quantum feature maps or kernel estimations across cloud and HPC resources to accelerate model development for high-dimensional datasets.[39] These capabilities have been demonstrated in research settings.[40]
Qiskit Add-ons
Qiskit Add-ons evolved from the deprecated Qiskit Aqua library, which was officially deprecated in version 0.9.0 in April 2021, with support ending by the end of that year, to provide a more modular structure for quantum algorithm development.[41] The former Aqua's functionalities were refactored into standalone packages, emphasizing primitives such as SamplerV2 and EstimatorV2, introduced in Qiskit 1.0 in 2024, which enable flexible, modular building of algorithms by separating circuit execution from result interpretation and supporting batched inputs for efficient scaling. These primitives facilitate the construction of hybrid quantum-classical workflows without the monolithic approach of legacy components.
Key add-ons include Qiskit Optimization, which supports modeling and solving quadratic unconstrained binary optimization (QUBO) and Ising models through high-level abstractions and integration with quantum algorithms like the quantum approximate optimization algorithm (QAOA).[42] Qiskit Machine Learning provides tools for quantum-enhanced machine learning, featuring the quantum support vector machine (QSVM) for kernel-based classification using fidelity quantum kernels and the variational quantum classifier (VQC) for parameterized quantum circuits interpreted as neural networks.[43] Additionally, Qiskit Nature focuses on quantum chemistry simulations, enabling the computation of molecular ground and excited states via second-quantized operators mapped to qubit Hamiltonians.[44]
These add-ons incorporate pre-built function templates for core variational algorithms, such as the variational quantum eigensolver (VQE) for finding molecular ground states and QAOA for combinatorial optimization, with updates in Qiskit Algorithms as of September 2025 enhancing compatibility with V2 primitives to prepare for fault-tolerant quantum computing by improving scalability and error handling in larger circuits.[45]
Integration with the core Qiskit SDK allows plug-and-play circuit generation and execution; for instance, the EstimatorV2 primitive can compute energy expectation values for molecular Hamiltonians in VQE workflows by evaluating Pauli operators derived from second-quantized Hamiltonians, as demonstrated in Qiskit Nature tutorials where it processes ansatz circuits to minimize electronic energies.
For performance, the add-ons include built-in support for noise-aware algorithms through primitive options that incorporate backend noise models and error mitigation, alongside hybrid classical optimizers such as COBYLA for constrained derivative-free optimization and SPSA for stochastic gradient approximation, which are particularly effective in noisy intermediate-scale quantum environments by requiring fewer circuit evaluations.[46]
Ecosystem and Extensions
Community Plugins and Integrations
The Qiskit ecosystem encompasses a broad array of third-party extensions developed by the community, with numerous GitHub repositories listed in curated collections such as Awesome Qiskit, fostering interoperability across diverse quantum hardware providers.[47] Key plugins enable seamless access to non-IBM quantum devices, including qiskit-ionq for IonQ's trapped-ion systems, qiskit-braket-provider for Amazon Braket's multi-provider hardware, and qiskit-rigetti for Rigetti's superconducting QPUs.[48][49][50] These integrations allow developers to execute Qiskit circuits on heterogeneous backends without modifying core code, promoting a vendor-agnostic workflow.
Qiskit Metal stands out as a specialized tool for quantum hardware design, providing an open-source framework for creating superconducting quantum chips. Introduced in 2021, it supports layout automation for components like resonators and couplers, with updates through 2025 enhancing compatibility for advanced superconducting qubit architectures.[51] The tool facilitates end-to-end design flows, from schematic generation to electromagnetic simulations, enabling engineers to prototype multi-qubit devices efficiently.[52]
For performance evaluation, the Benchpress toolkit offers a standardized benchmarking suite to compare transpilation, circuit execution, and overall functionality across quantum providers and SDKs. Comprising over 1,000 tests, it quantifies metrics like compilation time and fidelity, helping developers assess scalability on diverse hardware.[53][54]
Interoperability is further advanced through the Quantum Resource Management Interface (QRMI), a vendor-agnostic standard that abstracts backend control and monitoring for on-premises or cloud quantum systems.[35] Qiskit also supports circuit conversions to frameworks like Cirq via translators such as Qusetta and to PennyLane through dedicated plugins, enabling hybrid workflows in quantum machine learning.[55][56]
In 2025, Qiskit's ecosystem saw heightened adoption in finance for optimization tasks and in chemistry for molecular simulations, bolstered by integrations with libraries like PennyLane for quantum ML applications and OpenFermion for fermionic system modeling.[57][58][59]
Educational and Community Initiatives
Qiskit supports quantum education through a variety of interactive resources designed to teach foundational concepts and practical skills. The Qiskit Textbook, an open-source, Jupyter notebook-based platform, provides tutorials on quantum gates, algorithms such as Grover's search, and hands-on experiments with quantum circuits.[60] Although the original repository was archived in 2024, its content remains accessible and has influenced subsequent learning materials, including integration into broader IBM Quantum platforms. These resources emphasize conceptual understanding, allowing learners to simulate and execute code on quantum hardware.[61]
IBM Quantum Learning, accessible via the Qiskit ecosystem, expands on these efforts with a library of over 10 courses covering quantum computing basics to advanced topics, delivered through interactive modules and expert-led videos.[62] This platform includes pathways updated in 2024 to guide users from introductory quantum mechanics to algorithm implementation using Qiskit.[63] Comprehensive documentation and tutorials hosted on quantum.cloud.ibm.com offer step-by-step guides on Qiskit installation, usage of primitives like Estimator and Sampler, and advanced subjects such as quantum error correction, including repetition codes and the Shor code.[64][65]
Qiskit fosters community engagement through structured programs that promote learning and collaboration. The Qiskit Global Summer School, an annual event since 2020, is a two-week virtual program featuring lectures from IBM Quantum experts, interactive labs, and Q&A sessions to build skills in quantum development.[66] The 2025 edition, themed "The Past, Present, and Future of Quantum Computing," attracted global participants to explore quantum technology evolution through hands-on Qiskit exercises.[67] Complementary initiatives like Qiskit Camps, held in various regions such as Europe in prior years, provide immersive training, technical talks, and hackathons to support diverse quantum communities.[68][69]
The Qiskit Advocate Program, relaunched in July 2025 as version 2.0, targets active community members worldwide by offering mentorship from IBM experts, networking opportunities, and priority access to IBM Quantum resources like hardware and premium features.[70] This global initiative, building on its 2019 origins, equips advocates with professional development tools to advance quantum education and research.[71]
Qiskit's community impact is evident in its open-source model, with thousands of contributions via GitHub through issues, pull requests, and code enhancements to the core SDK and extensions. Partnerships with universities and organizations, such as the IBM-HBCU Quantum Center and the IBM Quantum Network, integrate Qiskit into curricula and research collaborations across institutions worldwide, alongside local Qiskit user groups that host events and workshops.[72][73] These efforts have cultivated a diverse ecosystem, enabling user groups in regions like Europe and North America to organize hackathons and seminars.