iqm-exa-common 25.29__tar.gz → 25.31__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.
Files changed (84) hide show
  1. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/CHANGELOG.rst +16 -0
  2. {iqm_exa_common-25.29/src/iqm_exa_common.egg-info → iqm_exa_common-25.31}/PKG-INFO +3 -3
  3. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/requirements/base.in +2 -2
  4. iqm_exa_common-25.31/requirements/base.txt +6 -0
  5. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/qcm_data/chip_topology.py +10 -13
  6. {iqm_exa_common-25.29 → iqm_exa_common-25.31/src/iqm_exa_common.egg-info}/PKG-INFO +3 -3
  7. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/iqm_exa_common.egg-info/requires.txt +2 -2
  8. iqm_exa_common-25.31/version.txt +1 -0
  9. iqm_exa_common-25.29/requirements/base.txt +0 -6
  10. iqm_exa_common-25.29/version.txt +0 -1
  11. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/LICENSE.txt +0 -0
  12. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/MANIFEST.in +0 -0
  13. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/README.rst +0 -0
  14. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/docs/API.rst +0 -0
  15. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/docs/Makefile +0 -0
  16. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/docs/_static/.gitignore +0 -0
  17. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/docs/_static/css/custom.css +0 -0
  18. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/docs/_static/images/favicon.ico +0 -0
  19. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/docs/_static/images/logo.png +0 -0
  20. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/docs/_templates/autosummary-class-template.rst +0 -0
  21. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/docs/_templates/autosummary-module-template.rst +0 -0
  22. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/docs/changelog.rst +0 -0
  23. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/docs/conf.py +0 -0
  24. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/docs/index.rst +0 -0
  25. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/docs/license.rst +0 -0
  26. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/pyproject.toml +0 -0
  27. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/setup.cfg +0 -0
  28. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/setup.py +0 -0
  29. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/__init__.py +0 -0
  30. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/api/__init__.py +0 -0
  31. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/api/model/__init__.py +0 -0
  32. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/api/model/parameter_model.py +0 -0
  33. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/api/model/setting_model.py +0 -0
  34. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/api/model/setting_node_model.py +0 -0
  35. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/api/model/sweep_model.py +0 -0
  36. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/api/proto_serialization/__init__.py +0 -0
  37. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/api/proto_serialization/_parameter.py +0 -0
  38. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/api/proto_serialization/array.py +0 -0
  39. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/api/proto_serialization/datum.py +0 -0
  40. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/api/proto_serialization/nd_sweep.py +0 -0
  41. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/api/proto_serialization/sequence.py +0 -0
  42. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/api/proto_serialization/setting_node.py +0 -0
  43. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/__init__.py +0 -0
  44. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/sweep/__init__.py +0 -0
  45. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/sweep/exponential_sweep.py +0 -0
  46. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/sweep/fixed_sweep.py +0 -0
  47. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/sweep/function_sweep.py +0 -0
  48. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/sweep/linear_sweep.py +0 -0
  49. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/sweep/option/__init__.py +0 -0
  50. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/sweep/option/center_span_base_options.py +0 -0
  51. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/sweep/option/center_span_options.py +0 -0
  52. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/sweep/option/constants.py +0 -0
  53. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/sweep/option/fixed_options.py +0 -0
  54. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/sweep/option/function_options.py +0 -0
  55. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/sweep/option/option_converter.py +0 -0
  56. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/sweep/option/start_stop_base_options.py +0 -0
  57. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/sweep/option/start_stop_options.py +0 -0
  58. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/sweep/option/sweep_options.py +0 -0
  59. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/sweep/sweep.py +0 -0
  60. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/control/sweep/utils.py +0 -0
  61. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/data/__init__.py +0 -0
  62. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/data/parameter.py +0 -0
  63. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/data/setting_node.py +0 -0
  64. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/data/settingnode_v2.html.jinja2 +0 -0
  65. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/errors/__init__.py +0 -0
  66. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/errors/exa_error.py +0 -0
  67. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/helpers/__init__.py +0 -0
  68. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/helpers/data_helper.py +0 -0
  69. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/helpers/json_helper.py +0 -0
  70. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/helpers/numpy_helper.py +0 -0
  71. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/helpers/software_version_helper.py +0 -0
  72. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/logger/__init__.py +0 -0
  73. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/logger/logger.py +0 -0
  74. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/qcm_data/__init__.py +0 -0
  75. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/qcm_data/chad_model.py +0 -0
  76. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/qcm_data/file_adapter.py +0 -0
  77. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/qcm_data/immutable_base_model.py +0 -0
  78. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/qcm_data/qcm_data_client.py +0 -0
  79. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/sweep/__init__.py +0 -0
  80. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/sweep/database_serialization.py +0 -0
  81. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/exa/common/sweep/util.py +0 -0
  82. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/iqm_exa_common.egg-info/SOURCES.txt +0 -0
  83. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/iqm_exa_common.egg-info/dependency_links.txt +0 -0
  84. {iqm_exa_common-25.29 → iqm_exa_common-25.31}/src/iqm_exa_common.egg-info/top_level.txt +0 -0
@@ -2,6 +2,22 @@
2
2
  Changelog
3
3
  =========
4
4
 
5
+ Version 25.31 (2025-01-28)
6
+ --------------------------
7
+
8
+ Features
9
+ ********
10
+ - Support broader range of `numpy` versions and verify compatibily with ruff, see migration guide `https://numpy.org/doc/stable/numpy_2_0_migration_guide.html`.
11
+
12
+ Version 25.30 (2025-01-28)
13
+ --------------------------
14
+
15
+ Bug Fixes
16
+ ---------
17
+
18
+ - Method ``ChipTopology.get_all_common_resonators`` can never return a set containing components which are not
19
+ computational resonators.
20
+
5
21
  Version 25.29 (2025-01-27)
6
22
  --------------------------
7
23
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-exa-common
3
- Version: 25.29
3
+ Version: 25.31
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,8 +213,8 @@ 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.4
217
- Requires-Dist: numpy<2.0,>=1.25.2
216
+ Requires-Dist: iqm-data-definitions<3.0,>=2.6
217
+ Requires-Dist: numpy<3.0,>=1.25.2
218
218
  Requires-Dist: pydantic<3.0,>=2.9.2
219
219
  Requires-Dist: python-dotenv==0.21.1
220
220
  Requires-Dist: xarray==2024.10.0
@@ -1,5 +1,5 @@
1
- iqm-data-definitions >= 2.4, < 3.0
2
- numpy >= 1.25.2, < 2.0
1
+ iqm-data-definitions >= 2.6, < 3.0
2
+ numpy >= 1.25.2, < 3.0
3
3
  pydantic >= 2.9.2, < 3.0
4
4
  python-dotenv == 0.21.1
5
5
  xarray == 2024.10.0
@@ -0,0 +1,6 @@
1
+ iqm-data-definitions >= 2.6, < 3.0
2
+ numpy >= 1.25.2, < 3.0
3
+ pydantic >= 2.9.2, < 3.0
4
+ python-dotenv == 0.21.1
5
+ xarray == 2024.10.0
6
+ requests == 2.32.3
@@ -271,11 +271,11 @@ class ChipTopology:
271
271
  """Add a custom mapping from a gate locus to a set of components required for the gate operation.
272
272
 
273
273
  The mapping is of the form {<locus>: <components mapped to locus>}, where a locus can be mapped to one or more
274
- components. The locus itself can be a set (denoting a reciprocal gate) or a tuple (non-reciprocal gate).
274
+ components. The locus itself can be a frozenset (denoting a symmetric gate) or a tuple (non-symmetric gate).
275
275
 
276
276
  Some examples:
277
- - The default mapping (added in init of self) maps pairs of qubits to their common coupler reciprocally.
278
- - Fast flux CZ-gate maps couplers to their pairs of qubits that can perform qubit flux pulses non-reciprocally
277
+ - ``DEFAULT_2QB_MAPPING`` (added in :meth:`__init__`) maps pairs of qubits to their common coupler symmetrically.
278
+ - Fast flux CZ-gate maps pairs of qubits to their couplers non-symmetrically (first locus qubit can perform flux pulses).
279
279
  - A two-qubit gate implementation that includes playing pulses on neighboring components in addition to the
280
280
  connecting coupler.
281
281
 
@@ -412,20 +412,17 @@ class ChipTopology:
412
412
  def get_all_common_resonators(
413
413
  self,
414
414
  qubits: list[str],
415
- ) -> set:
416
- """Extracts common resonator connected to all qubits.
415
+ ) -> set[str]:
416
+ """Computational resonators connected to all the given qubits via a coupler.
417
417
 
418
418
  Args:
419
- qubits: List of qubit names.
419
+ qubits: Qubit names.
420
420
 
421
421
  Returns:
422
- Returns a set containing computational resonator names. If there is no common resonator returns an empty set.
423
-
422
+ Names of the computational resonators neighboring all of ``qubits`` (can be an empty set).
424
423
  """
425
424
  if not qubits:
426
425
  return set()
427
- common_resonator_set = self.get_neighbor_locus_components(qubits[:1])
428
- for qubit in qubits:
429
- common_resonator_set = common_resonator_set.intersection(self.get_neighbor_locus_components([qubit]))
430
-
431
- return common_resonator_set
426
+ common_resonator_set = set.intersection(*(self.get_neighbor_locus_components([qubit]) for qubit in qubits))
427
+ # ensure the resonator set contains only resonators
428
+ return common_resonator_set.intersection(self.computational_resonators)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-exa-common
3
- Version: 25.29
3
+ Version: 25.31
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,8 +213,8 @@ 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.4
217
- Requires-Dist: numpy<2.0,>=1.25.2
216
+ Requires-Dist: iqm-data-definitions<3.0,>=2.6
217
+ Requires-Dist: numpy<3.0,>=1.25.2
218
218
  Requires-Dist: pydantic<3.0,>=2.9.2
219
219
  Requires-Dist: python-dotenv==0.21.1
220
220
  Requires-Dist: xarray==2024.10.0
@@ -1,5 +1,5 @@
1
- iqm-data-definitions<3.0,>=2.4
2
- numpy<2.0,>=1.25.2
1
+ iqm-data-definitions<3.0,>=2.6
2
+ numpy<3.0,>=1.25.2
3
3
  pydantic<3.0,>=2.9.2
4
4
  python-dotenv==0.21.1
5
5
  xarray==2024.10.0
@@ -0,0 +1 @@
1
+ 25.31
@@ -1,6 +0,0 @@
1
- iqm-data-definitions >= 2.4, < 3.0
2
- numpy >= 1.25.2, < 2.0
3
- pydantic >= 2.9.2, < 3.0
4
- python-dotenv == 0.21.1
5
- xarray == 2024.10.0
6
- requests == 2.32.3
@@ -1 +0,0 @@
1
- 25.29
File without changes
File without changes