Overview


Python client for developing software with qBraid cloud services
qBraid-CORE is a Python library providing core abstractions for software development within the qBraid ecosystem, and a low-level interface to a growing array of qBraid cloud services. The qbraid-core package forms the foundational base for the qBraid CLI, the qBraid SDK, and the qBraid Lab.
You can find the latest, most up to date, documentation here, including a list of services that are supported.
Getting Started
You can install qbraid-core from PyPI with:
pip install qbraid-coreqbraid-core versions <0.2.0 are not compatible with qBraid API V2. See migration guide.
To ensure compatibility with the new platform, use qbraid-core ≥ 0.2.0.
Local configuration
After installing qbraid-core, you must configure your account credentials:
- Create a qBraid account or log in to your existing account by visiting account.qbraid.com
- Navigate to Account > API Keys in the left-sidebar, and then click “Create API Key”.
- Save your API key from step 2 in local configuration file
~/.qbraid/qbraidrc, where~corresponds to your home ($HOME) directory:
[default]
api-key = YOUR_KEY
url = https://api-v2.qbraid.com/api/v1Or generate your ~/.qbraid/qbraidrc file via the qbraid-core Python interface:
>>> from qbraid_core import QbraidSessionV1
>>> session = QbraidSessionV1(api_key='API_KEY')
>>> session.save_config()Other credential configuration methods can be found here.
Verify setup
After configuring your qBraid credentials, verify your setup by running the following from a Python interpreter:
>>> from qbraid_core.services.runtime import QuantumRuntimeClient
>>> quantum_client = QuantumRuntimeClient()
>>> device_list = quantum_client.list_devices()
>>> for device in device_list:
... print(device.qrn)Estimate job cost
Before submitting a job, you can ask for a quote in qBraid credits for a given device and shot count:
>>> estimate = quantum_client.estimate_cost("aws:aqt:qpu:ibex-q1", shots=1000)
>>> estimate.pricingAvailable
True
>>> estimate.estimatedCost
Credits('2380')Treat the quote as a guide, not a cap. Nothing enforces it, and a job that runs longer than quoted is billed for what it used. QPUs are quoted from the device’s execution history, and per-minute QPUs scale with the shot count. Simulators are quoted from a fixed conservative duration, so their quote does not change with shots. Omitting shots quotes 1000.
Some devices cannot be quoted up front, such as those with dynamic pricing. That is a state to read, not an error:
>>> estimate = quantum_client.estimate_cost("ibm:ibm:qpu:fez")
>>> estimate.pricingAvailable
False
>>> estimate.reason
'dynamic_pricing_unavailable'A missing or retired device, or a shot count outside 1 to 100000, raises QuantumRuntimeServiceRequestError.
Community
- For feature requests and bug reports: Submit an issue
- For discussions and/or specific questions about qBraid services, join our discord community
- For questions that are more suited for a forum, post to Stack Overflow with the
qbraidtag.
Thanks for your feedback.

