iqm-client 31.5.0__tar.gz → 31.7.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.5.0 → iqm_client-31.7.0}/CHANGELOG.rst +16 -0
  2. {iqm_client-31.5.0 → iqm_client-31.7.0}/PKG-INFO +1 -1
  3. {iqm_client-31.5.0 → iqm_client-31.7.0}/docs/user_guide_qiskit.rst +31 -13
  4. {iqm_client-31.5.0 → iqm_client-31.7.0}/pyproject.toml +6 -1
  5. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/examples/bell_measure.py +5 -4
  6. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/examples/resonance_example.py +1 -1
  7. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/examples/transpile_example.py +3 -2
  8. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/iqm_provider.py +11 -7
  9. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm_client.egg-info/PKG-INFO +1 -1
  10. iqm_client-31.7.0/version.txt +1 -0
  11. iqm_client-31.5.0/version.txt +0 -1
  12. {iqm_client-31.5.0 → iqm_client-31.7.0}/AUTHORS.rst +0 -0
  13. {iqm_client-31.5.0 → iqm_client-31.7.0}/CHANGELOG_cirq-iqm.rst +0 -0
  14. {iqm_client-31.5.0 → iqm_client-31.7.0}/CHANGELOG_cortex-cli.rst +0 -0
  15. {iqm_client-31.5.0 → iqm_client-31.7.0}/CHANGELOG_qiskit-iqm.rst +0 -0
  16. {iqm_client-31.5.0 → iqm_client-31.7.0}/INTEGRATION_GUIDE.rst +0 -0
  17. {iqm_client-31.5.0 → iqm_client-31.7.0}/LICENSE.txt +0 -0
  18. {iqm_client-31.5.0 → iqm_client-31.7.0}/MANIFEST.in +0 -0
  19. {iqm_client-31.5.0 → iqm_client-31.7.0}/README.rst +0 -0
  20. {iqm_client-31.5.0 → iqm_client-31.7.0}/docbuild +0 -0
  21. {iqm_client-31.5.0 → iqm_client-31.7.0}/docs/API.rst +0 -0
  22. {iqm_client-31.5.0 → iqm_client-31.7.0}/docs/_static/images/favicon.ico +0 -0
  23. {iqm_client-31.5.0 → iqm_client-31.7.0}/docs/_static/images/logo.png +0 -0
  24. {iqm_client-31.5.0 → iqm_client-31.7.0}/docs/_templates/autosummary-class-template.rst +0 -0
  25. {iqm_client-31.5.0 → iqm_client-31.7.0}/docs/_templates/autosummary-module-template.rst +0 -0
  26. {iqm_client-31.5.0 → iqm_client-31.7.0}/docs/authors.rst +0 -0
  27. {iqm_client-31.5.0 → iqm_client-31.7.0}/docs/changelog.rst +0 -0
  28. {iqm_client-31.5.0 → iqm_client-31.7.0}/docs/conf.py +0 -0
  29. {iqm_client-31.5.0 → iqm_client-31.7.0}/docs/index.rst +0 -0
  30. {iqm_client-31.5.0 → iqm_client-31.7.0}/docs/integration_guide.rst +0 -0
  31. {iqm_client-31.5.0 → iqm_client-31.7.0}/docs/license.rst +0 -0
  32. {iqm_client-31.5.0 → iqm_client-31.7.0}/docs/readme.rst +0 -0
  33. {iqm_client-31.5.0 → iqm_client-31.7.0}/docs/user_guide_cirq.rst +0 -0
  34. {iqm_client-31.5.0 → iqm_client-31.7.0}/docs/user_guide_cli.rst +0 -0
  35. {iqm_client-31.5.0 → iqm_client-31.7.0}/pytest.ini +0 -0
  36. {iqm_client-31.5.0 → iqm_client-31.7.0}/requirements/base.in +0 -0
  37. {iqm_client-31.5.0 → iqm_client-31.7.0}/requirements/base.in.internal +0 -0
  38. {iqm_client-31.5.0 → iqm_client-31.7.0}/requirements/base.txt +0 -0
  39. {iqm_client-31.5.0 → iqm_client-31.7.0}/requirements/cirq.in +0 -0
  40. {iqm_client-31.5.0 → iqm_client-31.7.0}/requirements/cirq.txt +0 -0
  41. {iqm_client-31.5.0 → iqm_client-31.7.0}/requirements/cli.in +0 -0
  42. {iqm_client-31.5.0 → iqm_client-31.7.0}/requirements/cli.txt +0 -0
  43. {iqm_client-31.5.0 → iqm_client-31.7.0}/requirements/qiskit.in +0 -0
  44. {iqm_client-31.5.0 → iqm_client-31.7.0}/requirements/qiskit.txt +0 -0
  45. {iqm_client-31.5.0 → iqm_client-31.7.0}/setup.cfg +0 -0
  46. {iqm_client-31.5.0 → iqm_client-31.7.0}/setup.py +0 -0
  47. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/__init__.py +0 -0
  48. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/devices/__init__.py +0 -0
  49. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/devices/adonis.py +0 -0
  50. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/devices/aphrodite.py +0 -0
  51. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/devices/apollo.py +0 -0
  52. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/devices/iqm_device.py +0 -0
  53. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/devices/iqm_device_metadata.py +0 -0
  54. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/examples/demo_adonis.py +0 -0
  55. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/examples/demo_apollo.py +0 -0
  56. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/examples/demo_common.py +0 -0
  57. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/examples/demo_iqm_execution.py +0 -0
  58. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/examples/usage.ipynb +0 -0
  59. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/extended_qasm_parser.py +0 -0
  60. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/iqm_gates.py +0 -0
  61. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/iqm_sampler.py +0 -0
  62. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/optimizers.py +0 -0
  63. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/py.typed +0 -0
  64. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/serialize.py +0 -0
  65. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/cirq_iqm/transpiler.py +0 -0
  66. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/iqm_client/__init__.py +0 -0
  67. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/iqm_client/api.py +0 -0
  68. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/iqm_client/authentication.py +0 -0
  69. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/iqm_client/cli/__init__.py +0 -0
  70. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/iqm_client/cli/auth.py +0 -0
  71. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/iqm_client/cli/cli.py +0 -0
  72. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/iqm_client/cli/models.py +0 -0
  73. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/iqm_client/cli/token_manager.py +0 -0
  74. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/iqm_client/errors.py +0 -0
  75. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/iqm_client/iqm_client.py +0 -0
  76. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/iqm_client/models.py +0 -0
  77. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/iqm_client/py.typed +0 -0
  78. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/iqm_client/transpile.py +0 -0
  79. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/iqm_client/util.py +0 -0
  80. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/iqm_client/validation.py +0 -0
  81. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/__init__.py +0 -0
  82. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/examples/__init__.py +0 -0
  83. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/fake_backends/__init__.py +0 -0
  84. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/fake_backends/fake_adonis.py +0 -0
  85. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/fake_backends/fake_aphrodite.py +0 -0
  86. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/fake_backends/fake_apollo.py +0 -0
  87. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/fake_backends/fake_deneb.py +0 -0
  88. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/fake_backends/fake_garnet.py +0 -0
  89. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/fake_backends/iqm_fake_backend.py +0 -0
  90. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/iqm_backend.py +0 -0
  91. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/iqm_circuit.py +0 -0
  92. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/iqm_circuit_validation.py +0 -0
  93. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/iqm_job.py +0 -0
  94. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/iqm_move_layout.py +0 -0
  95. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/iqm_naive_move_pass.py +0 -0
  96. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/iqm_target.py +0 -0
  97. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/iqm_transpilation.py +0 -0
  98. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/move_gate.py +0 -0
  99. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/py.typed +0 -0
  100. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/qiskit_to_iqm.py +0 -0
  101. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm/qiskit_iqm/transpiler_plugins.py +0 -0
  102. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm_client.egg-info/SOURCES.txt +0 -0
  103. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm_client.egg-info/dependency_links.txt +0 -0
  104. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm_client.egg-info/entry_points.txt +0 -0
  105. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm_client.egg-info/requires.txt +0 -0
  106. {iqm_client-31.5.0 → iqm_client-31.7.0}/src/iqm_client.egg-info/top_level.txt +0 -0
  107. {iqm_client-31.5.0 → iqm_client-31.7.0}/test +0 -0
  108. {iqm_client-31.5.0 → iqm_client-31.7.0}/tests/__init__.py +0 -0
  109. {iqm_client-31.5.0 → iqm_client-31.7.0}/tests/conftest.py +0 -0
@@ -2,6 +2,22 @@
2
2
  Changelog
3
3
  =========
4
4
 
5
+ Version 31.7.0 (2025-10-03)
6
+ ===========================
7
+
8
+ Bug fixes
9
+ ---------
10
+
11
+ - Skip following mypy imports to iqm-data-definitions until errors are fixed. :issue:`SW-1670`
12
+
13
+ Version 31.6.0 (2025-10-01)
14
+ ===========================
15
+
16
+ Features
17
+ --------
18
+
19
+ - Clarify the docs on IQM server URLS and facade backends.
20
+
5
21
  Version 31.5.0 (2025-09-30)
6
22
  ===========================
7
23
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-client
3
- Version: 31.5.0
3
+ Version: 31.7.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
@@ -34,7 +34,9 @@ IQM Resonance
34
34
  4. Install Qiskit on IQM as instructed below.
35
35
  5. Add your API token to the example (either as the parameter ``token`` to the :class:`.IQMProvider`
36
36
  constructor, or by setting the environment variable :envvar:`IQM_TOKEN`)
37
- 6. Run the Jupyter notebook (or run ``python resonance_example.py`` if you decided to go for the Python script).
37
+ 6. Run the Jupyter notebook (or run
38
+ ``python resonance_example.py --url https://cocos.resonance.meetiqm.com/<RESONANCE QC NAME>``
39
+ if you decided to go for the Python script).
38
40
  7. If you're connecting to a real quantum computer, the output should show almost half of the
39
41
  measurements resulting in '00000' and almost half in '11111' - if this is the case, things are
40
42
  set up correctly!
@@ -51,7 +53,7 @@ On-premises device
51
53
  3. Install IQM Client CLI and log in as instructed in the
52
54
  `documentation <https://docs.meetiqm.com/iqm-client/user_guide_cli.html#installing-iqm-client-cli>`__
53
55
  4. Set the environment variable as instructed by IQM Client CLI after logging in.
54
- 5. Run ``$ python bell_measure.py --cortex_server_url https://demo.qc.iqm.fi/cocos`` - replace the example URL with the correct one.
56
+ 5. Run ``$ python bell_measure.py --url https://<YOUR IQM SERVER>`` - replace the example URL with the correct one.
55
57
  6. If you're connecting to a real quantum computer, the output should show almost half of the
56
58
  measurements resulting in '00' and almost half in '11' - if this is the case, things are set up
57
59
  correctly!
@@ -153,7 +155,7 @@ circuit(s) are sampled:
153
155
  from qiskit import transpile
154
156
  from iqm.qiskit_iqm import IQMProvider
155
157
 
156
- iqm_server_url = "https://demo.qc.iqm.fi" # Replace this with the correct URL
158
+ iqm_server_url = "https://<IQM SERVER>" # Replace this with the correct URL
157
159
  provider = IQMProvider(iqm_server_url)
158
160
  backend = provider.get_backend()
159
161
 
@@ -735,11 +737,22 @@ a copy of the IQMFakeBackend instance with an updated error profile:
735
737
  Running a quantum circuit on a facade backend
736
738
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
737
739
 
738
- Circuits can be executed against a mock environment: an IQM server that has no real quantum computer hardware.
739
- Results from such executions are random bits. This may be useful when developing and testing software integrations.
740
+ Circuits can be executed against a *mock environment*: an IQM server that has no real quantum computer hardware.
741
+ Results from such executions are just random bits. This may be useful when developing and testing software integrations.
740
742
 
741
- Qiskit on IQM contains :class:`.IQMFacadeBackend`, which allows to combine the mock remote execution with a local
742
- noisy quantum circuit simulation. This way you can both validate your integration as well as get an idea of the expected circuit execution results.
743
+ .. note::
744
+
745
+ IQM Resonance typically provides a mock environment for each real quantum computer it has.
746
+ For example, the URL
747
+ https://cocos.resonance.meetiqm.com/garnet refers to a real quantum computer named Garnet,
748
+ whereas https://cocos.resonance.meetiqm.com/garnet:mock refers to the corresponding mock environment.
749
+
750
+ On-premises users should ask their admin whether a mock environment is available, and which IQM server
751
+ URL to use.
752
+
753
+ Qiskit on IQM contains :class:`.IQMFacadeBackend`, which allows to combine a mock remote execution with a local
754
+ noisy quantum circuit simulation. This way you can both validate your integration as well as get an idea of
755
+ the expected circuit execution results.
743
756
 
744
757
  To run a circuit this way, use :meth:`IQMProvider.get_backend` with one of the backend names
745
758
  ``facade_adonis, facade_apollo, facade_aphrodite, facade_deneb`` or ``facade_garnet`` to obtain
@@ -747,11 +760,16 @@ a facade backend.
747
760
  ``facade_adonis, facade_apollo, facade_aphrodite`` represent typical Crystal 5, Crystal 20 and Crystal 54 architecture QPUs,
748
761
  whereas ``facade_deneb`` and ``facade_garnet`` represent the corresponding IQM Resonance quantum computers
749
762
  more specifically.
750
-
751
- Note that the provider must be initialized with the URL of a quantum computer with the corresponding
763
+ The provider must be initialized with the URL of a quantum computer with the corresponding
752
764
  static quantum architecture (i.e. names of qubits, their connectivity, and the native gateset should match the desired architecture).
