iqm-exa-common 26.19.0__tar.gz → 26.21.0__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 (81) hide show
  1. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/CHANGELOG.rst +16 -0
  2. {iqm_exa_common-26.19.0/src/iqm_exa_common.egg-info → iqm_exa_common-26.21.0}/PKG-INFO +1 -1
  3. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/pyproject.toml +1 -1
  4. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/errors/server_errors.py +12 -2
  5. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0/src/iqm_exa_common.egg-info}/PKG-INFO +1 -1
  6. iqm_exa_common-26.21.0/version.txt +1 -0
  7. iqm_exa_common-26.19.0/version.txt +0 -1
  8. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/LICENSE.txt +0 -0
  9. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/MANIFEST.in +0 -0
  10. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/README.rst +0 -0
  11. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/docs/API.rst +0 -0
  12. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/docs/Makefile +0 -0
  13. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/docs/_static/.gitignore +0 -0
  14. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/docs/_static/css/custom.css +0 -0
  15. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/docs/_static/images/favicon.ico +0 -0
  16. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/docs/_static/images/logo.png +0 -0
  17. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/docs/_templates/autosummary-class-template.rst +0 -0
  18. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/docs/_templates/autosummary-module-template.rst +0 -0
  19. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/docs/changelog.rst +0 -0
  20. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/docs/conf.py +0 -0
  21. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/docs/index.rst +0 -0
  22. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/docs/license.rst +0 -0
  23. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/requirements/base.in +0 -0
  24. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/requirements/base.txt +0 -0
  25. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/setup.cfg +0 -0
  26. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/setup.py +0 -0
  27. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/__init__.py +0 -0
  28. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/api/__init__.py +0 -0
  29. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/api/proto_serialization/__init__.py +0 -0
  30. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/api/proto_serialization/_parameter.py +0 -0
  31. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/api/proto_serialization/array.py +0 -0
  32. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/api/proto_serialization/datum.py +0 -0
  33. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/api/proto_serialization/nd_sweep.py +0 -0
  34. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/api/proto_serialization/sequence.py +0 -0
  35. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/api/proto_serialization/setting_node.py +0 -0
  36. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/control/__init__.py +0 -0
  37. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/control/sweep/__init__.py +0 -0
  38. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/control/sweep/exponential_sweep.py +0 -0
  39. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/control/sweep/fixed_sweep.py +0 -0
  40. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/control/sweep/linear_sweep.py +0 -0
  41. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/control/sweep/option/__init__.py +0 -0
  42. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/control/sweep/option/center_span_base_options.py +0 -0
  43. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/control/sweep/option/center_span_options.py +0 -0
  44. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/control/sweep/option/constants.py +0 -0
  45. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/control/sweep/option/fixed_options.py +0 -0
  46. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/control/sweep/option/option_converter.py +0 -0
  47. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/control/sweep/option/start_stop_base_options.py +0 -0
  48. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/control/sweep/option/start_stop_options.py +0 -0
  49. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/control/sweep/option/sweep_options.py +0 -0
  50. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/control/sweep/sweep.py +0 -0
  51. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/control/sweep/sweep_values.py +0 -0
  52. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/data/__init__.py +0 -0
  53. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/data/base_model.py +0 -0
  54. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/data/parameter.py +0 -0
  55. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/data/setting_node.py +0 -0
  56. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/data/settingnode_v2.html.jinja2 +0 -0
  57. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/data/value.py +0 -0
  58. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/errors/__init__.py +0 -0
  59. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/errors/exa_error.py +0 -0
  60. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/helpers/__init__.py +0 -0
  61. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/helpers/data_helper.py +0 -0
  62. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/helpers/deprecation.py +0 -0
  63. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/helpers/json_helper.py +0 -0
  64. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/helpers/numpy_helper.py +0 -0
  65. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/helpers/software_version_helper.py +0 -0
  66. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/helpers/yaml_helper.py +0 -0
  67. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/logger/__init__.py +0 -0
  68. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/logger/logger.py +0 -0
  69. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/qcm_data/__init__.py +0 -0
  70. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/qcm_data/chad_model.py +0 -0
  71. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/qcm_data/chip_topology.py +0 -0
  72. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/qcm_data/file_adapter.py +0 -0
  73. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/qcm_data/immutable_base_model.py +0 -0
  74. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/qcm_data/qcm_data_client.py +0 -0
  75. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/sweep/__init__.py +0 -0
  76. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/sweep/database_serialization.py +0 -0
  77. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/exa/common/sweep/util.py +0 -0
  78. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/iqm_exa_common.egg-info/SOURCES.txt +0 -0
  79. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/iqm_exa_common.egg-info/dependency_links.txt +0 -0
  80. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/iqm_exa_common.egg-info/requires.txt +0 -0
  81. {iqm_exa_common-26.19.0 → iqm_exa_common-26.21.0}/src/iqm_exa_common.egg-info/top_level.txt +0 -0
