ConversionGraph
can be customized by the provider.
The framework also facilitates the insertion of additional program validations, circuit transformations, and transpiler/compiler steps
into its modular pipeline through a comprehensive TargetProfile
. This profile encapsulates both device properties (such as number of
qubits, maximum shots, native gate set) and the software requirements (ProgramSpec
) needed to submit a job, vastly reducing the overhead
and redundancy typically associated with cross-platform integrations in quantum computing.
qbraid.programs
: Extracts and manages metadata from supported quantum program types, with the flexibility to introduce new types.qbraid.transpiler
: Bridges different quantum programming IRs through native and customizable circuit conversions.qbraid.passes
: Ensures quantum programs conform to hardware specifications through essential runtime transformations.qbraid.runtime
: Defines essential abstractions for providers, devices, jobs, and results, integrated through a coherent runtime profile.qbraid.visualization
: Provides tools for visualizing quantum circuits and experimental data, enhancing data interpretation.EHNU6626
for
500 free credits to get started. See qBraid Quantum Jobs for more.
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.
QPROGRAM_REGISTRY
to “transpile” your circuit to a new program type:
qbraid.runtime.QbraidProvider
. You can get a
Python list of device objects using:
QbraidProvider.get_device()
method,
and submit quantum jobs from any supported program type: