iqm-client 31.6.0__tar.gz → 31.8.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 (109) hide show
  1. {iqm_client-31.6.0 → iqm_client-31.8.0}/CHANGELOG.rst +17 -0
  2. {iqm_client-31.6.0 → iqm_client-31.8.0}/PKG-INFO +1 -1
  3. {iqm_client-31.6.0 → iqm_client-31.8.0}/pyproject.toml +6 -1
  4. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/iqm_client/models.py +3 -0
  5. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/fake_backends/fake_adonis.py +1 -0
  6. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/fake_backends/fake_aphrodite.py +1 -0
  7. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/fake_backends/fake_apollo.py +1 -0
  8. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/fake_backends/fake_deneb.py +1 -0
  9. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm_client.egg-info/PKG-INFO +1 -1
  10. {iqm_client-31.6.0 → iqm_client-31.8.0}/tests/conftest.py +0 -13
  11. iqm_client-31.8.0/version.txt +1 -0
  12. iqm_client-31.6.0/version.txt +0 -1
  13. {iqm_client-31.6.0 → iqm_client-31.8.0}/AUTHORS.rst +0 -0
  14. {iqm_client-31.6.0 → iqm_client-31.8.0}/CHANGELOG_cirq-iqm.rst +0 -0
  15. {iqm_client-31.6.0 → iqm_client-31.8.0}/CHANGELOG_cortex-cli.rst +0 -0
  16. {iqm_client-31.6.0 → iqm_client-31.8.0}/CHANGELOG_qiskit-iqm.rst +0 -0
  17. {iqm_client-31.6.0 → iqm_client-31.8.0}/INTEGRATION_GUIDE.rst +0 -0
  18. {iqm_client-31.6.0 → iqm_client-31.8.0}/LICENSE.txt +0 -0
  19. {iqm_client-31.6.0 → iqm_client-31.8.0}/MANIFEST.in +0 -0
  20. {iqm_client-31.6.0 → iqm_client-31.8.0}/README.rst +0 -0
  21. {iqm_client-31.6.0 → iqm_client-31.8.0}/docbuild +0 -0
  22. {iqm_client-31.6.0 → iqm_client-31.8.0}/docs/API.rst +0 -0
  23. {iqm_client-31.6.0 → iqm_client-31.8.0}/docs/_static/images/favicon.ico +0 -0
  24. {iqm_client-31.6.0 → iqm_client-31.8.0}/docs/_static/images/logo.png +0 -0
  25. {iqm_client-31.6.0 → iqm_client-31.8.0}/docs/_templates/autosummary-class-template.rst +0 -0
  26. {iqm_client-31.6.0 → iqm_client-31.8.0}/docs/_templates/autosummary-module-template.rst +0 -0
  27. {iqm_client-31.6.0 → iqm_client-31.8.0}/docs/authors.rst +0 -0
  28. {iqm_client-31.6.0 → iqm_client-31.8.0}/docs/changelog.rst +0 -0
  29. {iqm_client-31.6.0 → iqm_client-31.8.0}/docs/conf.py +0 -0
  30. {iqm_client-31.6.0 → iqm_client-31.8.0}/docs/index.rst +0 -0
  31. {iqm_client-31.6.0 → iqm_client-31.8.0}/docs/integration_guide.rst +0 -0
  32. {iqm_client-31.6.0 → iqm_client-31.8.0}/docs/license.rst +0 -0
  33. {iqm_client-31.6.0 → iqm_client-31.8.0}/docs/readme.rst +0 -0
  34. {iqm_client-31.6.0 → iqm_client-31.8.0}/docs/user_guide_cirq.rst +0 -0
  35. {iqm_client-31.6.0 → iqm_client-31.8.0}/docs/user_guide_cli.rst +0 -0
  36. {iqm_client-31.6.0 → iqm_client-31.8.0}/docs/user_guide_qiskit.rst +0 -0
  37. {iqm_client-31.6.0 → iqm_client-31.8.0}/pytest.ini +0 -0
  38. {iqm_client-31.6.0 → iqm_client-31.8.0}/requirements/base.in +0 -0
  39. {iqm_client-31.6.0 → iqm_client-31.8.0}/requirements/base.in.internal +0 -0
  40. {iqm_client-31.6.0 → iqm_client-31.8.0}/requirements/base.txt +0 -0
  41. {iqm_client-31.6.0 → iqm_client-31.8.0}/requirements/cirq.in +0 -0
  42. {iqm_client-31.6.0 → iqm_client-31.8.0}/requirements/cirq.txt +0 -0
  43. {iqm_client-31.6.0 → iqm_client-31.8.0}/requirements/cli.in +0 -0
  44. {iqm_client-31.6.0 → iqm_client-31.8.0}/requirements/cli.txt +0 -0
  45. {iqm_client-31.6.0 → iqm_client-31.8.0}/requirements/qiskit.in +0 -0
  46. {iqm_client-31.6.0 → iqm_client-31.8.0}/requirements/qiskit.txt +0 -0
  47. {iqm_client-31.6.0 → iqm_client-31.8.0}/setup.cfg +0 -0
  48. {iqm_client-31.6.0 → iqm_client-31.8.0}/setup.py +0 -0
  49. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/__init__.py +0 -0
  50. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/devices/__init__.py +0 -0
  51. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/devices/adonis.py +0 -0
  52. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/devices/aphrodite.py +0 -0
  53. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/devices/apollo.py +0 -0
  54. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/devices/iqm_device.py +0 -0
  55. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/devices/iqm_device_metadata.py +0 -0
  56. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/examples/demo_adonis.py +0 -0
  57. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/examples/demo_apollo.py +0 -0
  58. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/examples/demo_common.py +0 -0
  59. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/examples/demo_iqm_execution.py +0 -0
  60. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/examples/usage.ipynb +0 -0
  61. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/extended_qasm_parser.py +0 -0
  62. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/iqm_gates.py +0 -0
  63. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/iqm_sampler.py +0 -0
  64. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/optimizers.py +0 -0
  65. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/py.typed +0 -0
  66. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/serialize.py +0 -0
  67. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/cirq_iqm/transpiler.py +0 -0
  68. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/iqm_client/__init__.py +0 -0
  69. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/iqm_client/api.py +0 -0
  70. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/iqm_client/authentication.py +0 -0
  71. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/iqm_client/cli/__init__.py +0 -0
  72. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/iqm_client/cli/auth.py +0 -0
  73. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/iqm_client/cli/cli.py +0 -0
  74. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/iqm_client/cli/models.py +0 -0
  75. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/iqm_client/cli/token_manager.py +0 -0
  76. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/iqm_client/errors.py +0 -0
  77. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/iqm_client/iqm_client.py +0 -0
  78. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/iqm_client/py.typed +0 -0
  79. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/iqm_client/transpile.py +0 -0
  80. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/iqm_client/util.py +0 -0
  81. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/iqm_client/validation.py +0 -0
  82. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/__init__.py +0 -0
  83. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/examples/__init__.py +0 -0
  84. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/examples/bell_measure.py +0 -0
  85. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/examples/resonance_example.py +0 -0
  86. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/examples/transpile_example.py +0 -0
  87. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/fake_backends/__init__.py +0 -0
  88. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/fake_backends/fake_garnet.py +0 -0
  89. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/fake_backends/iqm_fake_backend.py +0 -0
  90. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/iqm_backend.py +0 -0
  91. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/iqm_circuit.py +0 -0
  92. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/iqm_circuit_validation.py +0 -0
  93. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/iqm_job.py +0 -0
  94. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/iqm_move_layout.py +0 -0
  95. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/iqm_naive_move_pass.py +0 -0
  96. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/iqm_provider.py +0 -0
  97. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/iqm_target.py +0 -0
  98. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/iqm_transpilation.py +0 -0
  99. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/move_gate.py +0 -0
  100. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/py.typed +0 -0
  101. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/qiskit_to_iqm.py +0 -0
  102. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm/qiskit_iqm/transpiler_plugins.py +0 -0
  103. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm_client.egg-info/SOURCES.txt +0 -0
  104. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm_client.egg-info/dependency_links.txt +0 -0
  105. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm_client.egg-info/entry_points.txt +0 -0
  106. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm_client.egg-info/requires.txt +0 -0
  107. {iqm_client-31.6.0 → iqm_client-31.8.0}/src/iqm_client.egg-info/top_level.txt +0 -0
  108. {iqm_client-31.6.0 → iqm_client-31.8.0}/test +0 -0
  109. {iqm_client-31.6.0 → iqm_client-31.8.0}/tests/__init__.py +0 -0
