iqm-client 29.3.0__tar.gz → 29.5.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 (107) hide show
  1. {iqm_client-29.3.0 → iqm_client-29.5.0}/CHANGELOG.rst +16 -0
  2. {iqm_client-29.3.0 → iqm_client-29.5.0}/PKG-INFO +2 -1
  3. {iqm_client-29.3.0 → iqm_client-29.5.0}/docs/user_guide_cirq.rst +25 -26
  4. {iqm_client-29.3.0 → iqm_client-29.5.0}/pyproject.toml +8 -0
  5. {iqm_client-29.3.0 → iqm_client-29.5.0}/requirements/cli.in +1 -0
  6. {iqm_client-29.3.0 → iqm_client-29.5.0}/requirements/cli.txt +1 -0
  7. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/devices/iqm_device.py +1 -1
  8. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/devices/iqm_device_metadata.py +1 -1
  9. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/examples/demo_adonis.py +2 -1
  10. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/examples/demo_apollo.py +2 -1
  11. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/examples/demo_common.py +2 -1
  12. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/iqm_client/iqm_client.py +6 -4
  13. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm_client.egg-info/PKG-INFO +2 -1
  14. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm_client.egg-info/SOURCES.txt +0 -1
  15. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm_client.egg-info/requires.txt +1 -0
  16. iqm_client-29.5.0/version.txt +1 -0
  17. iqm_client-29.3.0/src/iqm/qiskit_iqm/py.typed +0 -0
  18. iqm_client-29.3.0/version.txt +0 -1
  19. {iqm_client-29.3.0 → iqm_client-29.5.0}/AUTHORS.rst +0 -0
  20. {iqm_client-29.3.0 → iqm_client-29.5.0}/CHANGELOG_cirq-iqm.rst +0 -0
  21. {iqm_client-29.3.0 → iqm_client-29.5.0}/CHANGELOG_cortex-cli.rst +0 -0
  22. {iqm_client-29.3.0 → iqm_client-29.5.0}/CHANGELOG_qiskit-iqm.rst +0 -0
  23. {iqm_client-29.3.0 → iqm_client-29.5.0}/INTEGRATION_GUIDE.rst +0 -0
  24. {iqm_client-29.3.0 → iqm_client-29.5.0}/LICENSE.txt +0 -0
  25. {iqm_client-29.3.0 → iqm_client-29.5.0}/MANIFEST.in +0 -0
  26. {iqm_client-29.3.0 → iqm_client-29.5.0}/README.rst +0 -0
  27. {iqm_client-29.3.0 → iqm_client-29.5.0}/docbuild +0 -0
  28. {iqm_client-29.3.0 → iqm_client-29.5.0}/docs/API.rst +0 -0
  29. {iqm_client-29.3.0 → iqm_client-29.5.0}/docs/_static/images/favicon.ico +0 -0
  30. {iqm_client-29.3.0 → iqm_client-29.5.0}/docs/_static/images/logo.png +0 -0
  31. {iqm_client-29.3.0 → iqm_client-29.5.0}/docs/_templates/autosummary-class-template.rst +0 -0
  32. {iqm_client-29.3.0 → iqm_client-29.5.0}/docs/_templates/autosummary-module-template.rst +0 -0
  33. {iqm_client-29.3.0 → iqm_client-29.5.0}/docs/authors.rst +0 -0
  34. {iqm_client-29.3.0 → iqm_client-29.5.0}/docs/changelog.rst +0 -0
  35. {iqm_client-29.3.0 → iqm_client-29.5.0}/docs/conf.py +0 -0
  36. {iqm_client-29.3.0 → iqm_client-29.5.0}/docs/index.rst +0 -0
  37. {iqm_client-29.3.0 → iqm_client-29.5.0}/docs/integration_guide.rst +0 -0
  38. {iqm_client-29.3.0 → iqm_client-29.5.0}/docs/license.rst +0 -0
  39. {iqm_client-29.3.0 → iqm_client-29.5.0}/docs/readme.rst +0 -0
  40. {iqm_client-29.3.0 → iqm_client-29.5.0}/docs/user_guide_cli.rst +0 -0
  41. {iqm_client-29.3.0 → iqm_client-29.5.0}/docs/user_guide_qiskit.rst +0 -0
  42. {iqm_client-29.3.0 → iqm_client-29.5.0}/requirements/base.in +0 -0
  43. {iqm_client-29.3.0 → iqm_client-29.5.0}/requirements/base.txt +0 -0
  44. {iqm_client-29.3.0 → iqm_client-29.5.0}/requirements/cirq.in +0 -0
  45. {iqm_client-29.3.0 → iqm_client-29.5.0}/requirements/cirq.txt +0 -0
  46. {iqm_client-29.3.0 → iqm_client-29.5.0}/requirements/qiskit.in +0 -0
  47. {iqm_client-29.3.0 → iqm_client-29.5.0}/requirements/qiskit.txt +0 -0
  48. {iqm_client-29.3.0 → iqm_client-29.5.0}/setup.cfg +0 -0
  49. {iqm_client-29.3.0 → iqm_client-29.5.0}/setup.py +0 -0
  50. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/__init__.py +0 -0
  51. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/devices/__init__.py +0 -0
  52. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/devices/adonis.py +0 -0
  53. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/devices/aphrodite.py +0 -0
  54. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/devices/apollo.py +0 -0
  55. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/examples/demo_iqm_execution.py +0 -0
  56. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/examples/usage.ipynb +0 -0
  57. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/extended_qasm_parser.py +0 -0
  58. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/iqm_gates.py +0 -0
  59. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/iqm_sampler.py +0 -0
  60. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/optimizers.py +0 -0
  61. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/py.typed +0 -0
  62. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/serialize.py +0 -0
  63. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/cirq_iqm/transpiler.py +0 -0
  64. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/iqm_client/__init__.py +0 -0
  65. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/iqm_client/api.py +0 -0
  66. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/iqm_client/authentication.py +0 -0
  67. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/iqm_client/cli/__init__.py +0 -0
  68. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/iqm_client/cli/auth.py +0 -0
  69. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/iqm_client/cli/cli.py +0 -0
  70. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/iqm_client/cli/models.py +0 -0
  71. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/iqm_client/cli/token_manager.py +0 -0
  72. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/iqm_client/errors.py +0 -0
  73. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/iqm_client/models.py +0 -0
  74. {iqm_client-29.3.0/src/iqm/iqm_client/cli → iqm_client-29.5.0/src/iqm/iqm_client}/py.typed +0 -0
  75. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/iqm_client/transpile.py +0 -0
  76. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/iqm_client/util.py +0 -0
  77. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/iqm_client/validation.py +0 -0
  78. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/__init__.py +0 -0
  79. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/examples/__init__.py +0 -0
  80. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/examples/bell_measure.py +0 -0
  81. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/examples/resonance_example.py +0 -0
  82. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/examples/transpile_example.py +0 -0
  83. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/fake_backends/__init__.py +0 -0
  84. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/fake_backends/fake_adonis.py +0 -0
  85. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/fake_backends/fake_aphrodite.py +0 -0
  86. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/fake_backends/fake_apollo.py +0 -0
  87. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/fake_backends/fake_deneb.py +0 -0
  88. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/fake_backends/fake_garnet.py +0 -0
  89. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/fake_backends/iqm_fake_backend.py +0 -0
  90. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/iqm_backend.py +0 -0
  91. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/iqm_circuit.py +0 -0
  92. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/iqm_circuit_validation.py +0 -0
  93. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/iqm_job.py +0 -0
  94. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/iqm_move_layout.py +0 -0
  95. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/iqm_naive_move_pass.py +0 -0
  96. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/iqm_provider.py +0 -0
  97. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/iqm_transpilation.py +0 -0
  98. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/move_gate.py +0 -0
  99. {iqm_client-29.3.0/src/iqm/iqm_client → iqm_client-29.5.0/src/iqm/qiskit_iqm}/py.typed +0 -0
  100. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/qiskit_to_iqm.py +0 -0
  101. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm/qiskit_iqm/transpiler_plugins.py +0 -0
  102. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm_client.egg-info/dependency_links.txt +0 -0
  103. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm_client.egg-info/entry_points.txt +0 -0
  104. {iqm_client-29.3.0 → iqm_client-29.5.0}/src/iqm_client.egg-info/top_level.txt +0 -0
  105. {iqm_client-29.3.0 → iqm_client-29.5.0}/test +0 -0
  106. {iqm_client-29.3.0 → iqm_client-29.5.0}/tests/__init__.py +0 -0
  107. {iqm_client-29.3.0 → iqm_client-29.5.0}/tests/conftest.py +0 -0
