iqm-exa-common 26.14__py3-none-any.whl → 26.16__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.
@@ -339,7 +339,7 @@ class SettingNode(BaseModel):
339
339
  if isinstance(child, Setting):
340
340
  update_dict = {"path": update_path}
341
341
  if self.align_name:
342
- update_dict["parameter"] = child.parameter.copy(name=update_path)
342
+ update_dict["parameter"] = child.parameter.model_copy(update={"name": update_path})
343
343
  self[key] = child.model_copy(update=update_dict)
344
344
  elif self.align_name:
345
345
  self[key] = Setting(
@@ -574,9 +574,9 @@ class SettingNode(BaseModel):
574
574
  for key, item in first.settings.items():
575
575
  if merge_nones or item.value is not None:
576
576
  if align_name:
577
- new[key] = item.copy(name=item.name.replace(f"{first.name}.", ""))
577
+ new[key] = item.model_copy(update={"name": item.name.replace(f"{first.name}.", "")})
578
578
  else:
579
- new.settings[key] = item.copy()
579
+ new.settings[key] = item.model_copy()
580
580
  for key, item in first.subtrees.items():
581
581
  item_copy = item.model_copy(update={"name": item.name.replace(f"{first.name}.", "")}, deep=deep_copy)
582
582
  subs = new if align_name else new.subtrees
@@ -244,6 +244,22 @@ class ChipTopology:
244
244
  """Get probelines that are connected to any of the given components."""
245
245
  return {self.component_to_probe_line[c] for c in components}
246
246
 
247
+ def get_connected_coupler_map(self, components: Collection[str]) -> ComponentMap:
248
+ """Returns a `ComponentMap`, including only the couplers between components that both are in the given subset.
249
+
250
+ Args:
251
+ components: Collection of coupled components to restrict the returned couplers.
252
+
253
+ Returns:
254
+ A `ComponentMap`, a dict mapping coupler names to the names of the coupled components.
255
+
256
+ """
257
+ return {
258
+ key: values
259
+ for key, values in self.coupler_to_components.items()
260
+ if (key in self.get_connecting_couplers(components))
261
+ }
262
+
247
263
  @staticmethod
248
264
  def limit_values(dct: ComponentMap, limit_to: Collection[str]) -> ComponentMap:
249
265
  """Prunes the given dictionary (e.g. a coupler-to-qubits map) to a subset of values.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-exa-common
3
- Version: 26.14
3
+ Version: 26.16
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
@@ -26,7 +26,7 @@ exa/common/control/sweep/option/sweep_options.py,sha256=BhKB7RHP0VXJ9iUQKVzeQOM4
26
26
  exa/common/data/__init__.py,sha256=F5SRe5QHBTjef4XJVQ63kO5Oxc_AiZnPbV560i7La0Y,644
27
27
  exa/common/data/base_model.py,sha256=Zap09R91zHY3iYtfO-SqxfKdewCf3q5FNi1uefTtSfQ,1796
28
28
  exa/common/data/parameter.py,sha256=OTlBPtuMkiHNozIVzsgUn5wOg3cvaXUcqVpTOHyN12c,23193
29
- exa/common/data/setting_node.py,sha256=p-RnZc1H0Nwxanexoejay8c0TsDCDggDQB1Z3S_YEjg,43190
29
+ exa/common/data/setting_node.py,sha256=6Sqim4PkD9mL-9sVwokTxQQIrDZhzhld-VSp8L3HH0w,43232
30
30
  exa/common/data/settingnode_v2.html.jinja2,sha256=mo-rlLLmU-Xxf6znJAisispAZK8sbV-2C13byKAtj_Q,3166
31
31
  exa/common/data/value.py,sha256=mtMws5UPGx1pCADK6Q2Tx4BwCXznvVRSNQRfcQ3NMmY,1853
32
32
  exa/common/errors/__init__.py,sha256=ArMBdpmx1EUenBpzrSNG63kmUf7PM0gCqSYnaCnL9Qk,597
@@ -43,15 +43,15 @@ exa/common/logger/__init__.py,sha256=1bIsGxHzfujXlkgtcAnWToKMkw3dpU5PEd_7LE_NpgQ
43
43
  exa/common/logger/logger.py,sha256=0aSjkx4pXy_CCKtspOnFgwMmhZVFAZUlopQ6HUjBMko,5689
44
44
  exa/common/qcm_data/__init__.py,sha256=VtsYkGoaniSjCkY0oQlqkcYJCtmC2sTDxfrIe_kpqZg,567
45
45
  exa/common/qcm_data/chad_model.py,sha256=kQFCwr7ToONvXySCCrc-_nZDyXJxgYIjtw-IpNwAhkM,11192
46
- exa/common/qcm_data/chip_topology.py,sha256=OJU8-CXV7wfdxrn0HqryNZmxGRoffrg0vi0aMaiYbbY,19328
46
+ exa/common/qcm_data/chip_topology.py,sha256=SSgLMFodrbmLloqvpPyzKZnKqBzdo69WiniWeqS9sIs,19953
47
47
  exa/common/qcm_data/file_adapter.py,sha256=U1XZm_PEswkW7kAztbWFLMufz4mPKPupWbh5yJXdZCI,2263
48
48
  exa/common/qcm_data/immutable_base_model.py,sha256=QXmKIWQbsbWQvovXwKT1d9jtyf2LNJtjQquIwO52zOU,901
49
49
  exa/common/qcm_data/qcm_data_client.py,sha256=0clAbZ3HPBH9lFOe8cVmaq8hPHG5m3pyPG4O6EI97Kk,6022
50
50
  exa/common/sweep/__init__.py,sha256=uEKk5AtzSgSnf8Y0geRPwUpqXIBIXpeCxsN64sX7F1o,591
51
51
  exa/common/sweep/database_serialization.py,sha256=NUu1umxRQZpKtRmw1vNDsSbnofqbHvKFg_xQ2mdhY6k,7469
52
52
  exa/common/sweep/util.py,sha256=-QE2AaH-WDkYAVH5-Z-30leLgY0x4efmby4kc1JTCgY,3732
53
- iqm_exa_common-26.14.dist-info/LICENSE.txt,sha256=R6Q7eUrLyoCQgWYorQ8WJmVmWKYU3dxA3jYUp0wwQAw,11332
54
- iqm_exa_common-26.14.dist-info/METADATA,sha256=FqgtSPHFFhGHakN90pirHZWr4GRXsPAr1tHWOIbf2-g,14626
55
- iqm_exa_common-26.14.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
56
- iqm_exa_common-26.14.dist-info/top_level.txt,sha256=Clphg2toaZ3_jSFRPhjMNEmLurkMNMc4lkK2EFYsSlM,4
57
- iqm_exa_common-26.14.dist-info/RECORD,,
53
+ iqm_exa_common-26.16.dist-info/LICENSE.txt,sha256=R6Q7eUrLyoCQgWYorQ8WJmVmWKYU3dxA3jYUp0wwQAw,11332
54
+ iqm_exa_common-26.16.dist-info/METADATA,sha256=Mrmw0Ors5s92UMuqpn25q62lfXHGs2X9prDgK8k08Dk,14626
55
+ iqm_exa_common-26.16.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
56
+ iqm_exa_common-26.16.dist-info/top_level.txt,sha256=Clphg2toaZ3_jSFRPhjMNEmLurkMNMc4lkK2EFYsSlM,4
57
+ iqm_exa_common-26.16.dist-info/RECORD,,