qbraid.runtime

Module providing unified interface for interacting with various quantum provider APIs.

Data Types

DeviceStatus(*values)

Enumeration for representing various operational statuses of devices.

JobStatus(*values)

Enum for the status of processes (i.e. quantum jobs / tasks) resulting from any run() method.

NoiseModel(name[, description])

Class representing a single noise model.

NoiseModelSet()

Class managing a registry of noise models.

ValidationLevel(*values)

Enumeration for program validation levels in qBraid runtime.

Functions

load_job(job_id[, provider])

Load a quantum job object from a supported provider.

get_providers()

Return a list of supported quantum job providers.

load_provider([provider_name])

Load a quantum provider object from a supported qBraid runtime module.

Classes

RuntimeOptions(**kwargs)

Manages qBraid-specific options with controlled defaults and dynamic fields.

TargetProfile(**data)

Encapsulates read-only configuration settings for a quantum device, along with additional data necessary to formulate the runtime protocol(s) used to submit quantum jobs to the device within a specified environment for a given provider.

QuantumDevice(profile[, scheme, options])

Abstract interface for quantum devices.

QuantumJob(job_id[, device])

Abstract interface for job-like classes.

QuantumProvider()

Abstract base class for managing interactions and authentication with various quantum service providers.

Result(device_id, job_id, success, data, ...)

Represents the results of a quantum job.

ResultData()

Abstract base class for runtime results linked to a specific ExperimentType.

GateModelResultData([measurement_counts, ...])

Class for storing and accessing the results of a gate model quantum job.

AnalogResultData([measurement_counts, ...])

Class for storing and accessing the results of an analog Hamiltonian simulation job.

AnalogShotResult(success[, pre_sequence, ...])

Class for storing the results of a single shot in an analog Hamiltonian simulation job.

AnnealingResultData([solutions, num_solutions])

Class for storing and accessing the results of an annealing job.

Exceptions

AuthorizationError(message[, status_code, ...])

Exception raised when provider credentials are missing, expired, or rejected.

JobNotFoundError(message[, status_code, ...])

Exception raised when the requested job/task does not exist (404).

JobStateError

Class for errors raised due to the state of a quantum job

ProgramValidationError

Base class for errors raised while validating a quantum program.

QbraidRuntimeError

Base class for errors raised while submitting a quantum job.

ResourceNotFoundError

Exception raised when the desired resource could not be found.

RuntimeAPIError(message[, status_code, ...])

Exception raised when a provider's REST API returns an error response.

DeviceProgramTypeMismatchError(program, ...)

Exception raised when the program type does not match the Experiment type.

JobLoaderError

Raised when an error occurs while loading a quantum job.

ProviderLoaderError

Raised when an error occurs while loading a quantum provider.

Submodules

aqt

Module submitting and managing jobs through the AQT arnica API.

aws

Module submitting and managing quantum tasks through AWS and Amazon Braket supported devices.

azure

Module for submitting and managing jobs through the Azure Quantum API.

ibm

Module submitting and managing jobs through IBM and IBM backends.

ionq

Mdule submiting and managing jobs through the IonQ API.

native

Module providing interface for submitting and managing quantum jobs through (native) qBraid APIs.

openquantum

Module submitting and managing jobs through the OpenQuantum API.

oqc

Module for submitting and managing jobs through OQC and OQC backends.

origin

Module for submitting and managing jobs through the OriginQ QCloud API.

pasqal

Module for submitting and managing jobs through the Pasqal Cloud Services API.

qperfect

Module providing QPerfect (MIMIQ) provider, device, and job classes for qBraid runtime.

quantinuum

Module for submitting and managing jobs through the Quantinuum NEXUS API.

qudora

Module for submitting and managing jobs through the QUDORA Cloud API.

rigetti

Module for submitting and managing jobs through the Rigetti QCS API.