iqm-client 25.0.0__tar.gz → 25.2.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 (106) hide show
  1. {iqm_client-25.0.0 → iqm_client-25.2.0}/CHANGELOG.rst +16 -0
  2. {iqm_client-25.0.0/src/iqm_client.egg-info → iqm_client-25.2.0}/PKG-INFO +1 -1
  3. {iqm_client-25.0.0 → iqm_client-25.2.0}/pyproject.toml +1 -1
  4. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/iqm_client/iqm_client.py +7 -3
  5. {iqm_client-25.0.0 → iqm_client-25.2.0/src/iqm_client.egg-info}/PKG-INFO +1 -1
  6. iqm_client-25.2.0/version.txt +1 -0
  7. iqm_client-25.0.0/version.txt +0 -1
  8. {iqm_client-25.0.0 → iqm_client-25.2.0}/AUTHORS.rst +0 -0
  9. {iqm_client-25.0.0 → iqm_client-25.2.0}/CHANGELOG_cirq-iqm.rst +0 -0
  10. {iqm_client-25.0.0 → iqm_client-25.2.0}/CHANGELOG_cortex-cli.rst +0 -0
  11. {iqm_client-25.0.0 → iqm_client-25.2.0}/CHANGELOG_qiskit-iqm.rst +0 -0
  12. {iqm_client-25.0.0 → iqm_client-25.2.0}/INTEGRATION_GUIDE.rst +0 -0
  13. {iqm_client-25.0.0 → iqm_client-25.2.0}/LICENSE.txt +0 -0
  14. {iqm_client-25.0.0 → iqm_client-25.2.0}/MANIFEST.in +0 -0
  15. {iqm_client-25.0.0 → iqm_client-25.2.0}/README.rst +0 -0
  16. {iqm_client-25.0.0 → iqm_client-25.2.0}/docbuild +0 -0
  17. {iqm_client-25.0.0 → iqm_client-25.2.0}/docs/API.rst +0 -0
  18. {iqm_client-25.0.0 → iqm_client-25.2.0}/docs/_static/images/favicon.ico +0 -0
  19. {iqm_client-25.0.0 → iqm_client-25.2.0}/docs/_static/images/logo.png +0 -0
  20. {iqm_client-25.0.0 → iqm_client-25.2.0}/docs/_templates/autosummary-class-template.rst +0 -0
  21. {iqm_client-25.0.0 → iqm_client-25.2.0}/docs/_templates/autosummary-module-template.rst +0 -0
  22. {iqm_client-25.0.0 → iqm_client-25.2.0}/docs/authors.rst +0 -0
  23. {iqm_client-25.0.0 → iqm_client-25.2.0}/docs/changelog.rst +0 -0
  24. {iqm_client-25.0.0 → iqm_client-25.2.0}/docs/conf.py +0 -0
  25. {iqm_client-25.0.0 → iqm_client-25.2.0}/docs/index.rst +0 -0
  26. {iqm_client-25.0.0 → iqm_client-25.2.0}/docs/integration_guide.rst +0 -0
  27. {iqm_client-25.0.0 → iqm_client-25.2.0}/docs/license.rst +0 -0
  28. {iqm_client-25.0.0 → iqm_client-25.2.0}/docs/readme.rst +0 -0
  29. {iqm_client-25.0.0 → iqm_client-25.2.0}/docs/user_guide_cirq.rst +0 -0
  30. {iqm_client-25.0.0 → iqm_client-25.2.0}/docs/user_guide_cli.rst +0 -0
  31. {iqm_client-25.0.0 → iqm_client-25.2.0}/docs/user_guide_qiskit.rst +0 -0
  32. {iqm_client-25.0.0 → iqm_client-25.2.0}/requirements/base.in +0 -0
  33. {iqm_client-25.0.0 → iqm_client-25.2.0}/requirements/base.txt +0 -0
  34. {iqm_client-25.0.0 → iqm_client-25.2.0}/requirements/cirq.in +0 -0
  35. {iqm_client-25.0.0 → iqm_client-25.2.0}/requirements/cirq.txt +0 -0
  36. {iqm_client-25.0.0 → iqm_client-25.2.0}/requirements/cli.in +0 -0
  37. {iqm_client-25.0.0 → iqm_client-25.2.0}/requirements/cli.txt +0 -0
  38. {iqm_client-25.0.0 → iqm_client-25.2.0}/requirements/qiskit.in +0 -0
  39. {iqm_client-25.0.0 → iqm_client-25.2.0}/requirements/qiskit.txt +0 -0
  40. {iqm_client-25.0.0 → iqm_client-25.2.0}/setup.cfg +0 -0
  41. {iqm_client-25.0.0 → iqm_client-25.2.0}/setup.py +0 -0
  42. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/__init__.py +0 -0
  43. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/devices/__init__.py +0 -0
  44. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/devices/adonis.py +0 -0
  45. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/devices/aphrodite.py +0 -0
  46. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/devices/apollo.py +0 -0
  47. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/devices/iqm_device.py +0 -0
  48. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/devices/iqm_device_metadata.py +0 -0
  49. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/examples/demo_adonis.py +0 -0
  50. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/examples/demo_apollo.py +0 -0
  51. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/examples/demo_common.py +0 -0
  52. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/examples/demo_iqm_execution.py +0 -0
  53. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/examples/usage.ipynb +0 -0
  54. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/extended_qasm_parser.py +0 -0
  55. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/iqm_gates.py +0 -0
  56. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/iqm_sampler.py +0 -0
  57. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/optimizers.py +0 -0
  58. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/py.typed +0 -0
  59. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/serialize.py +0 -0
  60. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/cirq_iqm/transpiler.py +0 -0
  61. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/iqm_client/__init__.py +0 -0
  62. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/iqm_client/api.py +0 -0
  63. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/iqm_client/authentication.py +0 -0
  64. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/iqm_client/cli/__init__.py +0 -0
  65. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/iqm_client/cli/auth.py +0 -0
  66. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/iqm_client/cli/cli.py +0 -0
  67. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/iqm_client/cli/models.py +0 -0
  68. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/iqm_client/cli/py.typed +0 -0
  69. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/iqm_client/cli/token_manager.py +0 -0
  70. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/iqm_client/errors.py +0 -0
  71. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/iqm_client/models.py +0 -0
  72. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/iqm_client/py.typed +0 -0
  73. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/iqm_client/transpile.py +0 -0
  74. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/iqm_client/util.py +0 -0
  75. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/__init__.py +0 -0
  76. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/examples/__init__.py +0 -0
  77. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/examples/bell_measure.py +0 -0
  78. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/examples/resonance_example.py +0 -0
  79. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/examples/transpile_example.py +0 -0
  80. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/fake_backends/__init__.py +0 -0
  81. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/fake_backends/fake_adonis.py +0 -0
  82. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/fake_backends/fake_aphrodite.py +0 -0
  83. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/fake_backends/fake_apollo.py +0 -0
  84. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/fake_backends/fake_deneb.py +0 -0
  85. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/fake_backends/fake_garnet.py +0 -0
  86. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/fake_backends/iqm_fake_backend.py +0 -0
  87. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/iqm_backend.py +0 -0
  88. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/iqm_circuit.py +0 -0
  89. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/iqm_circuit_validation.py +0 -0
  90. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/iqm_job.py +0 -0
  91. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/iqm_move_layout.py +0 -0
  92. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/iqm_naive_move_pass.py +0 -0
  93. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/iqm_provider.py +0 -0
  94. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/iqm_transpilation.py +0 -0
  95. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/move_gate.py +0 -0
  96. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/py.typed +0 -0
  97. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/qiskit_to_iqm.py +0 -0
  98. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm/qiskit_iqm/transpiler_plugins.py +0 -0
  99. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm_client.egg-info/SOURCES.txt +0 -0
  100. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm_client.egg-info/dependency_links.txt +0 -0
  101. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm_client.egg-info/entry_points.txt +0 -0
  102. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm_client.egg-info/requires.txt +0 -0
  103. {iqm_client-25.0.0 → iqm_client-25.2.0}/src/iqm_client.egg-info/top_level.txt +0 -0
  104. {iqm_client-25.0.0 → iqm_client-25.2.0}/test +0 -0
  105. {iqm_client-25.0.0 → iqm_client-25.2.0}/tests/__init__.py +0 -0
  106. {iqm_client-25.0.0 → iqm_client-25.2.0}/tests/conftest.py +0 -0