@@ -2,6 +2,22 @@
2
2
  Changelog
3
3
  =========
4
4
 
5
+ Version 29.5.0 (2025-07-09)
6
+ ===========================
7
+
8
+ Features
9
+ --------
10
+
11
+ - Enable mypy type checking in CI and add temporary type ignores to the source code. :issue:`SW-1615`
12
+
13
+ Version 29.4.0 (2025-07-07)
14
+ ===========================
15
+
16
+ Features
17
+ --------
18
+
19
+ - Bugfix: Fixed the iqm-client cirq documentation such that the instruction is to route circuits before decomposing.
20
+
5
21
  Version 29.3.0 (2025-07-02)
6
22
  ===========================
7
23
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-client
3
- Version: 29.3.0
3
+ Version: 29.5.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
@@ -233,6 +233,7 @@ Requires-Dist: iqm-exa-common<27,>=26; extra == "cli"
233
233
  Requires-Dist: click<9,>=8.1.6; extra == "cli"
234
234
  Requires-Dist: jsonschema>=4.6.0; extra == "cli"
235
235
  Requires-Dist: psutil>=5.9.2; extra == "cli"
236
+ Requires-Dist: types-psutil; extra == "cli"
236
237
  Requires-Dist: python-daemon>=2.3.0; extra == "cli"