@@ -2,6 +2,23 @@
2
2
  Changelog
3
3
  =========
4
4
 
5
+ Version 31.8.0 (2025-10-06)
6
+ ===========================
7
+
8
+ Features
9
+ --------
10
+
11
+ - Add ``dut_label`` to :class:`StaticQuantumArchitecture`.
12
+ - Update dependencies.
13
+
14
+ Version 31.7.0 (2025-10-03)
15
+ ===========================
16
+
17
+ Bug fixes
18
+ ---------
19
+
20
+ - Skip following mypy imports to iqm-data-definitions until errors are fixed. :issue:`SW-1670`
21
+
5
22
  Version 31.6.0 (2025-10-01)
6
23
  ===========================
7
24
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-client
3
- Version: 31.6.0
3
+ Version: 31.8.0
4
4
  Summary: Client library for accessing an IQM quantum computer
5
5
  Author-email: IQM Finland Oy <developers@meetiqm.com>
6
6
  License: Apache License
@@ -29,9 +29,14 @@ explicit_package_bases = true
29
29
  mypy_path = "$MYPY_CONFIG_FILE_DIR/src"
30
30
  namespace_packages = true
31
31
  [[tool.mypy.overrides]]
32
- module = [ "iqm.data_definitions.*", "iqm.models.*", "daemon.*", "quimb.*", "qiskit.*", "qiskit_aer.*", "grpc.*", "lmfit.*", "emukit.*", "mockito.*", "sklearn.*", "dill.*", "uncertainties.*", "GPy.*", "pythonjsonlogger.*",]
32
+ module = [ "daemon.*", "quimb.*", "qiskit.*", "qiskit_aer.*", "grpc.*", "lmfit.*", "emukit.*", "mockito.*", "sklearn.*", "dill.*", "uncertainties.*", "GPy.*", "pythonjsonlogger.*",]
33
33
  ignore_missing_imports = true