@@ -2,6 +2,22 @@
2
2
  Changelog
3
3
  =========
4
4
 
5
+ Version 26.21.0 (2025-06-10)
6
+ ============================
7
+
8
+ Features
9
+ --------
10
+
11
+ - Refine error code mapping in :mod:`exa.common.errors.server_errors`. :issue:`SW-1515`
12
+
13
+ Version 26.20.0 (2025-05-21)
14
+ ============================
15
+
16
+ Features
17
+ --------
18
+
19
+ - Fix cocos path in ruff isort to run isort for cocos correctly.
20
+
5
21
  Version 26.19.0 (2025-05-20)
6
22
  ============================
7
23
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-exa-common
3
- Version: 26.19.0
3
+ Version: 26.21.0
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
@@ -49,7 +49,7 @@ unfixable = [ "F401",]
49
49
 
50
50
  [tool.ruff.lint.isort]
51
51
  force-sort-within-sections = true
52
- known-first-party = [ "exa.experiments", "exa.core", "exa.common", "cocos", "gbc", "calibration_graphs", "iqm.pulse", "iqm.cpc", "iqm.pulla", "iqm.station_control", "tests",]
52
+ known-first-party = [ "exa.experiments", "exa.core", "exa.common", "iqm.cocos", "gbc", "calibration_graphs", "iqm.pulse", "iqm.cpc", "iqm.pulla", "iqm.station_control", "tests",]
53
53
  known-local-folder = [ "src",]
54
54
  known-third-party = [ "exa", "iqm",]
55
55
  relative-imports-order = "closest-to-furthest"
@@ -68,7 +68,7 @@ class ServiceUnavailableError(StationControlError):
68
68
  """Error raised when the service is unavailable."""
69
69
 
70
70
 
71
- ERROR_TO_STATUS_CODE_MAPPING = {
71
+ _ERROR_TO_STATUS_CODE_MAPPING = {
72
72
  BadRequestError: HTTPStatus.BAD_REQUEST, # 400
73
73
  UnauthorizedError: HTTPStatus.UNAUTHORIZED, # 401
74
74
  ForbiddenError: HTTPStatus.FORBIDDEN, # 403
@@ -79,4 +79,14 @@ ERROR_TO_STATUS_CODE_MAPPING = {
79
79
  ServiceUnavailableError: HTTPStatus.SERVICE_UNAVAILABLE, # 503
80
80
  }
81
81
 
82
- STATUS_CODE_TO_ERROR_MAPPING = {value: key for key, value in ERROR_TO_STATUS_CODE_MAPPING.items()}
82
+ _STATUS_CODE_TO_ERROR_MAPPING = {value: key for key, value in _ERROR_TO_STATUS_CODE_MAPPING.items()}
83
+
84
+
85
+ def map_from_error_to_status_code(error: StationControlError) -> HTTPStatus:
86
+ """Map a StationControlError to an HTTPStatus code."""
87
+ return _ERROR_TO_STATUS_CODE_MAPPING.get(type(error), HTTPStatus.INTERNAL_SERVER_ERROR)
88
+
89
+
90
+ def map_from_status_code_to_error(status_code: HTTPStatus) -> StationControlError:
91
+ """Map an HTTPStatus code to a StationControlError."""
92
+ return _STATUS_CODE_TO_ERROR_MAPPING.get(status_code, InternalServerError)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-exa-common
3
- Version: 26.19.0
3
+ Version: 26.21.0
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
@@ -0,0 +1 @@
1
+ 26.21.0
@@ -1 +0,0 @@
1
- 26.19.0