Releases: qBraid/qBraid
qBraid-SDK 0.11.1
Release 0.11.1 (Feb 24, 2026)
Summary
Added
- Added
IonQJob.cost()method to retrieve job cost information from the IonQ API (#1121)
Improved / Modified
- Updated IonQ provider to use v0.4 API, including support for multi-circuit jobs, updated job status mappings (
running→started), and enhanced measurement probability transformations (#1121) - Added
degradedstatus handling for IonQ devices (#1121) - Refactored
QbraidJob.result()to useqbraid_core.services.runtime.schemas.Resultdirectly: removed dependency onExperimentMetadataclasses, added singleResultData.from_object(result, experiment_type)that builds from the core Result’sresultData, and passtime_stampsandcostthrough as Result details instead of metadata dump (#1123) - Refactored
ResultDatasubclasses to handle API camelCase keys (measurementCounts,numSolutions, etc.) in theirfrom_dictimplementations;GateModelResultData.from_dictnow uses.get()and a known-keys filter instead of mutating a copy (#1123) - QASM3-to-Braket conversion now supports QASM3 strings with physical qubits via a try/except workaround when PyQASM validation or transform fails (#1123)
Removed
- Removed
qbraid.runtime.experimentmodule (ExperimentMetadata,GateModelExperimentMetadata,AnnealingExperimentMetadata,AhsExperimentMetadata) and related tests; native job results now rely on the core Result schema andResultData.from_objectonly (#1123)
Fixed
- Fixed IonQ job submission to use updated API field names (
target→backend) and proper job type specification (#1121) - Fixed error mitigation parameter handling for IonQ jobs, now correctly nested under
settings(#1121)
Dependencies
- Add upper bound on
pulser-coreandpulser-simulationdev dependencies to >=1.4.0,<1.7.0 (#1122) - Increased upper bound on
qbraid-qirdependency from <=0.5.0 to <=0.5.1 (#1123)
PRs Merged
- Update: IonQ provider for qbraid runtime with ionq
v0.4by @TheGupta2012 in #1121 - upper bound on pulser dep by @ryanhill1 in #1122
- Result data + platform v2 post-release updates by @ryanhill1 in #1123
- Bump project version to 0.11.1 by @github-actions[bot] in #1124
Full Changelog: v0.11.0...v0.11.1
qBraid-SDK 0.11.0
Release 0.11.0 (Feb 8, 2026)
Summary
Improved / Modified
Introduced several changes primarily focused on standardizing program serialization using the new Program schema from qbraid-core, refactoring the analog/ahs program modules, and updating dependencies for compatibility with qBraid Platform V2:
- All
serializemethods in program classes (analog,annealing,gate_model, etc.) now return aProgramobject fromqbraid_core.services.runtime.schemas, replacing custom dictionary formats. This ensures a consistent API for program submission across all quantum program types. - The
ahsmodule has been renamed toanalog, with all relevant class and import names updated (e.g.,AHSEncoder→AnalogHamiltonianEncoder). This includes file renames and updates to__init__.py, ensuring clarity and alignment with terminology. - The
ExperimentType,JobStatus, andDeviceStatusenums are now imported directly fromqbraid_core, removing the local definition and reducing duplication.
Dependencies
- Upgraded to
qbraid-core>=0.2.0to support qBraid Platform migration to V2 endpoints. See migration guide.
qBraid-SDK 0.10.2
Release 0.10.2 (Feb 8, 2026)
Summary
Deprecated
- Deprecated qBraid V1 quantum jobs endpoints in favor of new V2 endpoints. See the API migration guide.
Which SDK version do I need?
| Use case | Install |
|---|---|
| Access legacy jobs (read results from a downloaded JSON file) | pip install qbraid==0.10.2 |
| Submit new quantum jobs through qBraid | pip install qbraid>=0.11.0 |
Accessing legacy jobs: Download your jobs data from https://account-v2.qbraid.com/quantum-jobs, then use qBraid-SDK 0.10.2 to load and inspect results:
from qbraid.runtime import QbraidProvider, QbraidJob
provider = QbraidProvider(legacy_jobs_path="/path/to/legacy-qbraid-jobs.json")
job = QbraidJob("qbraid_device_id-jovyan-qjob-123abcmel6e9scpfm1zg", client=provider.client)
print(job.status())
# <COMPLETED: 'job has successfully run'>
result = job.result()
print(result.details["metadata"]["openQasm"])
# 'OPENQASM 2.0;\ninclude "qelib1.inc";\n\nqreg q[1];\ncreg c[1];\n\nmeasure q[0] -> c[0];'
print(result.data.get_counts())
# {'0': 99, '1': 1}Submitting new jobs: As of February 8th, job submission via the native QbraidProvider requires qBraid-SDK 0.11.0 or later. Versions below 0.11.0 can no longer submit jobs to qBraid devices.
These changes apply only to job submission and management via the qBraid API. The AWS, Azure, IonQ, and OQC runtime providers are unaffected.
Read more: qBraid V2 platform migration.
PRs Merged
- Set python version for gh pages [no ci] by @ryanhill1 in #1109
- Add: legacy jobs support for
QbraidProviderby @TheGupta2012 in #1116 - Bump project version to 0.10.2 by @github-actions[bot] in #1117
Full Changelog: v0.10.1...v0.10.2
qBraid-SDK 0.10.1
Release 0.10.1 (Jan 14, 2025)
Summary
Added
- Added
AzureQuantumDevice.avg_queue_time()method which returns int average queue time in min (#1097)
Improved / Modified
- Added a transformation for programs targeting IonQ devices, converting all
igates torz(0). This transformation is useful because IonQ devices do not support the identity gate directly. (#1102) - Updated number of shots used in Amazon Braket remote tests to minimum of 100 to match new lower bound of providers like IonQ (enforced by AWS, server-side) (#1089)
- Updated QASM2 to QASM3 transpiler weight from 0.7 to 1.0 to reflect improved conversion reliability. (#1082)
- For Amazon Braket devices, users can now use environment variables to define region name (
"AWS_REGION") and endpoint url ("BRAKET_ENDPOINT"). This is useful when an application wraps over qBraid and does not have direct access to qBraid Provider class or AwsSession class. (#1100)
Removed
- Removed
qbraid-core[runner]dependency fromqbraid[qir]extra. The only additional package that was being installed waspsutilin order to support a function that tracks memory usage during a subprocess call toqir-runner. But people are mainly interested in this "extra" for theqbraid-qirconversions, and since this is outside of that scope, better to take it out and keep the dependencies lean. (#1083)
Fixed
- Fixed
OQCDevice.get_next_window()method with more robust ISO datetime string handling (#1097) - Fixed
BraketQuantumTask.result()to correctly handleAnalogHamiltonianSimulationQuantumTaskResultgiven the fact the partial measurement qubits aren't applicable to that job/result type. (#1097) - Fixed OQC runtime tests by padding the date-time month/day with leading zero to ensure valid ISO format (#1103)
Dependencies
- Updated
qbraid-corerequirement from >=0.1.39 to >=0.1.44,<0.2.0 (#1108)
PRs Merged
- Reset CHANGELOG by @ryanhill1 in #1068
- Change DOI link and badge in README.md by @ryanhill1 in #1069
- Update test_pytket_draw & bump qbraid_core version by @ryanhill1 in #1070
- Update pennylane requirement from <0.42 to <0.43 by @dependabot[bot] in #1073
- Update qcs-sdk-python requirement from <0.21.20,>=0.21.12 to >=0.21.12,<0.21.21 by @dependabot[bot] in #1071
- Fix automation for deploying to GitHub Pages on release by @Copilot in #1076
- Update amazon-braket-sdk requirement from <1.103.0,>=1.83.0 to >=1.83.0,<1.104.0 by @dependabot[bot] in #1077
- Update pytket-braket requirement from <0.45,>=0.30 to >=0.30,<0.46 by @dependabot[bot] in #1078
- Remove qbraid-core[runner] from qir extra by @ryanhill1 in #1083
- Update qcs-sdk-python requirement from <0.21.21,>=0.21.12 to >=0.21.12,<0.21.22 by @dependabot[bot] in #1080
- Update amazon-braket-sdk requirement from <1.104.0,>=1.83.0 to >=1.83.0,<1.105.0 by @dependabot[bot] in #1081
- update shots count in braket remote tasks to 100 by @ryanhill1 in #1089
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #1088
- Update amazon-braket-sdk requirement from <1.105.0,>=1.83.0 to >=1.83.0,<1.107.0 by @dependabot[bot] in #1087
- Update weight to 1 for qasm transpilation by @TheGupta2012 in #1082
- Update qcs-sdk-python requirement from <0.21.22,>=0.21.12 to >=0.21.12,<0.21.23 by @dependabot[bot] in #1091
- Multi-provider runtime improvements + bug fixes by @ryanhill1 in #1097
- fix oqc rt datetime format in test by @ryanhill1 in #1103
- Replace i gate to rz(0) for IonQ devices by @yitchen-tim in #1102
- Handle region and endpoint from environ for AWS devices by @yitchen-tim in #1100
- Update amazon-braket-sdk requirement from <1.107.0,>=1.83.0 to >=1.83.0,<1.108.0 by @dependabot[bot] in #1099
- Update qbraid-qir requirement from <=0.4.0,>=0.2.0 to >=0.2.0,<=0.5.0 by @dependabot[bot] in #1095
- Bump codecov/codecov-action from 5.5.1 to 5.5.2 by @dependabot[bot] in #1096
- Update sphinx-rtd-theme requirement from <3.1,>=1.3 to >=1.3,<3.2 by @dependabot[bot] in #1105
- qbraid-core upper bound by @ryanhill1 in #1108
- Bump project version to 0.10.1 by @github-actions[bot] in #1107
New Contributors
- @Copilot made their first contribution in #1076
Full Changelog: v0.10.0...v0.10.1
qBraid-SDK 0.10.0
Release 0.10.0 (Oct 14, 2025)
Summary
Improved / Modified
- Support circuits that use non-contiguous qubit indices on IonQ device and simulators through Amazon Braket. A measurement is added to every unused qubit up to the max qubit index. The results are filtered such that it only returns the results for the original measurements. (#1059)
- Change project license from GPL-3.0 to Apache-2.0. (#1064)
Dependencies
- Updated
cirq-coreandcirq-ionqrequirements from >=1.3,<1.6 to >=1.3,<1.7 (#1063)
PRs Merged
- Pad measurement to non-contiguous qubits for IonQ device by @yitchen-tim in #1059
- Reset changelog by @ryanhill1 in #1062
- Update autoqasm requirement from <0.2,>=0.1.2 to >=0.1.2,<0.3 by @dependabot[bot] in #1056
- Update pyqasm requirement from <0.6.0,>=0.5.0 to >=0.5.0,<1.1.0 by @dependabot[bot] in #1057
- Update cirq requirement from >=1.3,<1.6 to >=1.3,<1.7 by @ryanhill1 in #1063
- Update qcs-sdk-python requirement from <0.21.19,>=0.21.12 to >=0.21.12,<0.21.20 by @dependabot[bot] in #1066
- Change license to Apache-2.0 by @ryanhill1 in #1064
- Bump project version to 0.10.0 by @github-actions[bot] in #1067
Full Changelog: v0.9.10...v0.10.0
qBraid-SDK 0.9.10
Release 0.9.10 (Sep 16, 2025)
Summary
Improved / Modified
- Updated the
QasmParserand transpilation from Cirq to PyQuil to be compatible with Cirq 1.5. Added testing for new behavior in Cirq 1.5.(#1049)
Dependencies
- Updated
cirq-coreandcirq-ionqrequirements from >=1.3,<1.5 to >=1.3,<1.6 (#1049) - Update
qiskit-ibm-runtimedependency from>=0.25.0,<0.42to>=0.39.0,<0.42(#1052)
PRs Merged
- Reset changelog + bump dev version by @ryanhill1 in #1044
- Bump codecov/codecov-action from 5.5.0 to 5.5.1 by @dependabot[bot] in #1046
- Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #1047
- Update pytket-braket requirement from <0.44,>=0.30 to >=0.30,<0.45 by @dependabot[bot] in #1045
- QASM Parser and Related Transpilation Updated for Compatibility with Cirq v1.5 by @bdg221 in #1049
- Update amazon-braket-sdk requirement from <1.101.0,>=1.83.0 to >=1.83.0,<1.103.0 by @dependabot[bot] in #1050
- Update qiskit runtime dependency from
0.25.0to0.39.0by @TheGupta2012 in #1052 - Bump project version to 0.9.10 by @github-actions[bot] in #1053
New Contributors
- @bdg221 made their first contribution in #1049
Full Changelog: v0.9.9...v0.9.10
qBraid-SDK 0.9.9
Release 0.9.9 (Sept 1, 2025)
Summary
Added
- Added opaque
runtime_options(dict) argument toQbraidDevice.submit()to include in job payload (#1017) - Added
Equal1SimulationMetadataandEqual1SimulatorResultDataclasses to support processing of Equal 1 simulator v0.2.2 job data including base64 encoded "compiledOut" (#1017)
Improved / Modified
- Skip remote Azure provider tests that now require payed plan (#1024)
- Adds support for partial measurements on IonQ and Amazon Braket devices by automatically padding circuits with measurements on all qubits while tracking and filtering results to show only the originally measured qubits. (#1028)
- Replaced
execution_modeanddevice_namefields in theEqual1SimulationMetadataclass withir_typeandnoise_modelto match data returned by Equal1 simulator v0.3.0 (#1035) - Moved decoding logic from
Equal1SimulatorResultDataclass to theEqual1SimulationMetadataschema, ensuring that compiled outputs are automatically decoded when metadata is instantiated. Forequal1_simulatorjobs, thebase64decoded compiled output will now be accessible from aResultobject as follows (#1040):
result = job.result()
compiled_output = result.details['metadata']['compiledOutput']Removed
- Removed
benchmarkingmodule fromtestsas not relevant or used (#1026)
Fixed
- Fixed bug that returned a single job instead of a list of jobs after batch job submission in the native provider runtime for QuEra Aquila using Bloqade Analog (#1026)
- Fixed the
boto3.clientinitialization by adding the region_name parameter in_get_partial_measurement_qubits_from_tagsmethod (#1034) - Fixed bug that resulted in
AttributeError: 'NoneType' object has no attribute 'service'when checkingBraketDevice.availability_window(). Now ensures thatAwsDevice.propertiesis defined usingrefresh_metadata()before proceeding with availability check. (#1041)
Dependencies
- Reset Cirq dependency extra upper-bound to <1.5 (#1026)
- Updated
pyqasmrequirement from >=0.3.2,<0.5 to >=0.5.0,<0.6.0 (#1032) - Updated
pennylanerequirement from <0.42 to >=0.42.3,<0.43 (#1034)
PRs Merged
- Fix CHANGELOG PR link [no ci] by @ryanhill1 in #1020
- add autoqasm docstring [no ci] by @ryanhill1 in #1021
- Equal1 simulator v0.2.2 integration by @ryanhill1 in #1017
- Update amazon-braket-sdk requirement from <1.96.0,>=1.83.0 to >=1.83.0,<1.97.0 by @dependabot[bot] in #1022
- Update pytket-braket requirement from <0.43,>=0.30 to >=0.30,<0.44 by @dependabot[bot] in #1023
- skip remote azure tests that now require payed plan by @ryanhill1 in #1024
- Fix minor typos by @q-inho in #1025
- Batch job bug fix + housekeep by @ryanhill1 in #1026
- Support partial measurement on IonQ devices and Amazon Braket simulators by @yitchen-tim in #1028
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #1031
- Update qiskit-ibm-runtime requirement from <0.41,>=0.25.0 to >=0.25.0,<0.42 by @dependabot[bot] in #1029
- Bump pyqasm requirement by @ryanhill1 in #1032
- Update docutils requirement from <0.22 to <0.23 by @dependabot[bot] in #1033
- Fix CI by @TheGupta2012 in #1034
- update equal1 experiment metadata by @ryanhill1 in #1035
- Update amazon-braket-sdk requirement from <1.97.0,>=1.83.0 to >=1.83.0,<1.101.0 by @dependabot[bot] in #1036
- Bump actions/upload-pages-artifact from 3 to 4 by @dependabot[bot] in #1037
- Bump codecov/codecov-action from 5.4.3 to 5.5.0 by @dependabot[bot] in #1038
- Equal1: decode compiled output in result details by @ryanhill1 in #1040
- Ensure braket device properties set when checking next available by @ryanhill1 in #1041
- Bump project version to 0.9.9 by @github-actions[bot] in #1043
New Contributors
- @q-inho made their first contribution in #1025
- @yitchen-tim made their first contribution in #1028
Full Changelog: v0.9.8...v0.9.9
qBraid-SDK 0.9.8
Release 0.9.8 (Jul 22, 2025)
Summary
Improved / Modified
- Removed legacy
pkg_resourceslogic for loading entry points (qbraid._entrypoints), as support for Python 3.9 has been dropped and the project now requires Python 3.10 or higher. (#1002) - Populated basis gates property in profile of AWS Braket provider device (#1003)
- Emit a
UserWarninginstead of raising aValueErrorwhen checking for the sum of result probabilities from job to be equal
to 1 (#1004). - House keeping updates (#1012)
- Removed deprecated modules (
qbraid.programs.circuits,qbraid.runtime.qiskit, andqbraid.runtime.braket) - Updated readme, contributing, citation, and various project config files.
- Removed deprecated modules (
- Updated
QiskitRuntimeProviderdefault channel toibm_quantum_platformin preparation for the sunsetting of the IBM Quantum channel in favor of IBM Cloud. Seeqiskit-ibm-runtimeupdated instructions for account setup. (#1011) - Implemented
autoqasm_to_qasm3conversion extra in transpiler for support of AutoQASM to QASM3 conversion. Added"autoqasm"program type to program registry. (#1013)
Fixed
- Fixed handling of IBM job results for different creg names. Specifically, generalized
measurements()andget_counts()methods inQiskitGateModelResultBuilderto account for mixed classical register names, and for classical register names other than "c" and "meas". (#1011)
Dependencies
- Updated
qiskit-ibm-runtimerequirement from <0.39,>=0.25.0 to >=0.25.0,<0.41 (#991) - Updated
pydanticrequirement from >2.0.0 to >2.0.0,<=2.11.1 (#991) - Remove
qiskit-qir(deprecated) fromqbraid[qir]dependency extras (#1001) - Updated
amazon-braket-sdkrequirement from >=1.83.0,<1.94.0 to >=1.83.0,<1.96.0 (#1018)
PRs Merged
- Remove
qiskit-qirfromqbraid[qir]extra [no ci] by @ryanhill1 in #1001 - Update amazon-braket-sdk requirement from <1.92.0,>=1.83.0 to >=1.83.0,<1.94.0 by @dependabot[bot] in #998
- Remove
pkg_resourcesfrom entrypoints logic by @ryanhill1 in #1002 - Update pytket-braket requirement from <0.42,>=0.30 to >=0.30,<0.43 by @dependabot[bot] in #999
- Update qiskit-ibm-runtime requirement from <0.39,>=0.25.0 to >=0.25.0,<0.41 by @dependabot[bot] in #991
- Populate basis gates in AWS Braket devices by @cosenal in #1003
- fix: alter raise of warning instead of value error for probability sum. by @vprusso in #1004
- Update pyqasm requirement from <0.4.0,>=0.3.2 to >=0.3.2,<0.5.0 by @dependabot[bot] in #1006
- Update cirq-core requirement from <1.5,>=1.3 to >=1.3,<1.6 by @dependabot[bot] in #1005
- housekeeping updates by @ryanhill1 in #1012
- IBM: handling of job results for different creg names + default platform by @ryanhill1 in #1011
- Update qbraid-qir requirement from <=0.3.2,>=0.2.0 to >=0.2.0,<=0.4.0 by @dependabot[bot] in #1015
- autoqasm-qasm3 conversion extra by @LukeAndreesen in #1014
- Update qcs-sdk-python requirement from <0.21.13,>=0.21.12 to >=0.21.12,<0.21.19 by @dependabot[bot] in #1008
- prep release by @ryanhill1 in #1018
- Bump project version to 0.9.8 by @github-actions[bot] in #1019
New Contributors
- @vprusso made their first contribution in #1004
- @LukeAndreesen made their first contribution in #1014
Full Changelog: v0.9.7...v0.9.8
qBraid-SDK 0.9.7
Release 0.9.7 (June 13, 2025)
Summary
Added
- Added
CudaQKernel.serializemethod that converts cudaq program to QIR string forrun_inputcompatible format forQbraidDevice.submit. (#972) - Added support for batch jobs for devices from Azure provider. The
AzureQuantumDevice.submitmethod now accepts single and batchedqbraid.programs.QPROGRAMinputs. (#953) - Added
ax_marginsargument toplot_conversion_graphto prevent possible clipping. (#993)
Improved / Modified
- Updated
TimeStampsschema to auto-computeexecutionDurationfromcreatedAtandendedAtif not explicitly provided. (#983) - Enhanced
TimeStampsto accept bothdatetime.datetimeobjects forcreatedAtandendedAt(previously only accepted ISO-formatted strings). (#983) - Added a
measurement_probabiltiesargument to theGateModelResultDataclass. (#785)
Removed
- Removed
queue_positionfrom result details, as it is alwaysNoneand not applicable. (#983)
Fixed
- Fixed lazy importing bug in
plot_histogrammethod (#972) - Fixed bug which caused all
braketconversions to be unavailable ifcirqwas not installed due to an eager top-level import inbraket_to_cirq.pywhich should have been done lazily (#982) - Made Pulser unit test version-agnostic to support any installed Pulser version. (#983)
- Fixed the bug that included unregistered program type in
ConversionGraph. (#986)
Dependencies
- Migrated to
setuptools>=77due to TOML-table basedproject.licensedeprecation in favor of SPDX expression in compliance with PEP 639 (#973) - Bumped
qbraid-coredependency to v0.1.39 (#975)
PRs Merged
- Add pulser to docs mock imports [no ci] by @ryanhill1 in #971
- cudaq qir serialization + plt counts import fix by @ryanhill1 in #972
- PEP 639 - SPDX expr for pkg license by @ryanhill1 in #973
- Bump qbraid-core dependency by @ryanhill1 in #975
- Update qiskit requirement from <2.0,>=1.0 to >=1.0,<3.0 by @dependabot in #980
- fix braket cirq lazy import bug by @ryanhill1 in #982
- Update pytket-braket requirement from <0.41,>=0.30 to >=0.30,<0.42 by @dependabot in #979
- Bump codecov/codecov-action from 5.4.2 to 5.4.3 by @dependabot in #976
- Queue position, timestamps, pulser versioning by @ryanhill1 in #983
- Add support for batch jobs for Azure by @SaashaJoshi in #985
- Circumvent constructing unregistered program type nodes in
ConversionGraphby @SaashaJoshi in #986 - Add measurement_probabilties argument to GateModelResultData class by @SaashaJoshi in #988
- Add margins for conv graph plot by @AishSweety in #993
- Reset CHANGELOG.md for new version [no ci] by @ryanhill1 in #996
- Bump project version to 0.9.7 by @github-actions in #997
New Contributors
- @SaashaJoshi made their first contribution in #985
- @AishSweety made their first contribution in #993
Full Changelog: v0.9.6...v0.9.7
qBraid-SDK 0.9.6
Release 0.9.6 (May 2, 2025)
Summary
Added
- Added
QbraidJob.async_result()to support async result retrieval usingawait. (#945) - Added
QbraidDevice.set_target_program_type, allowing you to set a specificProgramSpec(fromTargetProfile) alias as the default (#952). For example, if a device supports both "qasm2" and "qasm3", you can now restrict transpilation to one format:
from qbraid.runtime import IonQProvider
provider = IonQProvider()
device = provider.get_device("simulator")
device.metadata()["runtime_config"]["target_program_type"] # ['qasm2', 'qasm3']
device.set_target_program_type("qasm2")
device.metadata()["runtime_config"]["target_program_type"] # 'qasm2'However the original TargetProfile.program_spec value remains frozen:
device.profile.program_spec
# [<ProgramSpec('builtins.str', 'qasm2')>,
# <ProgramSpec('builtins.str', 'qasm3')>]- Added support for Pasqal devices through the
AzureQuantumProviderwithpulserprogram type (#947). For example:
import numpy as np
import pulser
from azure.quantum import Workspace
from qbraid.runtime import AzureQuantumProvider
connection_string = "[Your connection string here]"
workspace = Workspace.from_connection_string(connection_string)
provider = AzureQuantumProvider(workspace=workspace)
input_data = {}
qubits = {
"q0": (0, 0),
"q1": (0, 10),
"q2": (8, 2),
"q3": (1, 15),
"q4": (-10, -3),
"q5": (-8, 5),
}
register = pulser.Register(qubits)
sequence = pulser.Sequence(register, pulser.DigitalAnalogDevice)
sequence.declare_channel("ch0", "rydberg_global")
amp_wf = pulser.BlackmanWaveform(1000, np.pi)
det_wf = pulser.RampWaveform(1000, -5, 5)
pulse = pulser.Pulse(amp_wf, det_wf, 0)
sequence.add(pulse, "ch0")
device = provider.get_device("pasqal.sim.emu-tn")
job = device.run(sequence, shots=1)
job.wait_for_final_state()
job.status() # <COMPLETED: 'job has successfully run'>
result = job.result()
result.data.get_counts() # {'100110': 1}Improved / Modified
- Prepped tests for supporting
qiskit>=2.0(#955) - Updated the
qbraid.runtime.aws.BraketProviderto include anaws_session_tokenduring initialization. Users can now choose to supply their temporary AWS credentials instead of permanent account secrets to access AWS - (#968)
from qbraid.runtime.aws import BraketProvider
aws_access_key = "YOUR_TEMP_ACCESS_KEY"
aws_secret_key = "YOUR_TEMP_SECRET_KEY"
aws_session_token = "YOUR_CURRENT_SESSION_TOKEN"
provider = BraketProvider(aws_access_key, aws_secret_key, aws_session_token)
print(provider.get_devices())
# [<qbraid.runtime.aws.device.BraketDevice('arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3')>,
# <qbraid.runtime.aws.device.BraketDevice('arn:aws:braket:us-east-1::device/qpu/quera/Aquila')>,
# ...]Removed
- Removed the
strict=Falseparameter from thepydantic_core.core_schema.union_schema()calls in the__get_pydantic_core_schema__method(s) inqbraid.runtime.schemas.base.strictparameter no longer included in thepydantic-coreAPI for that method as of release v0.2.30, PR #1638. (#946)
Fixed
- Fixed Amazon Braket remote test by changing catch
JobStateErrortoTimeoutError(#948) - Fixed upper bound of html length check in pytket circuit drawer test (#950)
- Fixed simulator check for Azure target profiles (#956)
Dependencies
- Added
pydantic-coreto project requirements (#946) - Updated
pyqasmdependency to>=0.3.2, <0.4.0(#964)
PRs Merged
- Add async support for waiting on QuantumJob completion by @soheil-star01 in #945
- Remove
strictparam frompydantic_coreunion schema calls by @ryanhill1 in #946 - Fixed braket remote test timeout error by @ryanhill1 in #948
- Update test_circuit_drawer.py by @ryanhill1 in #950
- Add set target program type method to QbraidDevice by @ryanhill1 in #952
- Bump codecov/codecov-action from 5.4.0 to 5.4.2 by @dependabot in #951
- prep for supporting qiskit v2 by @ryanhill1 in #955
- Fix simulator check for Azure targets by @cosenal in #956
- Pin pyqasm version by @ryanhill1 in #957
- Update qiskit-ibm-runtime requirement from <0.38,>=0.25.0 to >=0.25.0,<0.39 by @dependabot in #958
- Azure runtime - Pasqal provider + job/result handling by @rryoung98 in #947
- Bump pyqasm version to
>=0.3.2, < 0.4.0by @TheGupta2012 in #964 - update dev version [no ci] by @ryanhill1 in #966
- Add support for transpiling QASM2 to/from pyqpanda3 by @bachase in #963
- Update qbraid-qir requirement from <=0.3.1,>=0.2.0 to >=0.2.0,<=0.3.2 by @dependabot in #967
- Update pennylane requirement from <0.41 to <0.42 by @dependabot in #959
- BYOT AWS
BraketProviderchanges by @TheGupta2012 in #968 - Bump project version to 0.9.6 by @github-actions in #970
New Contributors
- @soheil-star01 made their first contribution in #945
- @bachase made their first contribution in #963
Full Changelog: v0.9.5...v0.9.6