Changelog#
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_mode
anddd_strategy
toCircuitCompilationOptions
andRunRequest
#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_cycles
added toCircuitCompilationOptions
(in 20.2 it was only added toRunRequest
making it difficult to use).
Version 20.3#
Version 20.2#
Add
active_reset_cycles
circuit 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-publish
to 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
isort
formatting to the tox configuration, so it is automatically run when runningtox -e format
. #130Bugfix: Fix the issue where the
CircuitCompilationOptions
was 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
CircuitCompilationOptions
to allow for more fine-grained control over the compilation process. (breaking change)IQMClient.submit_circuit()
now takes aCircuitCompilationOptions
parameter instead ofmax_circuit_duration_over_t2
andheralding_mode
.Moved the existing
max_circuit_duration_over_t2
parameter toCircuitCompilationOptions
.Moved the existing
heralding_mode
parameter toCircuitCompilationOptions
.Introduced new option
move_gate_validation
to turn off MOVE gate validation during compilation (ADVANCED).Introduced new option
move_gate_frame_tracking
to turn off frame tracking for the MOVE gate (ADVANCED).New options can only be used on stations with
CoCoS
version 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
move
instruction 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.instructions
from atuple
ofdict
. #109
Version 15.1#
Bump
pydantic
version 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_status
instead ofget_run
to check job status inwait_for_compilation
andwait_for_results
. #100
Version 14.1#
Use latest version of
sphinx-multiversion-contrib
to fix documentation version sorting. #98
Version 14.0#
Move
iqm_client
package toiqm
namespace. #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
heralding
toRunRequest
. #87
Version 12.4#
Add parameter
circuit_duration_check
allowing 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.py
file. #81
Version 12.1#
Add function
validate_circuit
to 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_dict
to 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_id
to be opaque UUID. #69
Version 10.3#
Remove
description
from pydantic model fields. #68
Version 10.2#
Add optional
implementation
field toInstruction
. #67
Version 10.1#
Raise an error while fetching quantum architecture if authentication is not provided. #66
Version 10.0#
RunResult.metadata.request
now contains a copy of the original request. #65
Version 9.8#
Bugfix:
Circuit.metadata
Pydantic field needs default value. #64
Version 9.7#
Add optional
metadata
field toCircuit
. #63
Version 9.6#
Reduce wait interval between requests to the IQM Server and make it configurable with the
IQM_CLIENT_SECONDS_BETWEEN_CALLS
environment 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_architecture
now 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.instructions
andInstruction.qubits
from 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_id
parameter 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
settings
an optional parameter forIQMClient
. #30
Version 3.2#
Add function
get_run_status
to 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_mapping
an 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