@@ -2,6 +2,22 @@
2
2
  Changelog
3
3
  =========
4
4
 
5
+ Version 25.2.0 (2025-05-23)
6
+ ===========================
7
+
8
+ Features
9
+ --------
10
+
11
+ - ``IQMClient.submit_run_request`` uses UTF-8 encoding for the JSON payload.
12
+
13
+ Version 25.1.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 25.0.0 (2025-05-16)
6
22
  ===========================
7
23
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-client
3
- Version: 25.0.0
3
+ Version: 25.2.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
@@ -69,7 +69,7 @@ unfixable = [ "F401",]
69
69
 
70
70
  [tool.ruff.lint.isort]
71
71
  force-sort-within-sections = true
72
- known-first-party = [ "exa.experiments", "exa.core", "exa.common", "cocos", "gbc", "calibration_graphs", "iqm.pulse", "iqm.cpc", "iqm.pulla", "iqm.station_control", "tests",]
72
+ known-first-party = [ "exa.experiments", "exa.core", "exa.common", "iqm.cocos", "gbc", "calibration_graphs", "iqm.pulse", "iqm.cpc", "iqm.pulla", "iqm.station_control", "tests",]
73
73
  known-local-folder = [ "src",]
74
74
  known-third-party = [ "exa", "iqm",]
75
75
  relative-imports-order = "closest-to-furthest"
@@ -354,7 +354,10 @@ class IQMClient:
354
354
  ID for the created job. This ID is needed to query the job status and the execution results.
355
355
 
356
356
  """
357
- headers = {"Expect": "100-Continue", **self._default_headers()}
357
+ headers = {
358
+ "Expect": "100-Continue",
359
+ **self._default_headers(),
360
+ }
358
361
  try:
359
362
  # check if someone is trying to profile us with OpenTelemetry
360
363
  from opentelemetry import propagate
@@ -367,11 +370,12 @@ class IQMClient:
367
370
  if os.environ.get("IQM_CLIENT_DEBUG") == "1":
368
371
  print(f"\nIQM CLIENT DEBUGGING ENABLED\nSUBMITTING RUN REQUEST:\n{run_request}\n")
369
372
 
373
+ # use UTF-8 encoding for the JSON payload
370
374
  result = self._retry_request_on_error(
371
375
  lambda: requests.post(
372
376
  self._api.url(APIEndpoint.SUBMIT_JOB),
373
- json=json.loads(run_request.model_dump_json(exclude_none=True)),
374
- headers=headers,
377
+ data=run_request.model_dump_json(exclude_none=True).encode("utf-8"),
378
+ headers=headers | {"Content-Type": "application/json; charset=UTF-8"},
375
379
  timeout=REQUESTS_TIMEOUT,
376
380
  )
377
381
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-client
3
- Version: 25.0.0
3
+ Version: 25.2.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
@@ -0,0 +1 @@
1
+ 25.2.0
@@ -1 +0,0 @@
1
- 25.0.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