Changelog#
Version 22.4#
Python 3.10 support is deprecated and will be removed in the future. #173
Version 22.3#
Add the native
resetoperation. #170
Version 22.2#
Improve the documentation of the
delayoperation.Improve the performance of
transpile_insert_moves(). #168
Version 22.1#
The V1 API is deprecated and will be removed in a future release. Please use the V2 API instead. #167
Version 22.0#
Refactor the transpilation code, make its details private, improve the docs. #156
By default
transpile_insert_moves()now keeps any existing MOVE gates in the circuit. #156Add the
delayoperation. #156
Version 20.17#
Fix DQA deserialization when
override_default_implementationsis not empty. #166
Version 20.16#
Version 20.15#
Relax version ranges of
numpy,packaging. #165
Version 20.14#
Add
IQMClient::get_feedback_groupsmethod. #162
Version 20.13#
Fix package publishing from ci, no functional changes. #160
Version 20.12#
Version 20.11#
Version 20.10#
Version 20.9#
Added Python 3.12 support #154
Python 3.9 support is deprecated and will be removed in the future
Version 20.8#
Add
dd_modeanddd_strategytoCircuitCompilationOptionsandRunRequest#152
Version 20.7#
Fix typo of QUALITY in src/iqm/iqm_client/api.py #149
Version 20.6#
Improve version compatibility check to avoid it preventing usage of the client in any situation. #150
Version 20.5#
Fixed client version compatibility check. #148
Version 20.4#
active_reset_cyclesadded toCircuitCompilationOptions(in 20.2 it was only added toRunRequestmaking it difficult to use).
Version 20.3#
Version 20.2#
Add
active_reset_cyclescircuit execution option, used for deciding between reset-by-wait and active reset (and how active reset cycles). #146
Version 20.1#
Disable attestations on
gh-action-pypi-publishto fix failing PyPI publishing #143
Version 20.0#
Version 19.0#
Version 18.8#
Fix MOVE gate validation for qubit mappings containing only some of the architecture qubits #137
Version 18.7#
Fix list of endpoints supported by the V1 API. #138
Version 18.6#
Add IQM Server API versioning support. #135
Version 18.5#
Added
isortformatting to the tox configuration, so it is automatically run when runningtox -e format. #130Bugfix: Fix the issue where the
CircuitCompilationOptionswas not used in local circuit validation when using thesubmit_circuit()method. Improved testing to catch the bug. #130Bugfix: MOVE gate validation now also works with more than one resonator. #130
More specific validation and transpilation errors. #130
Docs updated: mid-circuit measurements are allowed on stations with
cocos >= 30.2. #130Integration guide updated. #130
Circuit validation: All measurement keys must be unique. #130
Version 18.4#
Do not verify external auth token expiration. This fixes IQM Resonance authentication. #134
Version 18.3#
Remove unnecessary build files when publishing documentation. #133
Version 18.2#
Add mitigation for failed authentication sessions. #132
Version 18.1#
Add
IQMClient.get_dynamic_quantum_architecture(). #131
Version 18.0#
Added the naive MOVE transpilation method for unified transpilation behavior for different external APIs. #124
Added class for compilation options
CircuitCompilationOptionsto allow for more fine-grained control over the compilation process. (breaking change)IQMClient.submit_circuit()now takes aCircuitCompilationOptionsparameter instead ofmax_circuit_duration_over_t2andheralding_mode.Moved the existing
max_circuit_duration_over_t2parameter toCircuitCompilationOptions.Moved the existing
heralding_modeparameter toCircuitCompilationOptions.Introduced new option
move_gate_validationto turn off MOVE gate validation during compilation (ADVANCED).Introduced new option
move_gate_frame_trackingto turn off frame tracking for the MOVE gate (ADVANCED).New options can only be used on stations with
CoCoSversion 29.9 or later that support the MOVE gate instruction. Otherwise, the options will be ignored.
Version 17.8#
Allow inspecting a run request before submitting it for execution. #129
Version 17.7#
Update documentation. #128
Version 17.6#
Version 17.5#
Show full response error in all cases of receiving a HTTP 4xx error response. #123
Version 17.4#
Raise ClientConfigurationError and display the details of the error upon receiving a HTTP 400 error response. #120
Version 17.3#
Add new job states to support job delete operation in the backend. #119
Version 17.2#
Use GitHub Action as a Trusted Publisher to publish packages to PyPI. #116
Version 17.1#
Support both extended and simple quantum architecture specification. #117
Version 17.0#
Extend quantum architecture specification to allow different loci for each operation. #112
Allow the
moveinstruction natively.Validate instructions loci based on quantum architecture.
Auto-rename deprecated instruction names to current names.
Version 16.1#
Remove multiversion documentation. #115
Version 16.0#
Version 15.4#
Add testing with python 3.11. #113
Version 15.3#
Version 15.2#
Allow construction of
Circuit.instructionsfrom atupleofdict. #109
Version 15.1#
Bump
pydanticversion to2.4.2. #108
Version 15.0#
Version 14.7#
Add API token support. #102
Version 14.6#
Add CoCoS version to job metadata. #104
Version 14.5#
Add platform version and python version to user agent. #103
Version 14.4#
Require number of shots to be greater than zero. #101
Version 14.3#
Update integration guide. #99
Version 14.2#
Use
get_run_statusinstead ofget_runto check job status inwait_for_compilationandwait_for_results. #100
Version 14.1#
Use latest version of
sphinx-multiversion-contribto fix documentation version sorting. #98
Version 14.0#
Move
iqm_clientpackage toiqmnamespace. #96
Version 13.4#
Update integration guide. #95
Version 13.3#
Improve tests. #94
Version 13.2#
Use ISO 8601 format timestamps in RunResult metadata. #93
Version 13.1#
Add execution timestamps in RunResult metadata. #92
Version 13.0#
Add ability to abort jobs. #89
Version 12.5#
Add parameter
heraldingtoRunRequest. #87
Version 12.4#
Add parameter
circuit_duration_checkallowing to control server-side maximum circuit duration check. #85
Version 12.3#
Generate license information for dependencies on every release #84
Version 12.2#
Revert moving Pydantic model definitions into
models.pyfile. #81
Version 12.1#
Add function
validate_circuitto validate a submitted circuit for input argument correctness. #80
Version 12.0#
Version 11.8#
Bugfix: multiversion documentation has incomplete lists to available documentation versions #76
Version 11.7#
Add utility function
to_json_dictto convert a dict to a JSON dict. #77
Version 11.6#
Improve error reporting on unexpected server responses. #74
Version 11.5#
Improve multiversion docs builds. #75
Version 11.4#
Add user agent header to requests. #72
Version 11.3#
Fix multiversion docs publication. #73
Version 11.2#
Reduce docs size. #71
Version 11.1#
Fix docs version sort. #70
Version 11.0#
Change type of
calibration_set_idto be opaque UUID. #69
Version 10.3#
Remove
descriptionfrom pydantic model fields. #68
Version 10.2#
Add optional
implementationfield toInstruction. #67
Version 10.1#
Raise an error while fetching quantum architecture if authentication is not provided. #66
Version 10.0#
RunResult.metadata.requestnow contains a copy of the original request. #65
Version 9.8#
Bugfix:
Circuit.metadataPydantic field needs default value. #64
Version 9.7#
Add optional
metadatafield toCircuit. #63
Version 9.6#
Reduce wait interval between requests to the IQM Server and make it configurable with the
IQM_CLIENT_SECONDS_BETWEEN_CALLSenvironment var. #62
Version 9.5#
Retry requests to the IQM Server if the server is busy. #61
Version 9.4#
Add integration guide. #60
Version 9.3#
Support OpenTelemetry trace propagation. #59
Version 9.2#
New external token is now obtained from tokens file if old token expired. #58
Version 9.1#
Update documentation. #57
Version 9.0#
The method
IQMClient.get_quantum_architecturenow return the architecture specification instead of the top level object. #56
Version 8.4#
Update documentation of Metadata. #54
Version 8.3#
Version 8.2#
Add method
IQMClient.get_quantum_architecture. #51
Version 8.1#
Change
Circuit.instructionsandInstruction.qubitsfrom list to tuple. #49
Version 8.0#
Remove settings from RunRequest, add custom_settings. #48
Version 7.3#
Increase job result poll interval while waiting for circuit execution. #47
Version 7.2#
Add description of calibration set ID of RunResult metadata in the documentation. #45
Version 7.1#
Increase timeout of requests. #43
Version 7.0#
Add calibration set ID to RunResult metadata. #42
Version 6.2#
Version 6.1#
Add optional
calibration_set_idparameter toIQMClient.submit_circuit. #40
Version 6.0#
Version 5.0#
Version 4.3#
Parse new field metadata for job result requests to the IQM quantum computer. #37
Version 4.2#
Update documentation to include development version and certain released versions in a subdirectory. #36
Version 4.1#
Add support for authentication without username/password, using externally managed tokens file. #35
Version 4.0#
Implement functionality to submit a batch of circuits in one job. #34
Version 3.3#
Make
settingsan optional parameter forIQMClient. #30
Version 3.2#
Add function
get_run_statusto check status of execution without getting measurement results. #29
Version 3.1#
Update documentation to mention barriers. #28
Version 3.0#
Update HTTP endpoints for circuit execution and results retrieval. #26
Requires CoCoS 4.0
Version 2.2#
Publish JSON schema for the circuit run request sent to an IQM server. #24
Version 2.1#
Add support for Python 3.10. #23
Version 2.0#
Version 1.10#
Make
qubit_mappingan optional parameter inIQMClient.submit_circuit. #21
Version 1.9#
Validate that the schema of IQM server URL is http or https. #20
Version 1.8#
Version 1.7#
Emit warnings in server response as python UserWarning. #15
Version 1.6#
Configure automatic tagging and releasing. #7
Version 1.5#
Implement HTTP Basic auth. #9
Version 1.4#
Increase default timeout. #8
Version 1.3#
Features#
Document the native instruction types. #5
Version 1.2#
Fixes#
Remove unneeded args field from Circuit. #4
Version 1.1#
Fixes#
Changed example instruction phased_rx to measurement. #2
Version 1.0#
Features#
Split IQM client from the Cirq on IQM library