qbraid


Nameqbraid JSON
Version 0.9.1 PyPI version JSON
download
home_pageNone
SummaryPlatform-agnostic quantum runtime framework.
upload_time2025-01-15 02:03:42
maintainerNone
docs_urlNone
authorqBraid Development Team
requires_python>=3.10
licenseGNU General Public License v3.0
keywords qbraid quantum openqasm runtime
VCS
bugtrack_url
requirements rustworkx numpy openqasm3 qbraid-core pydantic typing-extensions pyqasm
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <img width=full alt="qbraid-sdk-header" src="https://user-images.githubusercontent.com/46977852/224456452-605e51f2-193d-4789-863e-e51cdd4b0a54.png">

<p align="center">
  <a href="https://github.com/qBraid/qBraid/actions/workflows/main.yml">
    <img src="https://github.com/qBraid/qBraid/actions/workflows/main.yml/badge.svg?branch=main" alt="CI"/>
  </a>
  <a href="https://codecov.io/gh/qBraid/qBraid">
    <img src="https://codecov.io/gh/qBraid/qBraid/branch/main/graph/badge.svg?token=1UTM0XZB7A" alt="codecov"/>
  </a>
  <a href="https://sdk.qbraid.com/en/latest/">
    <img src="https://readthedocs.com/projects/qbraid-qbraid/badge/?version=latest" alt="Documentation Status"/>
  </a>
  <a href="https://pypi.org/project/qbraid/">
    <img src="https://img.shields.io/pypi/v/qbraid.svg?color=blue" alt="PyPI version"/>
  </a>
  <a href="https://pepy.tech/project/qbraid">
    <img src="https://static.pepy.tech/badge/qbraid" alt="Downloads"/>
  </a>
  <a href="https://www.gnu.org/licenses/gpl-3.0.html">
    <img src="https://img.shields.io/github/license/qBraid/qbraid.svg" alt="License"/>
  </a>
  <a href="https://doi.org/10.5281/zenodo.12627597">
    <img src="https://zenodo.org/badge/DOI/10.5281/zenodo.12627597.svg" alt="DOI">
  </a>
</p>

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&mdash;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.