753
- Additionally, the URL should point to a mock server rather than a real quantum computer, as the execution results
754
- from the server will be discarded and replaced by a simulated result generated by Qiskit Aer.
765
+
766
+ .. important::
767
+
768
+ When using a facade backend, the IQM server URL of :class:`IQMProvider` should always point to a mock environment
769
+ rather than a real quantum computer, as the execution results from the server will be discarded and replaced by
770
+ a locally simulated result generated by Qiskit Aer. If you use a real quantum computer with a facade backend,
771
+ you will just waste your credits and/or computation time.
772
+
755
773
 
756
774
  .. code-block:: python
757
775
 
@@ -763,9 +781,9 @@ from the server will be discarded and replaced by a simulated result generated b
763
781
  circuit.cx(0, 1)
764
782
  circuit.measure_all()
765
783
 
766
- iqm_server_url = "https://demo.qc.iqm.fi/" # Replace this with the correct URL
784
+ iqm_server_url = "https://cocos.resonance.meetiqm.com/garnet:mock" # Replace this with the correct mock env URL
767
785
  provider = IQMProvider(iqm_server_url)
768
- backend = provider.get_backend('facade_adonis')
786
+ backend = provider.get_backend('facade_garnet')
769
787
  transpiled_circuit = transpile(circuit, backend=backend)
770
788
  job = backend.run(transpiled_circuit, shots=1000)
771
789
  print(job.result().get_counts())
@@ -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",]
@@ -47,8 +47,9 @@ def bell_measure(server_url: str) -> dict[str, int]:
47
47
  if __name__ == "__main__":
48
48
  argparser = argparse.ArgumentParser()
49
49
  argparser.add_argument(
50
- "--cortex_server_url",
51
- help="URL of the IQM server",
52
- default="https://demo.qc.iqm.fi/cocos",
50
+ "--url",
51
+ help="IQM server URL",
52
+ # For example https://cocos.resonance.meetiqm.com/garnet
53
+ default="https://<IQM SERVER>",
53
54
  )
54
- print(bell_measure(argparser.parse_args().cortex_server_url))
55
+ print(bell_measure(argparser.parse_args().url))
@@ -68,7 +68,7 @@ if __name__ == "__main__":
68
68
  "--url",
69
69
  help="URL of the IQM Resonance QC",
70
70
  # For example https://cocos.resonance.meetiqm.com/garnet
71
- default="https://cocos.resonance.meetiqm.com/<QUANTUM COMPUTER>",
71
+ default="https://cocos.resonance.meetiqm.com/<RESONANCE QC NAME>",
72
72
  )
73
73
  argparser.add_argument(
74
74
  "--token",
@@ -51,8 +51,9 @@ if __name__ == "__main__":
51
51
  argparser = argparse.ArgumentParser()
52
52
  argparser.add_argument(
53
53
  "--url",
54
- help="URL of the IQM service",
55
- default="https://cocos.resonance.meetiqm.com/deneb",
54
+ help="IQM server URL",
55
+ # For example https://cocos.resonance.meetiqm.com/garnet
56
+ default="https://<IQM SERVER>",
56
57
  )
57
58
  circuit_transpiled, results = transpile_example(argparser.parse_args().url)
58
59
  print(circuit_transpiled)
@@ -289,16 +289,20 @@ facade_names: dict[str, IQMFakeBackend] = {
289
289
 
290
290
 
291
291
  class IQMFacadeBackend(IQMBackend):
292
- """Simulates the execution of quantum circuits on a mock IQM quantum computer.
292
+ """Simulates locally the execution of quantum circuits on a remote mock IQM quantum computer.
293
293
 
294
- Can be used to submit a circuit to a mock IQM server that has no real quantum hardware,
295
- and if the mock execution is successful, simulates the circuit locally using an error model that
296
- is broadly representative of the mocked QPU. Finally returns the *simulated results*.
294
+ This backend is meant to be used to run circuits on a mock IQM server that has no real quantum hardware,
295
+ and if the mock execution is successful, simulate the circuits locally using an error model that
296
+ is broadly representative of the mocked QPU. Finally it returns the *simulated results*.
297
297
 
298
- .. note::
298
+ If you just want to run a local simulation, use :class:`.IQMFakeBackend` directly.
299
299
 
300
- There is usually no point in using a facade backend with a real quantum computer, since the computation
301
- results will be replaced with a local simulation.
300
+ .. important::
301
+
302
+ When using a facade backend, the IQM server URL of :class:`IQMProvider` should always point to a mock environment
303
+ rather than a real quantum computer, as the execution results from the server will be discarded and replaced by
304
+ a locally simulated result generated by Qiskit Aer. If you use a real quantum computer with a facade backend,
305
+ you will just waste your credits and/or computation time.
302
306
 
303
307
  Args:
304
308
  client: Client instance for communicating with an IQM server.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-client
3
- Version: 31.5.0
3
+ Version: 31.7.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
+ 31.7.0
@@ -1 +0,0 @@
1
- 31.5.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