Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

qBraid | SDK

CI codecov GitHub Pages PyPI version Downloads License DOI

The qBraid-SDK is a platform-agnostic quantum runtime framework designed for both quantum software and hardware providers.

This Python-based tool streamlines the full lifecycle management of quantum jobs—from defining program specifications to job submission and through to the post-processing and visualization of results. Unlike existing runtime frameworks that focus their automation and abstractions on quantum components, qBraid adds an extra layer of abstractions that considers the ultimate IR needed to encode the quantum program and securely submit it to a remote API. Notably, the qBraid-SDK does not adhere to a fixed circuit-building library, or quantum program representation. Instead, it empowers providers to dynamically register any desired input program type as the target based on their specific needs. This flexibility is extended by the framework’s modular pipeline, which facilitates any number of additional program validation, transpilation, and compilation steps.

By addressing the full scope of client-side software requirements necessary for secure submission and management of quantum jobs, the qBraid-SDK vastly reduces the overhead and redundancy typically associated with the development of internal pipelines and cross-platform integrations in quantum computing.


qBraid-SDK runtime pipeline: transpile, transform, validate, submit

Resources

Installation & Setup

For the best experience, install the qBraid-SDK environment on lab.qbraid.com. Login (or create an account) and follow the steps to install an environment. Using the SDK on qBraid Lab means direct, pre-configured access to QPUs from IonQ, AQT, QuEra, Rigetti, Pasqal, and IQM, as well as on-demand simulators from qBraid, AWS, IonQ, QuEra, Quantinuum, Rigetti, and Pasqal. See qBraid Quantum Jobs and pricing for more.

Local install

The qBraid-SDK, and all of its dependencies, can be installed using pip:

pip install qbraid

Warning: qbraid versions <0.11 are not compatible with qBraid API V2. See migration guide.

To ensure compatibility with the new platform, use qbraid>=0.11.0.

You can also install from source by cloning this repository and running a pip install command in the root directory of the repository:

git clone https://github.com/qBraid/qBraid.git
cd qBraid
pip install .

Note: The qBraid-SDK requires Python 3.10 or greater.

To use qBraid Runtime locally, you must also install the necessary extras and configure your account credentials according to the device(s) that you are targeting. Follow the linked, provider-specific, instructions for the QbraidProvider, BraketProvider, QiskitRuntimeProvider, IonQProvider, OQCProvider, AQTProvider, AzureQuantumProvider, OpenQuantumProvider, OriginProvider, PasqalProvider, QPerfectProvider, QuantinuumProvider, QudoraProvider, and RigettiProvider as applicable.

Quickstart

Check version

You can view the version of the qBraid-SDK you have installed and get detailed information about the installation within Python using the following commands:

In [1]: import qbraid

In [2]: qbraid.__version__

In [3]: qbraid.about()

Transpiler

Graph-based approach to quantum program type conversions.

Below, QPROGRAM_REGISTRY maps shorthand identifiers for supported quantum programs, each corresponding to a type in the typed QPROGRAM Union. For example, 'qiskit' maps to qiskit.QuantumCircuit in QPROGRAM. Notably, 'qasm2' and 'qasm3' both represent raw OpenQASM strings. This arrangement simplifies targeting and transpiling between different quantum programming frameworks.

>>> from qbraid import QPROGRAM_REGISTRY
>>> QPROGRAM_REGISTRY
{'cirq': cirq.circuits.circuit.Circuit,
 'qiskit': qiskit.circuit.quantumcircuit.QuantumCircuit,
 'pennylane': pennylane.tape.tape.QuantumTape,
 'pyquil': pyquil.quil.Program,
 'pytket': pytket._tket.circuit.Circuit,
 'braket': braket.circuits.circuit.Circuit,
 'braket_ahs': braket.ahs.analog_hamiltonian_simulation.AnalogHamiltonianSimulation,
 'openqasm3': openqasm3.ast.Program,
 'pyqir': pyqir.Module,
 'cpp_pyqubo': cpp_pyqubo.Model,
 'qasm2': str,
 'qasm3': str,
 'qasm2_kirin': str,
 'ionq': qbraid.programs.typer.IonQDict,
 'qubo': qbraid.programs.typer.QuboCoefficientsDict,
 'bloqade': bloqade.analog.builder.assign.BatchAssign,
 'cudaq': cudaq.kernel.kernel_builder.PyKernel,
 'qibo': qibo.models.circuit.Circuit,
 'stim': stim._stim_sse2.Circuit,
 'pulser': pulser.sequence.sequence.Sequence,
 'pyqpanda3': pyqpanda3.core.QProg,
 'autoqasm': autoqasm.program.program.Program,
 'qrisp': qrisp.circuit.quantum_circuit.QuantumCircuit,
 'mimiqcircuits': mimiqcircuits.circuit.Circuit,
 'aqt_connector': aqt_connector.models.circuits.QuantumCircuit,
 'qat': qat.core.wrappers.circuit.Circuit}

