iqm-exa-common 27.2.0__py3-none-any.whl → 27.3.1__py3-none-any.whl
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.
- exa/common/data/base_model.py +1 -1
- exa/common/helpers/deprecation.py +13 -4
- exa/common/qcm_data/chip_topology.py +3 -3
- {iqm_exa_common-27.2.0.dist-info → iqm_exa_common-27.3.1.dist-info}/METADATA +2 -2
- {iqm_exa_common-27.2.0.dist-info → iqm_exa_common-27.3.1.dist-info}/RECORD +8 -8
- {iqm_exa_common-27.2.0.dist-info → iqm_exa_common-27.3.1.dist-info}/LICENSE.txt +0 -0
- {iqm_exa_common-27.2.0.dist-info → iqm_exa_common-27.3.1.dist-info}/WHEEL +0 -0
- {iqm_exa_common-27.2.0.dist-info → iqm_exa_common-27.3.1.dist-info}/top_level.txt +0 -0
exa/common/data/base_model.py
CHANGED
|
@@ -32,7 +32,7 @@ class BaseModel(pydantic.BaseModel):
|
|
|
32
32
|
"""
|
|
33
33
|
return super().model_copy(update=update, deep=deep)
|
|
34
34
|
|
|
35
|
-
@deprecated(format_deprecated(old="`copy` method", new="`model_copy`", since="28
|
|
35
|
+
@deprecated(format_deprecated(old="`copy` method", new="`model_copy`", since="2025-03-28"))
|
|
36
36
|
def copy(self, **kwargs) -> Self:
|
|
37
37
|
"""Returns a copy of the model."""
|
|
38
38
|
return super().copy(update=kwargs, deep=True)
|
|
@@ -1,12 +1,21 @@
|
|
|
1
|
-
from datetime import
|
|
2
|
-
from typing import LiteralString
|
|
1
|
+
from datetime import date
|
|
2
|
+
from typing import LiteralString, cast
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def _assert_iso_8601_format(since: str) -> None:
|
|
6
|
+
try:
|
|
7
|
+
# This is strict about the ISO calendar date form.
|
|
8
|
+
# '2025-9-3' will fail; '2025-09-03' passes.
|
|
9
|
+
date.fromisoformat(since)
|
|
10
|
+
except ValueError:
|
|
11
|
+
raise ValueError("Invalid date format. Use 'YYYY-MM-DD'.")
|
|
3
12
|
|
|
4
13
|
|
|
5
14
|
def format_deprecated(old: str, new: str | None, since: str) -> LiteralString:
|
|
6
|
-
|
|
15
|
+
_assert_iso_8601_format(since)
|
|
7
16
|
message: str = (
|
|
8
17
|
f"{old} is deprecated since {since}, it can be be removed from the codebase in the next major release."
|
|
9
18
|
)
|
|
10
19
|
if new:
|
|
11
20
|
message += f" Use {new} instead."
|
|
12
|
-
return message
|
|
21
|
+
return cast(LiteralString, message)
|
|
@@ -141,17 +141,17 @@ class ChipTopology:
|
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
@classmethod
|
|
144
|
-
def from_chip_design_record(cls,
|
|
144
|
+
def from_chip_design_record(cls, chip_design_record: dict) -> ChipTopology:
|
|
145
145
|
"""Construct a ChipTopology instance from a raw Chip design record.
|
|
146
146
|
|
|
147
147
|
Args:
|
|
148
|
-
|
|
148
|
+
chip_design_record: Chip design record as returned by Station control.
|
|
149
149
|
|
|
150
150
|
Returns:
|
|
151
151
|
Corresponding chip topology
|
|
152
152
|
|
|
153
153
|
"""
|
|
154
|
-
return cls.from_chad(CHAD(**
|
|
154
|
+
return cls.from_chad(CHAD(**chip_design_record))
|
|
155
155
|
|
|
156
156
|
@classmethod
|
|
157
157
|
def from_chad(cls, chad: CHAD) -> ChipTopology:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: iqm-exa-common
|
|
3
|
-
Version: 27.
|
|
3
|
+
Version: 27.3.1
|
|
4
4
|
Summary: Framework for control and measurement of superconducting qubits: common library
|
|
5
5
|
Author-email: IQM Finland Oy <info@meetiqm.com>
|
|
6
6
|
License: Apache License
|
|
@@ -213,7 +213,7 @@ Classifier: Intended Audience :: Science/Research
|
|
|
213
213
|
Requires-Python: >=3.11
|
|
214
214
|
Description-Content-Type: text/x-rst
|
|
215
215
|
License-File: LICENSE.txt
|
|
216
|
-
Requires-Dist: iqm-data-definitions <3.0,>=2.
|
|
216
|
+
Requires-Dist: iqm-data-definitions <3.0,>=2.18
|
|
217
217
|
Requires-Dist: numpy <3.0,>=1.26.4
|
|
218
218
|
Requires-Dist: pydantic <3.0,>=2.10.4
|
|
219
219
|
Requires-Dist: python-dotenv ==0.21.1
|
|
@@ -22,7 +22,7 @@ exa/common/control/sweep/option/start_stop_base_options.py,sha256=09P03pexASngGW
|
|
|
22
22
|
exa/common/control/sweep/option/start_stop_options.py,sha256=vJottC6QX80MhVyg9_R9UFx6W1ijSHOVRzU9fDO3FLA,3113
|
|
23
23
|
exa/common/control/sweep/option/sweep_options.py,sha256=BhKB7RHP0VXJ9iUQKVzeQOM4j_x9AsMhRJgoR3gkiaY,933
|
|
24
24
|
exa/common/data/__init__.py,sha256=F5SRe5QHBTjef4XJVQ63kO5Oxc_AiZnPbV560i7La0Y,644
|
|
25
|
-
exa/common/data/base_model.py,sha256=
|
|
25
|
+
exa/common/data/base_model.py,sha256=foW3gtxoBtHfkDOjZPS7Eo1lcVKZwsDtyn-_0B7WnR8,1836
|
|
26
26
|
exa/common/data/parameter.py,sha256=4CtvR6u5XT-5TJb_bTe9DYvBhOCNMlvOMepeGgr80FA,24500
|
|
27
27
|
exa/common/data/setting_node.py,sha256=rTXo-D9v42L8HkJoNoCMtm8cyUEuNtpYGhHfi45ZPhA,44782
|
|
28
28
|
exa/common/data/settingnode_v2.html.jinja2,sha256=mo-rlLLmU-Xxf6znJAisispAZK8sbV-2C13byKAtj_Q,3166
|
|
@@ -32,7 +32,7 @@ exa/common/errors/exa_error.py,sha256=wFfJbdeGs15XVF0VJvXPEjNavC2hXVJjchFcLfCfAi
|
|
|
32
32
|
exa/common/errors/station_control_errors.py,sha256=s0LimSOthQF8NWKyW556p-9vEapOxtn_W5ZiZVPTv_g,4489
|
|
33
33
|
exa/common/helpers/__init__.py,sha256=IgtVD3tojIFA4MTV2mT5uYM6jb2qny9kBIIhEZT2PuI,610
|
|
34
34
|
exa/common/helpers/data_helper.py,sha256=-AP0vwrf7WgyumLsicDtNP2VP5rhG4_oiOZgG4alNb4,2001
|
|
35
|
-
exa/common/helpers/deprecation.py,sha256=
|
|
35
|
+
exa/common/helpers/deprecation.py,sha256=n9_9Ii8UVW0dry7mvH_DOpSOwGQpbgw48EvhtLcgUc0,710
|
|
36
36
|
exa/common/helpers/json_helper.py,sha256=LoTrL6FREML1o0X3Zznf1baI4kn0kh03NE1nqBHgYss,2699
|
|
37
37
|
exa/common/helpers/numpy_helper.py,sha256=KKKyZ_fD0O1gn7_InEQROYnX3WGMA6C1qHh8KzzjtUI,1062
|
|
38
38
|
exa/common/helpers/software_version_helper.py,sha256=q7SVw7dSFBZIJQGwEpAR3rAFDlrC_s48-bM3Tqu5CQ0,5428
|
|
@@ -42,15 +42,15 @@ exa/common/logger/logger.py,sha256=TA9HxFZDyFB7ai8C6mCZOm1cx3JMRAhB8DcMCwDAKt0,5
|
|
|
42
42
|
exa/common/qcm_data/__init__.py,sha256=VtsYkGoaniSjCkY0oQlqkcYJCtmC2sTDxfrIe_kpqZg,567
|
|
43
43
|
exa/common/qcm_data/chad_model.py,sha256=1vWpB8gsrnIEDqEOqqQAXrofN2jM6c8AypZvOSH5I18,11279
|
|
44
44
|
exa/common/qcm_data/chip_layout.py,sha256=jDEMsujltH_KqLjj2Ja-XEEJubfsMg_HPlqnC4-L9YE,4555
|
|
45
|
-
exa/common/qcm_data/chip_topology.py,sha256
|
|
45
|
+
exa/common/qcm_data/chip_topology.py,sha256=cQTxuIouQ3yGSfMNbKzu76vERQGlK_TguhkJYN_ehB0,20075
|
|
46
46
|
exa/common/qcm_data/file_adapter.py,sha256=VAvyV4FrCE93bvy7YP2DDlS_cgHQe-uwPdMQwMlZveQ,2319
|
|
47
47
|
exa/common/qcm_data/immutable_base_model.py,sha256=QXmKIWQbsbWQvovXwKT1d9jtyf2LNJtjQquIwO52zOU,901
|
|
48
48
|
exa/common/qcm_data/qcm_data_client.py,sha256=Rze6yQd0xUeH6eUMv3wduYbiDCTP3C4WECtCe7ONmyc,6061
|
|
49
49
|
exa/common/sweep/__init__.py,sha256=uEKk5AtzSgSnf8Y0geRPwUpqXIBIXpeCxsN64sX7F1o,591
|
|
50
50
|
exa/common/sweep/database_serialization.py,sha256=9n96OqmEnjy1x2F1HwaNOQgwX_39HjLtE9EUoetSw0E,7493
|
|
51
51
|
exa/common/sweep/util.py,sha256=-QE2AaH-WDkYAVH5-Z-30leLgY0x4efmby4kc1JTCgY,3732
|
|
52
|
-
iqm_exa_common-27.
|
|
53
|
-
iqm_exa_common-27.
|
|
54
|
-
iqm_exa_common-27.
|
|
55
|
-
iqm_exa_common-27.
|
|
56
|
-
iqm_exa_common-27.
|
|
52
|
+
iqm_exa_common-27.3.1.dist-info/LICENSE.txt,sha256=R6Q7eUrLyoCQgWYorQ8WJmVmWKYU3dxA3jYUp0wwQAw,11332
|
|
53
|
+
iqm_exa_common-27.3.1.dist-info/METADATA,sha256=MuX5ZtCxb1efqRQSTH-LZKzOm5lkxBOKwyfdLQeBca4,14741
|
|
54
|
+
iqm_exa_common-27.3.1.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
|
|
55
|
+
iqm_exa_common-27.3.1.dist-info/top_level.txt,sha256=Clphg2toaZ3_jSFRPhjMNEmLurkMNMc4lkK2EFYsSlM,4
|
|
56
|
+
iqm_exa_common-27.3.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|