Science Score: 77.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
6 of 34 committers (17.6%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.2%) to scientific vocabulary
Keywords
Keywords from Contributors
Scientific Fields
Repository
A platform-agnostic quantum runtime framework
Basic Info
- Host: GitHub
- Owner: qBraid
- License: gpl-3.0
- Language: Python
- Default Branch: main
- Homepage: https://docs.qbraid.com/sdk
- Size: 40.3 MB
Statistics
- Stars: 93
- Watchers: 5
- Forks: 48
- Open Issues: 29
- Releases: 43
Topics
Metadata Files
README.md

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.

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, Oxford Quantum Circuits, QuEra, Rigetti, and IQM, as well as on-demand simulators from qBraid, AWS, IonQ, QuEra, and NEC. See qBraid Quantum Jobs and pricing for more.
Local install
The qBraid-SDK, and all of its dependencies, can be installed using pip:
bash
pip install qbraid
You can also install from source by cloning this repository and running a pip install command in the root directory of the repository:
bash
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, and AzureQuantumProvider, 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:
```python 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.
```python
from qbraid import QPROGRAMREGISTRY QPROGRAMREGISTRY {'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, 'braketahs': braket.ahs.analoghamiltoniansimulation.AnalogHamiltonianSimulation, 'openqasm3': openqasm3.ast.Program, 'pyqir': pyqir.Module, 'cpppyqubo': cpppyqubo.Model, 'qasm2': str, 'qasm3': str, 'qasm2kirin': str, 'ionq': qbraid.programs.typer.IonQDict, 'qubo': qbraid.programs.typer.QuboCoefficientsDict, 'bloqade': bloqade.analog.builder.assign.BatchAssign, 'cudaq': cudaq.kernel.kernelbuilder.PyKernel, 'qibo': qibo.models.circuit.Circuit, 'stim': stim.stimsse2.Circuit, 'pulser': pulser.sequence.sequence.Sequence, 'pyqpanda3': pyqpanda3.core.QProg, 'autoqasm': autoqasm.program.program.Program} ```
Pass any registered quantum program along with a target package from
QPROGRAM_REGISTRY to "transpile" your circuit to a new program type:
```python
from qbraid import randomcircuit, transpile qiskitcircuit = randomcircuit("qiskit") cirqcircuit = transpile(qiskitcircuit, "cirq") print(qiskitcircuit) ┌────────────┐ q0: ──■──┤ Rx(3.0353) ├ ┌─┴─┐└───┬────┬───┘ q1: ┤ 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:
```python from qbraid import ConversionGraph
Loads native conversions from QPROGRAM_REGISTRY
graph = ConversionGraph()
graph.plot(legend=True) ```

You can use the native conversions supported by qBraid, or define your own. For example:
```python from unittest.mock import Mock
from qbraid import Conversion, registerprogramtype
replace with any program type
registerprogramtype(Mock, alias="mock")
replace with your custom conversion function
exampleqasm3tomockfunc = lambda x: x
conversion = Conversion("qasm3", "mock", exampleqasm3tomockfunc)
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:
```python 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:
```python device = provider.getdevice("qbraidqirsimulator") jobs = device.run([qiskitcircuit, braketcircuit, cirqcircuit, qasm3_str], shots=1000)
results = [job.result() for job in jobs] batchcounts = [result.data.getcounts() for result in results]
print(batch_counts[0])
{'00': 483, '01': 14, '10': 486, '11': 17}
```
And visualize the results:
```python from qbraid.visualization import plotdistribution, plothistogram
plotdistribution(batchcounts)
plothistogram(batchcounts) ```
Get Involved
- Interested in contributing code, or making a PR? See CONTRIBUTING.md
- For feature requests and bug reports: Submit an issue
- For discussions, and specific questions about the qBraid-SDK join our discord community
- For questions that are more suited for a forum, post to QCSE with the
qbraidtag.
Launch on qBraid
The "Launch on qBraid" button (top) can be added to any public GitHub
repository. Clicking on it automatically opens qBraid Lab, and performs a
git clone of the project repo into your account's home directory. Copy the
code below, and replace YOUR-USERNAME and YOUR-REPOSITORY with your GitHub
info.
Use the badge in your project's README.md:
markdown
[<img src="https://qbraid-static.s3.amazonaws.com/logos/Launch_on_qBraid_white.png" width="150">](https://account.qbraid.com?gitHubUrl=https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git)
Use the badge in your project's README.rst:
rst
.. image:: https://qbraid-static.s3.amazonaws.com/logos/Launch_on_qBraid_white.png
:target: https://account.qbraid.com?gitHubUrl=https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git
:width: 150px
License
Owner
- Name: qBraid
- Login: qBraid
- Kind: organization
- Email: contact@qbraid.com
- Location: United States of America
- Website: https://qbraid.com/
- Twitter: qbraid_official
- Repositories: 9
- Profile: https://github.com/qBraid
Quantum Computing Platform
Citation (CITATION.cff)
cff-version: 1.2.0 title: 'qBraid-SDK: Platform-agnostic quantum runtime framework.' message: If you use this software, please cite it using the metadata from this file. type: software authors: - given-names: Ryan James family-names: Hill affiliation: qBraid Co. orcid: https://orcid.org/0009-0006-9222-0810 - given-names: Harshit family-names: Gupta affiliation: qBraid Co. - given-names: Ricky family-names: Young affiliation: qBraid Co. - given-names: Kanav family-names: Setia affiliation: qBraid Co. orcid: https://orcid.org/0000-0003-2032-3993 repository-code: https://github.com/qBraid/qBraid url: https://sdk.qbraid.com repository-artifact: https://github.com/qBraid/qBraid/releases/tag/v0.9.9 keywords: - python - quantum-computing - transpiler - openqasm - qir - runtime license: GPL-3.0 version: 0.9.9 doi: 10.5281/zenodo.12627596 date-released: '2025-09-01'
GitHub Events
Total
- Create event: 179
- Commit comment event: 2
- Release event: 15
- Issues event: 67
- Watch event: 20
- Delete event: 138
- Issue comment event: 276
- Push event: 499
- Pull request review comment event: 142
- Pull request review event: 175
- Pull request event: 323
- Fork event: 15
Last Year
- Create event: 179
- Commit comment event: 2
- Release event: 15
- Issues event: 67
- Watch event: 20
- Delete event: 138
- Issue comment event: 276
- Push event: 499
- Pull request review comment event: 142
- Pull request review event: 175
- Pull request event: 323
- Fork event: 15
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Ryan Hill | r****8@g****m | 1,413 |
| dependabot[bot] | 4****] | 141 |
| Rohan Jain | r****n@i****u | 116 |
| repo-visualizer | r****r | 89 |
| rryoung98 | r****8@g****m | 78 |
| Harshit Gupta | h****5@g****m | 36 |
| erikweis | 3****s | 36 |
| poig | l****g@g****m | 28 |
| gwjacobson | g****n@g****m | 16 |
| github-actions[bot] | 4****] | 15 |
| Mohamed Messaoud Louamri | m****i@g****m | 15 |
| poig | j****n@q****m | 14 |
| Kanav Setia | k****v@K****l | 14 |
| Kazuki Tsuoka | k****a@g****p | 11 |
| Caleb McIrvin | c****1@g****m | 10 |
| Kanav | k****r@d****u | 9 |
| anomius | s****t@g****m | 5 |
| Jason Necaise | n****8@g****m | 4 |
| Pranav Kakhandiki | p****i@P****l | 4 |
| Alessandro Cosentino | c****l@g****m | 3 |
| jiajuliu | j****u@s****u | 3 |
| pronil-wedefineapps | p****l@w****m | 3 |
| Enrique Anguiano Vara | e****v@g****m | 3 |
| Alvan Caleb Arulandu | 5****u | 2 |
| Pranet Sharma | 4****a | 2 |
| dhanaabhirajk | d****k@g****m | 2 |
| qBraid-admin | e****3@d****u | 2 |
| qBraid[bot] | 9****m | 2 |
| Brad Chase | b****e@r****m | 1 |
| Henry Makhanov | m****v@u****u | 1 |
| and 4 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 138
- Total pull requests: 611
- Average time to close issues: 5 months
- Average time to close pull requests: 5 days
- Total issue authors: 16
- Total pull request authors: 27
- Average comments per issue: 1.12
- Average comments per pull request: 0.7
- Merged pull requests: 469
- Bot issues: 2
- Bot pull requests: 213
Past Year
- Issues: 51
- Pull requests: 355
- Average time to close issues: 8 days
- Average time to close pull requests: 3 days
- Issue authors: 11
- Pull request authors: 19
- Average comments per issue: 0.98
- Average comments per pull request: 0.82
- Merged pull requests: 274
- Bot issues: 1
- Bot pull requests: 138
Top Authors
Issue Authors
- ryanhill1 (88)
- rryoung98 (11)
- cosenal (9)
- junliangtan1 (7)
- erikweis (3)
- bachase (3)
- xthecapx (3)
- TheGupta2012 (3)
- vprusso (2)
- kanavsetia (2)
- dependabot[bot] (2)
- weinbe58 (1)
- aiotko (1)
- poig (1)
- yitchen-tim (1)
Pull Request Authors
- ryanhill1 (296)
- dependabot[bot] (183)
- github-actions[bot] (30)
- rjain37 (20)
- TheGupta2012 (15)
- rryoung98 (10)
- SaashaJoshi (7)
- pranetksharma (6)
- cosenal (6)
- erikweis (5)
- arulandu (4)
- king-p3nguin (3)
- soheil-star01 (3)
- dhanaabhirajk (2)
- bachase (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 13,629 last-month
- Total dependent packages: 4
- Total dependent repositories: 1
- Total versions: 169
- Total maintainers: 2
pypi.org: qbraid
Platform-agnostic quantum runtime framework.
- Homepage: https://sdk.qbraid.com/
- Documentation: https://docs.qbraid.com/sdk
- License: gpl-3.0
-
Latest release: 0.9.9
published 4 months ago
