Skip to main content

qBraid-SDK extension providing support for QIR conversions.

Project description

qbraid-qir-header

CI GitHub Pages PyPI Downloads PyPI version PyPI version License Discord

qBraid-SDK extension providing support for QIR conversions.

Motivation

qir

This project aims to make QIR representations accessible via the qBraid-SDK transpiler, and by doing so, open the door to language-specific conversions from any and all high-level quantum languages supported by qbraid. See QIR Alliance: why do we need it?.

Installation

qBraid-QIR requires Python 3.10 or greater, and can be installed with pip as follows:

pip install qbraid-qir

Optional dependencies

qBraid-QIR offers integrations that require extra (optional) dependencies, which can be installed as follows:

For OpenQASM 3 to QIR conversions, install the qasm3 extra:

pip install 'qbraid-qir[qasm3]'

For Cirq to QIR conversions, install the cirq extra:

pip install 'qbraid-qir[cirq]'

For Qiskit to QIR conversions, install the qiskit extra:

pip install 'qbraid-qir[qiskit]'

For QIR to SQUIN conversions, install the squin extra:

pip install 'qbraid-qir[squin]'

Install from source

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-qir.git
cd qbraid-qir
pip install .

To include optional dependencies when installing from source, use the same "extras_require" format, e.g.

pip install '.[qasm3,cirq,squin]'

Check version

You can view the version of qbraid-qir you have installed within a Python shell as follows:

import qbraid_qir

qbraid_qir.__version__

Resources

Usage examples

OpenQASM 3 conversions

from qbraid_qir import qasm3_to_qir

program = """
OPENQASM 3;
include "stdgates.inc";

qubit[2] q;
bit[2] c;

h q[0];
cx q[0], q[1];

measure q[0] -> c[0];
measure q[1] -> c[1];
"""

module = qasm3_to_qir(program, name="my-program")

ir = str(module)

Cirq conversions

import cirq
from qbraid_qir import cirq_to_qir

q0, q1 = cirq.LineQubit.range(2)

circuit = cirq.Circuit(
  cirq.H(q0),
  cirq.CNOT(q0, q1),
  cirq.measure(q0, q1)
)

module = cirq_to_qir(circuit, name="my-circuit")

ir = str(module)

Qiskit conversions

from qiskit import QuantumCircuit
from qbraid_qir import qiskit_to_qir

circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0, 1)
circuit.measure([0, 1], [0, 1])

module = qiskit_to_qir(circuit, name="bell")

ir = str(module)

SQUIN conversions

from pyqir import BasicQisBuilder, SimpleModule
from qbraid_qir.squin import load

module = SimpleModule("bell", num_qubits=2, num_results=2)
qis = BasicQisBuilder(module.builder)

qis.h(module.qubits[0])
qis.cx(module.qubits[0], module.qubits[1])

squin_kernel = load(module.ir())

squin_kernel.print()

Architecture diagram

qBraid-SDK transpiler hub-and-spokes architecture with qbraid-qir integration (left) mapped to language specific conversion step in QIR abstraction layers (right).

architecture

Contributing

Citation

If you use qBraid-QIR in your research, we kindly request that you cite it appropriately. The BibTeX entry below is aligned with the latest stable release. For the most up-to-date citation details, please refer to CITATION.cff.

@software{Gupta_qBraid-QIR_Python_package_2026,
  author = {Gupta, Harshit and Hill, Ryan James},
  license = {Apache-2.0},
  month = feb,
  title = {{qBraid-QIR: Python package for QIR conversions, integrations, and utilities.}},
  url = {https://github.com/qBraid/qbraid-qir},
  version = {0.5.1},
  year = {2026}
}

Acknowledgements

This project was conceived in cooperation with the Quantum Open Source Foundation (QOSF).

License

Apache-2.0 License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qbraid_qir-0.6.0.tar.gz (204.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qbraid_qir-0.6.0-py3-none-any.whl (58.9 kB view details)

Uploaded Python 3

File details

Details for the file qbraid_qir-0.6.0.tar.gz.

File metadata

  • Download URL: qbraid_qir-0.6.0.tar.gz
  • Upload date:
  • Size: 204.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qbraid_qir-0.6.0.tar.gz
Algorithm Hash digest
SHA256 15cc20d8a5a122f37d7e037d8bb9eed3938a52997ad6de3eeced20016fef42ea
MD5 8eeda3f4e247a9593fa9f2157c2f5ea0
BLAKE2b-256 a6ffac41ab29cd35eacbc5b39e62a9390ad43cc6ac47ca5684fa18aea110e6f1

See more details on using hashes here.

File details

Details for the file qbraid_qir-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: qbraid_qir-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 58.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qbraid_qir-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2bcafde1e904dc6c038f14731339f4c544c2cf7d6e9b38a4302f10eae5b7e182
MD5 1e993fb1ca18d5ba0fe8e717dd69d9b1
BLAKE2b-256 11ad8f52a8277e59cdec0243fb81d4bf3522fa6bb2b7c6fb320e76bfb3f2ae24

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page