iqm-station-control-client 3.3__tar.gz → 3.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/CHANGELOG.rst +11 -0
- {iqm_station_control_client-3.3/src/iqm_station_control_client.egg-info → iqm_station_control_client-3.4}/PKG-INFO +1 -1
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/client/station_control.py +14 -9
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4/src/iqm_station_control_client.egg-info}/PKG-INFO +1 -1
- iqm_station_control_client-3.4/version.txt +1 -0
- iqm_station_control_client-3.3/version.txt +0 -1
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/LICENSE.txt +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/MANIFEST.in +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/README.rst +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/docs/API.rst +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/docs/Makefile +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/docs/_static/css/custom.css +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/docs/_static/images/favicon.ico +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/docs/_static/images/logo.png +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/docs/_templates/autosummary-class-template.rst +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/docs/_templates/autosummary-module-template.rst +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/docs/changelog.rst +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/docs/conf.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/docs/index.rst +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/docs/license.rst +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/pyproject.toml +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/requirements/base.in +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/requirements/base.txt +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/setup.cfg +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/setup.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/client/__init__.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/client/list_models.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/client/serializers/__init__.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/client/serializers/channel_property_serializer.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/client/serializers/datetime_serializers.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/client/serializers/playlist_serializers.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/client/serializers/run_serializers.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/client/serializers/setting_node_serializer.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/client/serializers/struct_serializer.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/client/serializers/sweep_serializers.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/client/serializers/task_serializers.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/client/utils.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/interface/__init__.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/interface/list_with_meta.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/interface/models/__init__.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/interface/models/dut.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/interface/models/observation.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/interface/models/observation_set.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/interface/models/run.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/interface/models/sequence.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/interface/models/sweep.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/interface/models/type_aliases.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm/station_control/interface/pydantic_base.py +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm_station_control_client.egg-info/SOURCES.txt +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm_station_control_client.egg-info/dependency_links.txt +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm_station_control_client.egg-info/requires.txt +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/src/iqm_station_control_client.egg-info/top_level.txt +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/tests/.pylintrc +0 -0
- {iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/tests/__init__.py +0 -0
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
Changelog
|
|
3
3
|
=========
|
|
4
4
|
|
|
5
|
+
Version 3.4 (2025-03-05)
|
|
6
|
+
========================
|
|
7
|
+
|
|
8
|
+
Features
|
|
9
|
+
--------
|
|
10
|
+
|
|
11
|
+
- Remove general RequestError and use new specific error classes instead, and improve error handling in general.
|
|
12
|
+
- Start using new "DELETE sweeps/{sweep_id}" endpoint instead of the deprecated one.
|
|
13
|
+
- Use HTTPStatus code names instead of numbers for better clarity. No functional changes.
|
|
14
|
+
- The ``/docs`` endpoint shows relevant metadata, e.g. the package version.
|
|
15
|
+
|
|
5
16
|
Version 3.3 (2025-02-28)
|
|
6
17
|
========================
|
|
7
18
|
|
|
@@ -29,7 +29,12 @@ from packaging.version import Version, parse
|
|
|
29
29
|
import requests
|
|
30
30
|
|
|
31
31
|
from exa.common.data.setting_node import SettingNode
|
|
32
|
-
from exa.common.errors.
|
|
32
|
+
from exa.common.errors.server_errors import (
|
|
33
|
+
STATUS_CODE_TO_ERROR_MAPPING,
|
|
34
|
+
InternalServerError,
|
|
35
|
+
NotFoundError,
|
|
36
|
+
StationControlError,
|
|
37
|
+
)
|
|
33
38
|
from exa.common.qcm_data.qcm_data_client import QCMDataClient
|
|
34
39
|
from iqm.station_control.client.list_models import (
|
|
35
40
|
DutFieldDataList,
|
|
@@ -186,8 +191,8 @@ class StationControlClient:
|
|
|
186
191
|
"""Get a raw chip design record matching the given chip label."""
|
|
187
192
|
try:
|
|
188
193
|
response = self._send_request(requests.get, f"chip-design-records/{dut_label}")
|
|
189
|
-
except
|
|
190
|
-
if
|
|
194
|
+
except StationControlError as err:
|
|
195
|
+
if isinstance(err, NotFoundError) and self._qcm_data_client:
|
|
191
196
|
return self._qcm_data_client.get_chip_design_record(dut_label)
|
|
192
197
|
raise err
|
|
193
198
|
return response.json()
|
|
@@ -230,7 +235,7 @@ class StationControlClient:
|
|
|
230
235
|
in monolithic mode or successful submission to the task queue in remote mode.
|
|
231
236
|
|
|
232
237
|
Raises:
|
|
233
|
-
|
|
238
|
+
ExaError if submitting a sweep failed.
|
|
234
239
|
|
|
235
240
|
"""
|
|
236
241
|
data = serialize_sweep_task_request(sweep_definition, queue_name="sweeps")
|
|
@@ -253,7 +258,7 @@ class StationControlClient:
|
|
|
253
258
|
|
|
254
259
|
def delete_sweep(self, sweep_id: uuid.UUID) -> None:
|
|
255
260
|
"""Delete sweep in the database."""
|
|
256
|
-
self._send_request(requests.delete, f"sweeps/{sweep_id}
|
|
261
|
+
self._send_request(requests.delete, f"sweeps/{sweep_id}")
|
|
257
262
|
|
|
258
263
|
def get_sweep_results(self, sweep_id: uuid.UUID) -> SweepResults:
|
|
259
264
|
"""Get N-dimensional sweep results from the database."""
|
|
@@ -650,7 +655,7 @@ class StationControlClient:
|
|
|
650
655
|
def _poll_task(self, task_id: str) -> dict:
|
|
651
656
|
task = self._send_request(requests.get, f"tasks/{task_id}").json()
|
|
652
657
|
if task["task_status"] == "FAILURE":
|
|
653
|
-
raise
|
|
658
|
+
raise InternalServerError(task)
|
|
654
659
|
return task
|
|
655
660
|
|
|
656
661
|
def _send_request(
|
|
@@ -681,9 +686,9 @@ class StationControlClient:
|
|
|
681
686
|
error_message = response_json["detail"]
|
|
682
687
|
except json.JSONDecodeError:
|
|
683
688
|
error_message = response.text
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
)
|
|
689
|
+
|
|
690
|
+
error_class = STATUS_CODE_TO_ERROR_MAPPING[response.status_code]
|
|
691
|
+
raise error_class(error_message)
|
|
687
692
|
return response
|
|
688
693
|
|
|
689
694
|
def _check_api_versions(self):
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.4
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
3.3
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/docs/_static/css/custom.css
RENAMED
|
File without changes
|
{iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/docs/_static/images/favicon.ico
RENAMED
|
File without changes
|
{iqm_station_control_client-3.3 → iqm_station_control_client-3.4}/docs/_static/images/logo.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|