Pass any registered quantum program along with a target package from QPROGRAM_REGISTRY to "transpile" your circuit to a new program type:

>>> from qbraid import random_circuit, transpile
>>> qiskit_circuit = random_circuit("qiskit")
>>> cirq_circuit = transpile(qiskit_circuit, "cirq")
>>> print(qiskit_circuit)
          ┌────────────┐
q_0: ──■──┤ Rx(3.0353) ├
     ┌─┴─┐└───┬────┬───┘
q_1: ┤ H ├────┤ √X ├────
     └───┘    └────┘
>>> print(cirq_circuit)
0: ───@───Rx(0.966π)───
      │
1: ───H───X^0.5────────

Behind the scenes, the qBraid-SDK uses rustworkx to create a directional graph that maps all possible conversions between supported program types:

from qbraid import ConversionGraph

# Loads native conversions from QPROGRAM_REGISTRY
graph = ConversionGraph()

graph.plot(legend=True)
qBraid-SDK conversion graph: every supported program type and the conversions between them

Above is every program type and conversion the SDK ships. graph.plot() draws the subset available in your environment, since a conversion is only registered once both of its program types are installed.

You can use the native conversions supported by qBraid, or define your own. For example:

from unittest.mock import Mock

from qbraid import Conversion, register_program_type

# replace with any program type
register_program_type(Mock, alias="mock")

# replace with your custom conversion function
example_qasm3_to_mock_func = lambda x: x

conversion = Conversion("qasm3", "mock", example_qasm3_to_mock_func)

graph.add_conversion(conversion)

# using a seed is helpful to ensure reproducibility
graph.plot(seed=20, k=3, legend=True)

QbraidProvider

Run experiments using on-demand simulators provided by qBraid. Retrieve a list of available devices:

from qbraid import QbraidProvider

provider = QbraidProvider()
devices = provider.get_devices()

Or, instantiate a known device by ID and submit quantum jobs from any supported program type:

device = provider.get_device("qbraid:qbraid:sim:qir-sv")
jobs = device.run([qiskit_circuit, braket_circuit, cirq_circuit, qasm3_str], shots=1000)

results = [job.result() for job in jobs]
batch_counts = [result.data.get_counts() for result in results]

print(batch_counts[0])
# {'00': 483, '01': 14, '10': 486, '11': 17}

And visualize the results:

from qbraid.visualization import plot_distribution, plot_histogram

plot_distribution(batch_counts)

plot_histogram(batch_counts)

Get Involved

Community GitHub Issues Stack Exchange Discord

License

Apache-2.0 License

Metadata

Release files for qbraid 0.13.1.dev20261002190217

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qbraid 0.13.1.dev20261002190217
File Size Uploaded
qbraid-0.13.1.dev20261002190217.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for qbraid 0.13.1.dev20261002190217
File Interpreter ABI Platform
qbraid-0.13.1.dev20261002190217-py3-none-any.whl Python 3 none any Details

Total release size: 1.5 MB

Release files / qbraid-0.13.1.dev20261002190217.tar.gz

Download URL qbraid-0.13.1.dev20261002190217.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
95bdc2755c6998d02742373396d420d41d5a37d8d5f01100236bd2a71d6b7727
BLAKE2b-256 checksum
How to use checksums
ff754e9db0bd71a3d60310b3d9fa8b5aed84f61e7a41d9d6fb9b62ee27b855d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / qbraid-0.13.1.dev20261002190217-py3-none-any.whl

Download URL qbraid-0.13.1.dev20261002190217-py3-none-any.whl
Size 456.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2cdcacb8803806bc088e0f4da71fdfadab7a5a87ad1db1fd1b555522f750bf0a
BLAKE2b-256 checksum
How to use checksums
5c1c2ba78673b03b044a98fe0e1a0ef599580053226c4172a6c0a9719bc4f1b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.12.2

2 release files

0.12.1

2 release files

0.11.1

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.10

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.10

2 release files

0.8.9

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page