34
34
 
35
+ [[tool.mypy.overrides]]
36
+ module = [ "iqm.data_definitions.*", "iqm.models.*",]
37
+ follow_imports = "skip"
38
+ follow_imports_for_stubs = true
39
+
35
40
  [tool.ruff]
36
41
  exclude = [ "*.ipynb", "*.rst",]
37
42
  extend-include = [ "sub-setup-py.template",]
@@ -390,6 +390,9 @@ class StaticQuantumArchitecture(BaseModel):
390
390
  including the names of its computational components and the connections between them.
391
391
  """
392
392
 
393
+ # Optional *for now* (backwards compatible)
394
+ dut_label: str | None = None
395
+ """Identifies the QPU."""
393
396
  qubits: list[str] = Field(...)
394
397
  """Names of the physical qubits on the QPU, sorted."""
395
398
  computational_resonators: list[str] = Field(...)
@@ -20,6 +20,7 @@ from iqm.qiskit_iqm.fake_backends.iqm_fake_backend import IQMErrorProfile, IQMFa
20
20
  def IQMFakeAdonis() -> IQMFakeBackend:
21
21
  """Return IQMFakeBackend instance representing IQM's Adonis architecture."""
22
22
  architecture = StaticQuantumArchitecture(
23
+ dut_label="M138_W0_A22_Z99",
23
24
  qubits=["QB1", "QB2", "QB3", "QB4", "QB5"],
24
25
  computational_resonators=[],
25
26
  connectivity=[("QB1", "QB3"), ("QB2", "QB3"), ("QB3", "QB4"), ("QB3", "QB5")],
@@ -20,6 +20,7 @@ from iqm.qiskit_iqm.fake_backends.iqm_fake_backend import IQMErrorProfile, IQMFa
20
20
  def IQMFakeAphrodite() -> IQMFakeBackend:
21
21
  """Return IQMFakeBackend instance representing IQM's Aphrodite architecture."""
22
22
  architecture = StaticQuantumArchitecture(
23
+ dut_label="M213_W0_H03_Z99",
23
24
  qubits=[f"QB{i}" for i in range(1, 55)],
24
25
  computational_resonators=[],
25
26
  connectivity=[
@@ -20,6 +20,7 @@ from iqm.qiskit_iqm.fake_backends.iqm_fake_backend import IQMErrorProfile, IQMFa
20
20
  def IQMFakeApollo() -> IQMFakeBackend:
21
21
  """Return IQMFakeBackend instance representing IQM's Apollo architecture."""
22
22
  architecture = StaticQuantumArchitecture(
23
+ dut_label="M153_W0_P06_Z99",
23
24
  qubits=[f"QB{i}" for i in range(1, 21)],
24
25
  computational_resonators=[],
25
26
  connectivity=[
@@ -20,6 +20,7 @@ from iqm.qiskit_iqm.fake_backends.iqm_fake_backend import IQMErrorProfile, IQMFa
20
20
  def IQMFakeDeneb() -> IQMFakeBackend:
21
21
  """Return IQMFakeBackend instance representing IQM's Deneb architecture."""
22
22
  architecture = StaticQuantumArchitecture(
23
+ dut_label="M139_W0_N60_Z99",
23
24
  qubits=["QB1", "QB2", "QB3", "QB4", "QB5", "QB6"],
24
25
  computational_resonators=["CR1"],
25
26
  connectivity=[
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-client
3
- Version: 31.6.0
3
+ Version: 31.8.0
4
4
  Summary: Client library for accessing an IQM quantum computer
5
5
  Author-email: IQM Finland Oy <developers@meetiqm.com>
6
6
  License: Apache License
@@ -107,19 +107,6 @@ def crystal_5_quality_metrics(crystal_5_calibration_set):
107
107
  )
108
108
 
109
109
 
110
- class MockBytesResponse:
111
- def __init__(self, status_code: int, content: bytes, history: list[Response] | None = None):
112
- self.status_code = status_code
113
- self.content = content
114
- self.media_type = "application/octet-stream"
115
- self.history = history
116
- self.url = "https://example.com"
117
-
118
- def raise_for_status(self):
119
- if 400 <= self.status_code < 600:
120
- raise HTTPError(f"{self.status_code}", response=self)
121
-
122
-
123
110
  class MockJsonResponse:
124
111
  def __init__(self, status_code: int, json_data: dict | list[dict], history: list[Response] | None = None):
125
112
  self.status_code = status_code
@@ -0,0 +1 @@
1
+ 31.8.0
@@ -1 +0,0 @@
1
- 31.6.0
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