237
238
  Provides-Extra: qiskit
238
239
  Requires-Dist: iqm-station-control-client<10,>=9; extra == "qiskit"
@@ -138,29 +138,6 @@ and convert it into a :class:`cirq.Circuit` object using :func:`.circuit_from_qa
138
138
 
139
139
  After a circuit has been constructed, it can be decomposed and routed against a particular :class:`.IQMDevice`.
140
140
 
141
-
142
- Decomposition
143
- -------------
144
-
145
- The method :meth:`.IQMDevice.decompose_circuit` accepts a :class:`cirq.Circuit` object as an argument and
146
- returns the decomposed circuit containing only native operations for the corresponding device:
147
-
148
- .. code-block:: python
149
-
150
- decomposed_circuit = adonis.decompose_circuit(circuit)
151
- print(decomposed_circuit)
152
-
153
- ::
154
-
155
- Alice: ───X────────────────────@───────────M('m')───
156
- │ │
157
- Bob: ─────Y^0.5───X───Y^-0.5───@───Y^0.5───M────────
158
-
159
- The Hadamard and CNOT gates are not native to Adonis, so they were decomposed to X, Y and CZ gates which are.
160
-
161
-
162
- .. _routing:
163
-
164
141
  Routing
165
142
  -------
166
143
 
@@ -216,6 +193,28 @@ To ensure that the transpiler is restricted to a specific subset of qubits, you
216
193
  of qubits in the ``qubit_subset`` argument such that ancillary qubits will not be added during
217
194
  routing. This is particularly useful when running Quantum Volume benchmarks.
218
195
 
196
+ Decomposition
197
+ -------------
198
+
199
+ The method :meth:`.IQMDevice.decompose_circuit` accepts a :class:`cirq.Circuit` object as an argument and
200
+ returns the decomposed circuit containing only native operations for the corresponding device:
201
+
202
+ .. code-block:: python
203
+
204
+ decomposed_circuit = adonis.decompose_circuit(circuit)
205
+ print(decomposed_circuit)
206
+
207
+ ::
208
+
209
+ Alice: ───X────────────────────@───────────M('m')───
210
+ │ │
211
+ Bob: ─────Y^0.5───X───Y^-0.5───@───Y^0.5───M────────
212
+
213
+ The Hadamard and CNOT gates are not native to Adonis, so they were decomposed to X, Y and CZ gates which are.
214
+
215
+
216
+ .. _routing:
217
+
219
218
  IQM Star architecture
220
219
  ^^^^^^^^^^^^^^^^^^^^^
221
220
 
@@ -360,9 +359,9 @@ Once you have access to an IQM server you can create an :class:`.IQMSampler` ins
360
359
  # circuit = ...
361
360
 
362
361
  sampler = IQMSampler(iqm_server_url)
363
- decomposed_circuit = sampler.device.decompose_circuit(circuit)
364
- routed_circuit, _, _ = sampler.device.route_circuit(decomposed_circuit)
365
- result = sampler.run(routed_circuit, repetitions=10)
362
+ routed_circuit, _, _ = sampler.device.route_circuit(circuit)
363
+ decomposed_circuit = sampler.device.decompose_circuit(routed_circuit)
364
+ result = sampler.run(decomposed_circuit, repetitions=10)
366
365
  print(result.measurements['m'])
367
366
 
368
367
 
@@ -24,6 +24,14 @@ iqmclient = "iqm.iqm_client.cli.cli:iqmclient"
24
24
  Documentation = "https://docs.meetiqm.com/iqm-client/"
25
25
  Homepage = "https://pypi.org/project/iqm-client/"
26
26
 
27
+ [tool.mypy]
28
+ explicit_package_bases = true
29
+ mypy_path = "$MYPY_CONFIG_FILE_DIR/src"
30
+ namespace_packages = true
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.*",]
33
+ ignore_missing_imports = true
34
+
27
35
  [tool.ruff]
28
36
  exclude = [ "*.ipynb", "*.rst",]
29
37
  extend-include = [ "sub-setup-py.template",]
@@ -1,4 +1,5 @@
1
1
  click >= 8.1.6, < 9
2
2
  jsonschema >= 4.6.0
3
3
  psutil >= 5.9.2
4
+ types-psutil
4
5
  python-daemon >= 2.3.0
@@ -3,4 +3,5 @@ iqm-exa-common>=26,<27
3
3
  click >= 8.1.6, < 9
4
4
  jsonschema >= 4.6.0
5
5
  psutil >= 5.9.2
6
+ types-psutil
6
7
  python-daemon >= 2.3.0
@@ -228,7 +228,7 @@ class IQMDevice(devices.Device):
228
228
  # If the device has computational resonators, we use a modified connection graph for routing
229
229
  # by adding edges between all qubits connected to the same resonator.
230
230
  move_routing = True
231
- graph = nx.Graph()
231
+ graph = nx.Graph() # type: ignore[var-annotated]
232
232
  for edge in self.metadata.nx_graph.edges:
233
233
  q, r = edge if edge[1] in self.resonators else edge[::-1]
234
234
  if r not in self.resonators:
@@ -55,7 +55,7 @@ class IQMDeviceMetadata(devices.DeviceMetadata):
55
55
  architecture: DynamicQuantumArchitecture | None = None,
56
56
  ):
57
57
  """Construct an IQMDeviceMetadata object."""
58
- nx_graph = nx.Graph()
58
+ nx_graph = nx.Graph() # type: ignore[var-annotated]
59
59
  for edge in connectivity:
60
60
  if len(edge) != 2:
61
61
  raise ValueError("Connectivity must be an iterable of 2-tuples.")
@@ -16,10 +16,11 @@ the Adonis native gateset and connectivity, and then executing it on a simulator
16
16
  """
17
17
 
18
18
  import cirq
19
- from demo_common import demo
20
19
  from iqm.cirq_iqm.devices import Adonis
21
20
  from iqm.cirq_iqm.extended_qasm_parser import circuit_from_qasm
22
21
 
22
+ from .demo_common import demo
23
+
23
24
 
24
25
  def demo_adonis(use_qsim: bool = False) -> None:
25
26
  """Run the demo using the Adonis architecture."""
@@ -16,10 +16,11 @@ the Apollo native gateset and connectivity, and then executing it on a simulator
16
16
  """
17
17
 
18
18
  import cirq
19
- from demo_common import demo
20
19
  from iqm.cirq_iqm.devices import Apollo
21
20
  from iqm.cirq_iqm.extended_qasm_parser import circuit_from_qasm
22
21
 
22
+ from .demo_common import demo
23
+
23
24
 
24
25
  def demo_apollo(use_qsim: bool = False) -> None:
25
26
  """Run the demo using the Apollo architecture."""
@@ -178,7 +178,8 @@ def demo(device: IQMDevice, circuit: cirq.Circuit, *, use_qsim: bool = False) ->
178
178
 
179
179
  # Initialize a ket-based simulator for evaluating the circuit
180
180
  if use_qsim:
181
- import qsimcirq
181
+ # FIXME: decide what to do with this implicit dependency to qsimcirq.
182
+ import qsimcirq # type:ignore[import-not-found]
182
183
 
183
184
  sim = qsimcirq.QSimSimulator()
184
185
  print("Using qsim.")
@@ -133,7 +133,7 @@ class IQMClient:
133
133
 
134
134
  self._station_control: StationControlInterface = init_station_control(
135
135
  root_url=url,
136
- get_token_callback=self._token_manager.get_bearer_token,
136
+ get_token_callback=self._token_manager.get_bearer_token, # type:ignore[arg-type]
137
137
  client_signature=client_signature,
138
138
  )
139
139
  self._api = APIConfig(url)
@@ -553,7 +553,7 @@ class IQMClient:
553
553
  calibration_set = quality_metrics.calibration_set
554
554
 
555
555
  return QualityMetricSet(
556
- **{
556
+ **{ # type:ignore[arg-type]
557
557
  "calibration_set_id": calibration_set.observation_set_id,
558
558
  "calibration_set_dut_label": calibration_set.dut_label,
559
559
  "calibration_set_number_of_observations": len(calibration_set.observation_ids),
@@ -619,9 +619,11 @@ class IQMClient:
619
619
 
620
620
  return CalibrationSet(
621
621
  calibration_set_id=calibration_set.observation_set_id,
622
- calibration_set_dut_label=calibration_set.dut_label,
622
+ calibration_set_dut_label=calibration_set.dut_label, # type:ignore[arg-type]
623
623
  calibration_set_created_timestamp=str(calibration_set.created_timestamp.isoformat()),
624
- calibration_set_end_timestamp=str(calibration_set.end_timestamp.isoformat()),
624
+ calibration_set_end_timestamp=""
625
+ if calibration_set.end_timestamp is None
626
+ else str(calibration_set.end_timestamp.isoformat()),
625
627
  calibration_set_is_invalid=calibration_set.invalid,
626
628
  observations={
627
629
  observation.dut_field: _observation_lite_to_json(observation) for observation in observations
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-client
3
- Version: 29.3.0
3
+ Version: 29.5.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
@@ -233,6 +233,7 @@ Requires-Dist: iqm-exa-common<27,>=26; extra == "cli"
233
233
  Requires-Dist: click<9,>=8.1.6; extra == "cli"
234
234
  Requires-Dist: jsonschema>=4.6.0; extra == "cli"
235
235
  Requires-Dist: psutil>=5.9.2; extra == "cli"
236
+ Requires-Dist: types-psutil; extra == "cli"
236
237
  Requires-Dist: python-daemon>=2.3.0; extra == "cli"
237
238
  Provides-Extra: qiskit
238
239
  Requires-Dist: iqm-station-control-client<10,>=9; extra == "qiskit"
@@ -68,7 +68,6 @@ src/iqm/iqm_client/cli/__init__.py
68
68
  src/iqm/iqm_client/cli/auth.py
69
69
  src/iqm/iqm_client/cli/cli.py
70
70
  src/iqm/iqm_client/cli/models.py
71
- src/iqm/iqm_client/cli/py.typed
72
71
  src/iqm/iqm_client/cli/token_manager.py
73
72
  src/iqm/qiskit_iqm/__init__.py
74
73
  src/iqm/qiskit_iqm/iqm_backend.py
@@ -17,6 +17,7 @@ iqm-exa-common<27,>=26
17
17
  click<9,>=8.1.6
18
18
  jsonschema>=4.6.0
19
19
  psutil>=5.9.2
20
+ types-psutil
20
21
  python-daemon>=2.3.0
21
22
 
22
23
  [qiskit]
@@ -0,0 +1 @@
1
+ 29.5.0
File without changes
@@ -1 +0,0 @@
1
- 29.3.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