[<img src="https://qbraid-static.s3.amazonaws.com/logos/Launch_on_qBraid_white.png" width="150">](https://account.qbraid.com?gitHubUrl=https://github.com/qBraid/qBraid.git)

---

![Runtime Diagram](https://qbraid-static.s3.amazonaws.com/qbraid-runtime.png)

## Resources

- [User Guide](https://docs.qbraid.com/sdk/user-guide/)
- [API Reference](https://sdk.qbraid.com/en/stable/api/qbraid.html)
- [Example Notebooks](https://github.com/qBraid/qbraid-lab-demo)

## Installation & Setup

For the best experience, install the qBraid-SDK environment on [lab.qbraid.com](https://lab.qbraid.com). Login (or
[create an account](https://account.qbraid.com)) and follow the steps to
[install an environment](https://docs.qbraid.com/lab/user-guide/environments#install-environment). Using the SDK on [qBraid Lab](https://docs.qbraid.com/lab/user-guide/overview) 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](https://docs.qbraid.com/lab/user-guide/quantum-jobs) and [pricing](https://docs.qbraid.com/home/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](CONTRIBUTING.md#installing-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](https://docs.qbraid.com/sdk/user-guide/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](https://docs.qbraid.com/sdk/user-guide/runtime_native), [BraketProvider](https://docs.qbraid.com/sdk/user-guide/runtime_braket), [QiskitRuntimeProvider](https://docs.qbraid.com/sdk/user-guide/runtime_ibm), [IonQProvider](https://docs.qbraid.com/sdk/user-guide/runtime_ionq), [OQCProvider](https://docs.qbraid.com/sdk/user-guide/runtime_oqc), and [AzureQuantumProvider](https://docs.qbraid.com/sdk/user-guide/providers/azure), 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 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,
 'openqasm3': openqasm3.ast.Program,
 'pyqir': pyqir.Module,
 'qasm2': str,
 'qasm3': str}
```

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 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](https://www.rustworkx.org/) 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)
```

<img src="https://qbraid-static.s3.amazonaws.com/conversion_graph_extras_legend.png" style="width: 65%;">

You can use the native conversions supported by qBraid, or define your own. For [example](https://docs.qbraid.com/sdk/user-guide/transpiler#conversion-graph):

```python
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 experiements 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.get_device("qbraid_qir_simulator")
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:

```python
from qbraid.visualization import plot_distribution, plot_histogram

plot_distribution(batch_counts)

plot_histogram(batch_counts)
```

## Get Involved

[![Community](https://img.shields.io/badge/Community-DF0982)](https://github.com/qBraid/community)
[![GitHub Issues](https://img.shields.io/badge/issue_tracking-github-blue?logo=github)](https://github.com/qBraid/qBraid/issues)
[![Stack Exchange](https://img.shields.io/badge/StackExchange-qbraid-orange?logo=stackexchange)](https://quantumcomputing.stackexchange.com/questions/tagged/qbraid)
[![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?logo=discord&logoColor=white)](https://discord.gg/TPBU2sa8Et)

- Interested in contributing code, or making a PR? See
  [CONTRIBUTING.md](CONTRIBUTING.md)
- For feature requests and bug reports:
  [Submit an issue](https://github.com/qBraid/qBraid/issues)
- For discussions, and specific questions about the qBraid-SDK [join our discord community](https://discord.gg/TPBU2sa8Et)
- For questions that are more suited for a forum, post to [QCSE](https://quantumcomputing.stackexchange.com/) with the [`qbraid`](https://quantumcomputing.stackexchange.com/questions/tagged/qbraid) tag.

## Launch on qBraid

The "Launch on qBraid" button (top) can be added to any public GitHub
repository. Clicking on it automaically 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

[GNU General Public License v3.0](LICENSE)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "qbraid",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "qbraid, quantum, openqasm, runtime",
    "author": "qBraid Development Team",
    "author_email": "contact@qbraid.com",
    "download_url": "https://files.pythonhosted.org/packages/7e/68/e002efb7e1722c12e551afdc9c56a42410d19954c00562fe9a875a5bf5c3/qbraid-0.9.1.tar.gz",
    "platform": null,
    "description": "<img width=full alt=\"qbraid-sdk-header\" src=\"https://user-images.githubusercontent.com/46977852/224456452-605e51f2-193d-4789-863e-e51cdd4b0a54.png\">\n\n<p align=\"center\">\n  <a href=\"https://github.com/qBraid/qBraid/actions/workflows/main.yml\">\n    <img src=\"https://github.com/qBraid/qBraid/actions/workflows/main.yml/badge.svg?branch=main\" alt=\"CI\"/>\n  </a>\n  <a href=\"https://codecov.io/gh/qBraid/qBraid\">\n    <img src=\"https://codecov.io/gh/qBraid/qBraid/branch/main/graph/badge.svg?token=1UTM0XZB7A\" alt=\"codecov\"/>\n  </a>\n  <a href=\"https://sdk.qbraid.com/en/latest/\">\n    <img src=\"https://readthedocs.com/projects/qbraid-qbraid/badge/?version=latest\" alt=\"Documentation Status\"/>\n  </a>\n  <a href=\"https://pypi.org/project/qbraid/\">\n    <img src=\"https://img.shields.io/pypi/v/qbraid.svg?color=blue\" alt=\"PyPI version\"/>\n  </a>\n  <a href=\"https://pepy.tech/project/qbraid\">\n    <img src=\"https://static.pepy.tech/badge/qbraid\" alt=\"Downloads\"/>\n  </a>\n  <a href=\"https://www.gnu.org/licenses/gpl-3.0.html\">\n    <img src=\"https://img.shields.io/github/license/qBraid/qbraid.svg\" alt=\"License\"/>\n  </a>\n  <a href=\"https://doi.org/10.5281/zenodo.12627597\">\n    <img src=\"https://zenodo.org/badge/DOI/10.5281/zenodo.12627597.svg\" alt=\"DOI\">\n  </a>\n</p>\n\nThe qBraid-SDK is a platform-agnostic quantum runtime framework designed for both quantum software and hardware providers.\n\nThis Python-based tool streamlines the full lifecycle management of quantum jobs&mdash;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\u2019s modular pipeline, which facilitates any number of additional program validation, transpilation, and compilation steps.\n\nBy 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.\n\n[<img src=\"https://qbraid-static.s3.amazonaws.com/logos/Launch_on_qBraid_white.png\" width=\"150\">](https://account.qbraid.com?gitHubUrl=https://github.com/qBraid/qBraid.git)\n\n---\n\n![Runtime Diagram](https://qbraid-static.s3.amazonaws.com/qbraid-runtime.png)\n\n## Resources\n\n- [User Guide](https://docs.qbraid.com/sdk/user-guide/)\n- [API Reference](https://sdk.qbraid.com/en/stable/api/qbraid.html)\n- [Example Notebooks](https://github.com/qBraid/qbraid-lab-demo)\n\n## Installation & Setup\n\nFor the best experience, install the qBraid-SDK environment on [lab.qbraid.com](https://lab.qbraid.com). Login (or\n[create an account](https://account.qbraid.com)) and follow the steps to\n[install an environment](https://docs.qbraid.com/lab/user-guide/environments#install-environment). Using the SDK on [qBraid Lab](https://docs.qbraid.com/lab/user-guide/overview) 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](https://docs.qbraid.com/lab/user-guide/quantum-jobs) and [pricing](https://docs.qbraid.com/home/pricing) for more.\n\n### Local install\n\nThe qBraid-SDK, and all of its dependencies, can be installed using pip:\n\n```bash\npip install qbraid\n```\n\nYou can also [install from source](CONTRIBUTING.md#installing-from-source) by cloning this repository and running a pip install command in the root directory of the repository:\n\n```bash\ngit clone https://github.com/qBraid/qBraid.git\ncd qBraid\npip install .\n```\n\n> _Note:_ The qBraid-SDK requires Python 3.10 or greater.\n\nTo use [qBraid Runtime](https://docs.qbraid.com/sdk/user-guide/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](https://docs.qbraid.com/sdk/user-guide/runtime_native), [BraketProvider](https://docs.qbraid.com/sdk/user-guide/runtime_braket), [QiskitRuntimeProvider](https://docs.qbraid.com/sdk/user-guide/runtime_ibm), [IonQProvider](https://docs.qbraid.com/sdk/user-guide/runtime_ionq), [OQCProvider](https://docs.qbraid.com/sdk/user-guide/runtime_oqc), and [AzureQuantumProvider](https://docs.qbraid.com/sdk/user-guide/providers/azure), as applicable.\n\n## Quickstart\n\n### Check version\n\nYou can view the version of the qBraid-SDK you have installed and get detailed information about the installation within Python using the following commands:\n\n```python\nIn [1]: import qbraid\n\nIn [2]: qbraid.__version__\n\nIn [3]: qbraid.about()\n```\n\n### Transpiler\n\nGraph-based approach to quantum program type conversions.\n\nBelow, `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.\n\n```python\n>>> from qbraid import QPROGRAM_REGISTRY\n>>> QPROGRAM_REGISTRY\n{'cirq': cirq.circuits.circuit.Circuit,\n 'qiskit': qiskit.circuit.quantumcircuit.QuantumCircuit,\n 'pennylane': pennylane.tape.tape.QuantumTape,\n 'pyquil': pyquil.quil.Program,\n 'pytket': pytket._tket.circuit.Circuit,\n 'braket': braket.circuits.circuit.Circuit,\n 'openqasm3': openqasm3.ast.Program,\n 'pyqir': pyqir.Module,\n 'qasm2': str,\n 'qasm3': str}\n```\n\nPass any registered quantum program along with a target package from\n`QPROGRAM_REGISTRY` to \"transpile\" your circuit to a new program type:\n\n```python\n>>> from qbraid import random_circuit, transpile\n>>> qiskit_circuit = random_circuit(\"qiskit\")\n>>> cirq_circuit = transpile(qiskit_circuit, \"cirq\")\n>>> print(qiskit_circuit)\n          \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\nq_0: \u2500\u2500\u25a0\u2500\u2500\u2524 Rx(3.0353) \u251c\n     \u250c\u2500\u2534\u2500\u2510\u2514\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2518\nq_1: \u2524 H \u251c\u2500\u2500\u2500\u2500\u2524 \u221aX \u251c\u2500\u2500\u2500\u2500\n     \u2514\u2500\u2500\u2500\u2518    \u2514\u2500\u2500\u2500\u2500\u2518\n>>> print(cirq_circuit)\n0: \u2500\u2500\u2500@\u2500\u2500\u2500Rx(0.966\u03c0)\u2500\u2500\u2500\n      \u2502\n1: \u2500\u2500\u2500H\u2500\u2500\u2500X^0.5\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n```\n\nBehind the scenes, the qBraid-SDK uses [rustworkx](https://www.rustworkx.org/) to create a\ndirectional graph that maps all possible conversions between supported program types:\n\n```python\nfrom qbraid import ConversionGraph\n\n# Loads native conversions from QPROGRAM_REGISTRY\ngraph = ConversionGraph()\n\ngraph.plot(legend=True)\n```\n\n<img src=\"https://qbraid-static.s3.amazonaws.com/conversion_graph_extras_legend.png\" style=\"width: 65%;\">\n\nYou can use the native conversions supported by qBraid, or define your own. For [example](https://docs.qbraid.com/sdk/user-guide/transpiler#conversion-graph):\n\n```python\nfrom unittest.mock import Mock\n\nfrom qbraid import Conversion, register_program_type\n\n# replace with any program type\nregister_program_type(Mock, alias=\"mock\")\n\n# replace with your custom conversion function\nexample_qasm3_to_mock_func = lambda x: x\n\nconversion = Conversion(\"qasm3\", \"mock\", example_qasm3_to_mock_func)\n\ngraph.add_conversion(conversion)\n\n# using a seed is helpful to ensure reproducibility\ngraph.plot(seed=20, k=3, legend=True)\n```\n\n### QbraidProvider\n\nRun experiements using on-demand simulators provided by qBraid. Retrieve a list of available devices:\n\n```python\nfrom qbraid import QbraidProvider\n\nprovider = QbraidProvider()\ndevices = provider.get_devices()\n```\n\nOr, instantiate a known device by ID and submit quantum jobs from any supported program type:\n\n```python\ndevice = provider.get_device(\"qbraid_qir_simulator\")\njobs = device.run([qiskit_circuit, braket_circuit, cirq_circuit, qasm3_str], shots=1000)\n\nresults = [job.result() for job in jobs]\nbatch_counts = [result.data.get_counts() for result in results]\n\nprint(batch_counts[0])\n# {'00': 483, '01': 14, '10': 486, '11': 17}\n```\n\nAnd visualize the results:\n\n```python\nfrom qbraid.visualization import plot_distribution, plot_histogram\n\nplot_distribution(batch_counts)\n\nplot_histogram(batch_counts)\n```\n\n## Get Involved\n\n[![Community](https://img.shields.io/badge/Community-DF0982)](https://github.com/qBraid/community)\n[![GitHub Issues](https://img.shields.io/badge/issue_tracking-github-blue?logo=github)](https://github.com/qBraid/qBraid/issues)\n[![Stack Exchange](https://img.shields.io/badge/StackExchange-qbraid-orange?logo=stackexchange)](https://quantumcomputing.stackexchange.com/questions/tagged/qbraid)\n[![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?logo=discord&logoColor=white)](https://discord.gg/TPBU2sa8Et)\n\n- Interested in contributing code, or making a PR? See\n  [CONTRIBUTING.md](CONTRIBUTING.md)\n- For feature requests and bug reports:\n  [Submit an issue](https://github.com/qBraid/qBraid/issues)\n- For discussions, and specific questions about the qBraid-SDK [join our discord community](https://discord.gg/TPBU2sa8Et)\n- For questions that are more suited for a forum, post to [QCSE](https://quantumcomputing.stackexchange.com/) with the [`qbraid`](https://quantumcomputing.stackexchange.com/questions/tagged/qbraid) tag.\n\n## Launch on qBraid\n\nThe \"Launch on qBraid\" button (top) can be added to any public GitHub\nrepository. Clicking on it automaically opens qBraid Lab, and performs a\n`git clone` of the project repo into your account's home directory. Copy the\ncode below, and replace `YOUR-USERNAME` and `YOUR-REPOSITORY` with your GitHub\ninfo.\n\nUse the badge in your project's `README.md`:\n\n```markdown\n[<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)\n```\n\nUse the badge in your project's `README.rst`:\n\n```rst\n.. image:: https://qbraid-static.s3.amazonaws.com/logos/Launch_on_qBraid_white.png\n    :target: https://account.qbraid.com?gitHubUrl=https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git\n    :width: 150px\n```\n\n## License\n\n[GNU General Public License v3.0](LICENSE)\n",
    "bugtrack_url": null,
    "license": "GNU General Public License v3.0",
    "summary": "Platform-agnostic quantum runtime framework.",
    "version": "0.9.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/qBraid/qBraid/issues",
        "Discord": "https://discord.gg/TPBU2sa8Et",
        "Documentation": "https://docs.qbraid.com/sdk",
        "Homepage": "https://sdk.qbraid.com/",
        "Launch on Lab": "https://account.qbraid.com/?gitHubUrl=https://github.com/qBraid/qBraid.git",
        "Source Code": "https://github.com/qBraid/qBraid"
    },
    "split_keywords": [
        "qbraid",
        " quantum",
        " openqasm",
        " runtime"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9386655d881d8093e8c777b5495ad816eab474ddeeac400dd1c733d829ecb32d",
                "md5": "eb7c86e119120a3613d5d5dd37adf749",
                "sha256": "bf840bd357f806507370ea326fd83431fdfcca46bdc2730b89d3c1732c2f7158"
            },
            "downloads": -1,
            "filename": "qbraid-0.9.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "eb7c86e119120a3613d5d5dd37adf749",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 279751,
            "upload_time": "2025-01-15T02:03:40",
            "upload_time_iso_8601": "2025-01-15T02:03:40.251944Z",
            "url": "https://files.pythonhosted.org/packages/93/86/655d881d8093e8c777b5495ad816eab474ddeeac400dd1c733d829ecb32d/qbraid-0.9.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7e68e002efb7e1722c12e551afdc9c56a42410d19954c00562fe9a875a5bf5c3",
                "md5": "49f1a6d5ec2f5d5744b9117db13b1e93",
                "sha256": "fa7a2575b44a66f2a2dfb05ca988da463f5b401251db619ce7429fc7f94922f7"
            },
            "downloads": -1,
            "filename": "qbraid-0.9.1.tar.gz",
            "has_sig": false,
            "md5_digest": "49f1a6d5ec2f5d5744b9117db13b1e93",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 527284,
            "upload_time": "2025-01-15T02:03:42",
            "upload_time_iso_8601": "2025-01-15T02:03:42.077669Z",
            "url": "https://files.pythonhosted.org/packages/7e/68/e002efb7e1722c12e551afdc9c56a42410d19954c00562fe9a875a5bf5c3/qbraid-0.9.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-15 02:03:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "qBraid",
    "github_project": "qBraid",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "rustworkx",
            "specs": [
                [
                    ">=",
                    "0.15.0"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.17"
                ]
            ]
        },
        {
            "name": "openqasm3",
            "specs": [
                [
                    ">=",
                    "0.4.0"
                ]
            ]
        },
        {
            "name": "qbraid-core",
            "specs": [
                [
                    ">=",
                    "0.1.25"
                ]
            ]
        },
        {
            "name": "pydantic",
            "specs": [
                [
                    ">",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "typing-extensions",
            "specs": [
                [
                    ">=",
                    "4.0.0"
                ]
            ]
        },
        {
            "name": "pyqasm",
            "specs": [
                [
                    ">=",
                    "0.1.0"
                ]
            ]
        }
    ],
    "tox": true,
    "lcname": "qbraid"
}
        
Elapsed time: 0.60879s