azure-quantum 0.28.291394__tar.gz → 0.28.302656b1__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 (118) hide show
  1. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/PKG-INFO +39 -1
  2. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/README.md +4 -0
  3. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/_version.py +1 -1
  4. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/qiskit/backends/ionq.py +2 -2
  5. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/qiskit/backends/quantinuum.py +12 -12
  6. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/target/ionq.py +9 -5
  7. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/target/microsoft/result.py +106 -1
  8. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/target/microsoft/target.py +17 -0
  9. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/target/quantinuum.py +6 -6
  10. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/version.py +1 -1
  11. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure_quantum.egg-info/PKG-INFO +39 -1
  12. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure_quantum.egg-info/requires.txt +2 -0
  13. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/requirements-dev.txt +2 -1
  14. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/__init__.py +0 -0
  15. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_authentication/__init__.py +0 -0
  16. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_authentication/_chained.py +0 -0
  17. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_authentication/_default.py +0 -0
  18. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_authentication/_token.py +0 -0
  19. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/__init__.py +0 -0
  20. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/_client.py +0 -0
  21. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/_configuration.py +0 -0
  22. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/_patch.py +0 -0
  23. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/_serialization.py +0 -0
  24. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/_vendor.py +0 -0
  25. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/aio/__init__.py +0 -0
  26. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/aio/_client.py +0 -0
  27. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/aio/_configuration.py +0 -0
  28. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/aio/_patch.py +0 -0
  29. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/aio/operations/__init__.py +0 -0
  30. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/aio/operations/_operations.py +0 -0
  31. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/aio/operations/_patch.py +0 -0
  32. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/models/__init__.py +0 -0
  33. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/models/_enums.py +0 -0
  34. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/models/_models.py +0 -0
  35. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/models/_patch.py +0 -0
  36. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/operations/__init__.py +0 -0
  37. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/operations/_operations.py +0 -0
  38. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/_client/operations/_patch.py +0 -0
  39. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/__init__.py +0 -0
  40. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/_authentication/__init__.py +0 -0
  41. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/_authentication/_chained.py +0 -0
  42. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/_authentication/_default.py +0 -0
  43. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/_authentication/_token.py +0 -0
  44. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/job/__init__.py +0 -0
  45. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/job/base_job.py +0 -0
  46. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/job/job.py +0 -0
  47. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/optimization/__init__.py +0 -0
  48. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/optimization/online_problem.py +0 -0
  49. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/optimization/problem.py +0 -0
  50. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/optimization/streaming_problem.py +0 -0
  51. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/storage.py +0 -0
  52. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/target/__init__.py +0 -0
  53. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/target/ionq.py +0 -0
  54. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/target/quantinuum.py +0 -0
  55. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/target/solvers.py +0 -0
  56. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/target/target.py +0 -0
  57. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/target/target_factory.py +0 -0
  58. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/target/toshiba.py +0 -0
  59. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/aio/workspace.py +0 -0
  60. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/argument_types/__init__.py +0 -0
  61. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/argument_types/types.py +0 -0
  62. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/chemistry/__init__.py +0 -0
  63. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/cirq/__init__.py +0 -0
  64. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/cirq/job.py +0 -0
  65. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/cirq/service.py +0 -0
  66. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/cirq/targets/__init__.py +0 -0
  67. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/cirq/targets/ionq.py +0 -0
  68. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/cirq/targets/quantinuum.py +0 -0
  69. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/cirq/targets/target.py +0 -0
  70. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/job/__init__.py +0 -0
  71. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/job/base_job.py +0 -0
  72. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/job/filtered_job.py +0 -0
  73. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/job/job.py +0 -0
  74. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/job/session.py +0 -0
  75. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/job/workspace_item.py +0 -0
  76. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/job/workspace_item_factory.py +0 -0
  77. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/optimization/__init__.py +0 -0
  78. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/optimization/online_problem.py +0 -0
  79. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/optimization/problem.py +0 -0
  80. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/optimization/solvers.py +0 -0
  81. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/optimization/streaming_problem.py +0 -0
  82. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/optimization/term.py +0 -0
  83. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/optimization/toshiba/__init__.py +0 -0
  84. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/optimization/toshiba/solvers.py +0 -0
  85. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/qiskit/__init__.py +0 -0
  86. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/qiskit/backends/__init__.py +0 -0
  87. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/qiskit/backends/backend.py +0 -0
  88. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/qiskit/backends/microsoft.py +0 -0
  89. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/qiskit/backends/qci.py +0 -0
  90. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/qiskit/backends/rigetti.py +0 -0
  91. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/qiskit/job.py +0 -0
  92. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/qiskit/provider.py +0 -0
  93. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/qiskit/results/__init__.py +0 -0
  94. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/qiskit/results/resource_estimator.py +0 -0
  95. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/storage.py +0 -0
  96. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/target/__init__.py +0 -0
  97. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/target/microsoft/__init__.py +0 -0
  98. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/target/microsoft/job.py +0 -0
  99. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/target/params.py +0 -0
  100. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/target/rigetti/__init__.py +0 -0
  101. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/target/rigetti/result.py +0 -0
  102. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/target/rigetti/target.py +0 -0
  103. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/target/solvers.py +0 -0
  104. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/target/target.py +0 -0
  105. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/target/target_factory.py +0 -0
  106. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/target/toshiba/__init__.py +0 -0
  107. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/target/toshiba/solvers.py +0 -0
  108. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure/quantum/workspace.py +0 -0
  109. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure_quantum.egg-info/SOURCES.txt +0 -0
  110. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure_quantum.egg-info/dependency_links.txt +0 -0
  111. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/azure_quantum.egg-info/top_level.txt +0 -0
  112. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/requirements-cirq.txt +0 -0
  113. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/requirements-qiskit.txt +0 -0
  114. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/requirements-qsharp.txt +0 -0
  115. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/requirements-quil.txt +0 -0
  116. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/requirements.txt +0 -0
  117. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/setup.cfg +0 -0
  118. {azure-quantum-0.28.291394 → azure-quantum-0.28.302656b1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: azure-quantum
3
- Version: 0.28.291394
3
+ Version: 0.28.302656b1
4
4
  Summary: Python client for Azure Quantum
5
5
  Home-page: https://github.com/microsoft/qdk-python
6
6
  Author: Microsoft
@@ -8,12 +8,46 @@ Classifier: Programming Language :: Python :: 3
8
8
  Classifier: License :: OSI Approved :: MIT License
9
9
  Classifier: Operating System :: OS Independent
10
10
  Description-Content-Type: text/markdown
11
+ Requires-Dist: azure-core<2.0.0,>=1.26.2
12
+ Requires-Dist: azure-identity<2.0.0,>=1.12.0
13
+ Requires-Dist: azure-storage-blob<13.0.0,>=12.14.1
14
+ Requires-Dist: msrest<1.0,>=0.7.1
15
+ Requires-Dist: numpy<2.0,>=1.21.0
16
+ Requires-Dist: deprecated<2.0,>=1.2.12
17
+ Requires-Dist: aiohttp<4.0,>=3.7.0
18
+ Requires-Dist: aiofile<4.0,>=3.7.2
19
+ Requires-Dist: Markdown>=3.4.1
20
+ Requires-Dist: python-markdown-math>=0.8
11
21
  Provides-Extra: cirq
22
+ Requires-Dist: cirq-core<2.0,>=1.1.0; extra == "cirq"
23
+ Requires-Dist: cirq-ionq<2.0,>=1.1.0; extra == "cirq"
12
24
  Provides-Extra: dev
25
+ Requires-Dist: vcrpy>=4.3.1; extra == "dev"
26
+ Requires-Dist: azure-devtools<2.0,>=1.2.0; extra == "dev"
27
+ Requires-Dist: graphviz>=0.20.1; extra == "dev"
13
28
  Provides-Extra: qiskit
29
+ Requires-Dist: qiskit-ionq<1.0,>=0.3.3; extra == "qiskit"
30
+ Requires-Dist: qiskit-terra<0.25.0,>=0.19.1; extra == "qiskit"
31
+ Requires-Dist: qiskit-qir<0.4,>=0.3.1; extra == "qiskit"
32
+ Requires-Dist: Markdown<4.0,>=3.4.1; extra == "qiskit"
33
+ Requires-Dist: python-markdown-math<1.0,>=0.8.0; extra == "qiskit"
14
34
  Provides-Extra: qsharp
35
+ Requires-Dist: qsharp>=0.28.263081; extra == "qsharp"
15
36
  Provides-Extra: quil
37
+ Requires-Dist: pyquil>=3.3.2; extra == "quil"
16
38
  Provides-Extra: all
39
+ Requires-Dist: cirq-core<2.0,>=1.1.0; extra == "all"
40
+ Requires-Dist: cirq-ionq<2.0,>=1.1.0; extra == "all"
41
+ Requires-Dist: vcrpy>=4.3.1; extra == "all"
42
+ Requires-Dist: azure-devtools<2.0,>=1.2.0; extra == "all"
43
+ Requires-Dist: graphviz>=0.20.1; extra == "all"
44
+ Requires-Dist: qiskit-ionq<1.0,>=0.3.3; extra == "all"
45
+ Requires-Dist: qiskit-terra<0.25.0,>=0.19.1; extra == "all"
46
+ Requires-Dist: qiskit-qir<0.4,>=0.3.1; extra == "all"
47
+ Requires-Dist: Markdown<4.0,>=3.4.1; extra == "all"
48
+ Requires-Dist: python-markdown-math<1.0,>=0.8.0; extra == "all"
49
+ Requires-Dist: qsharp>=0.28.263081; extra == "all"
50
+ Requires-Dist: pyquil>=3.3.2; extra == "all"
17
51
 
18
52
  ![Azure Quantum logo](https://raw.githubusercontent.com/microsoft/qdk-python/main/azure-quantum/Azure-Quantum-logo.png)
19
53
 
@@ -93,6 +127,10 @@ job = target.submit(problem)
93
127
  result = job.get_results()
94
128
  ```
95
129
 
130
+ ## Examples ##
131
+
132
+ You can find example Python scripts that use the Azure Quantum Python API in the [examples](https://github.com/microsoft/qdk-python/tree/main/azure-quantum/examples) directory.
133
+
96
134
  ## Contributing ##
97
135
 
98
136
  For details on contributing to this package, see the [contributing guide](https://github.com/microsoft/qdk-python/blob/main/CONTRIBUTING.md).
@@ -76,6 +76,10 @@ job = target.submit(problem)
76
76
  result = job.get_results()
77
77
  ```
78
78
 
79
+ ## Examples ##
80
+
81
+ You can find example Python scripts that use the Azure Quantum Python API in the [examples](https://github.com/microsoft/qdk-python/tree/main/azure-quantum/examples) directory.
82
+
79
83
  ## Contributing ##
80
84
 
81
85
  For details on contributing to this package, see the [contributing guide](https://github.com/microsoft/qdk-python/blob/main/CONTRIBUTING.md).
@@ -6,4 +6,4 @@
6
6
  # Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
7
  # --------------------------------------------------------------------------
8
8
 
9
- VERSION = "0.28.291394"
9
+ VERSION = "0.28.302656b1"
@@ -128,7 +128,7 @@ class IonQQPUQirBackend(IonQQirBackendBase):
128
128
 
129
129
 
130
130
  class IonQAriaQirBackend(IonQQirBackendBase):
131
- backend_names = ("ionq.qpu.aria-1",)
131
+ backend_names = ("ionq.qpu.aria-1", "ionq.qpu.aria-2")
132
132
 
133
133
  def __init__(self, name: str, provider: "AzureQuantumProvider", **kwargs):
134
134
  """Base class for interfacing with an IonQ Aria QPU backend"""
@@ -316,7 +316,7 @@ class IonQQPUNativeBackend(IonQQPUBackend):
316
316
 
317
317
 
318
318
  class IonQAriaBackend(IonQBackend):
319
- backend_names = ("ionq.qpu.aria-1",)
319
+ backend_names = ("ionq.qpu.aria-1", "ionq.qpu.aria-2")
320
320
 
321
321
  def __init__(self, name: str, provider: "AzureQuantumProvider", **kwargs):
322
322
  """Base class for interfacing with an IonQ Aria QPU backend"""
@@ -90,8 +90,8 @@ class QuantinuumQirBackendBase(AzureQirBackend):
90
90
  class QuantinuumSyntaxCheckerQirBackend(QuantinuumQirBackendBase):
91
91
  backend_names = (
92
92
  # Note: Target names on the same line are equivalent.
93
- "quantinuum.hqs-lt-s1-apival", "quantinuum.sim.h1-1sc",
94
- "quantinuum.hqs-lt-s2-apival", "quantinuum.sim.h1-2sc",
93
+ "quantinuum.sim.h1-1sc",
94
+ "quantinuum.sim.h1-2sc",
95
95
  "quantinuum.sim.h2-1sc",
96
96
  )
97
97
 
@@ -128,8 +128,8 @@ class QuantinuumSyntaxCheckerQirBackend(QuantinuumQirBackendBase):
128
128
  class QuantinuumEmulatorQirBackend(QuantinuumQirBackendBase):
129
129
  backend_names = (
130
130
  # Note: Target names on the same line are equivalent.
131
- "quantinuum.hqs-lt-s1-sim", "quantinuum.sim.h1-1e",
132
- "quantinuum.hqs-lt-s2-sim", "quantinuum.sim.h1-2e",
131
+ "quantinuum.sim.h1-1e",
132
+ "quantinuum.sim.h1-2e",
133
133
  "quantinuum.sim.h2-1e",
134
134
  )
135
135
 
@@ -166,8 +166,8 @@ class QuantinuumEmulatorQirBackend(QuantinuumQirBackendBase):
166
166
  class QuantinuumQPUQirBackend(QuantinuumQirBackendBase):
167
167
  backend_names = (
168
168
  # Note: Target names on the same line are equivalent.
169
- "quantinuum.hqs-lt-s1", "quantinuum.qpu.h1-1",
170
- "quantinuum.hqs-lt-s2", "quantinuum.qpu.h1-2",
169
+ "quantinuum.qpu.h1-1",
170
+ "quantinuum.qpu.h1-2",
171
171
  "quantinuum.qpu.h2-1",
172
172
  )
173
173
 
@@ -258,8 +258,8 @@ class QuantinuumBackend(AzureBackend):
258
258
  class QuantinuumSyntaxCheckerBackend(QuantinuumBackend):
259
259
  backend_names = (
260
260
  # Note: Target names on the same line are equivalent.
261
- "quantinuum.hqs-lt-s1-apival", "quantinuum.sim.h1-1sc",
262
- "quantinuum.hqs-lt-s2-apival", "quantinuum.sim.h1-2sc",
261
+ "quantinuum.sim.h1-1sc",
262
+ "quantinuum.sim.h1-2sc",
263
263
  "quantinuum.sim.h2-1sc",
264
264
  )
265
265
 
@@ -296,8 +296,8 @@ class QuantinuumSyntaxCheckerBackend(QuantinuumBackend):
296
296
  class QuantinuumEmulatorBackend(QuantinuumBackend):
297
297
  backend_names = (
298
298
  # Note: Target names on the same line are equivalent.
299
- "quantinuum.hqs-lt-s1-sim", "quantinuum.sim.h1-1e",
300
- "quantinuum.hqs-lt-s2-sim", "quantinuum.sim.h1-2e",
299
+ "quantinuum.sim.h1-1e",
300
+ "quantinuum.sim.h1-2e",
301
301
  "quantinuum.sim.h2-1e",
302
302
  )
303
303
 
@@ -334,8 +334,8 @@ class QuantinuumEmulatorBackend(QuantinuumBackend):
334
334
  class QuantinuumQPUBackend(QuantinuumBackend):
335
335
  backend_names = (
336
336
  # Note: Target names on the same line are equivalent.
337
- "quantinuum.hqs-lt-s1", "quantinuum.qpu.h1-1",
338
- "quantinuum.hqs-lt-s2", "quantinuum.qpu.h1-2",
337
+ "quantinuum.qpu.h1-1",
338
+ "quantinuum.qpu.h1-2",
339
339
  "quantinuum.qpu.h2-1",
340
340
  )
341
341
 
@@ -12,19 +12,22 @@ from azure.quantum._client.models import CostEstimate, UsageEvent
12
12
  COST_1QUBIT_GATE_MAP = {
13
13
  "ionq.simulator" : 0.0,
14
14
  "ionq.qpu" : 0.00003,
15
- "ionq.qpu.aria-1" : 0.0002205
15
+ "ionq.qpu.aria-1" : 0.0002205,
16
+ "ionq.qpu.aria-2" : 0.0002205
16
17
  }
17
18
 
18
19
  COST_2QUBIT_GATE_MAP = {
19
20
  "ionq.simulator" : 0.0,
20
21
  "ionq.qpu" : 0.0003,
21
- "ionq.qpu.aria-1" : 0.00098
22
+ "ionq.qpu.aria-1" : 0.00098,
23
+ "ionq.qpu.aria-2" : 0.00098
22
24
  }
23
25
 
24
26
  MIN_PRICE_MAP = {
25
27
  "ionq.simulator" : 0.0,
26
28
  "ionq.qpu" : 1.0,
27
- "ionq.qpu.aria-1" : 1.0
29
+ "ionq.qpu.aria-1" : 97.5,
30
+ "ionq.qpu.aria-2" : 97.5
28
31
  }
29
32
 
30
33
  def int_to_bitstring(k: int, num_qubits: int, measured_qubit_ids: List[int]):
@@ -39,7 +42,8 @@ class IonQ(Target):
39
42
  target_names = (
40
43
  "ionq.qpu",
41
44
  "ionq.simulator",
42
- "ionq.qpu.aria-1"
45
+ "ionq.qpu.aria-1",
46
+ "ionq.qpu.aria-2"
43
47
  )
44
48
 
45
49
  def __init__(
@@ -132,7 +136,7 @@ class IonQ(Target):
132
136
 
133
137
  For the most current pricing details, see
134
138
  https://docs.microsoft.com/azure/quantum/provider-ionq#pricing
135
- Or find your workspace and view pricing options in the "Provider" tab
139
+ or find your workspace and view pricing options in the "Provider" tab
136
140
  of your workspace: https://aka.ms/aq/myworkspaces
137
141
 
138
142
  :param circuit: Quantum circuit in IonQ JSON format (for examples,
@@ -20,6 +20,15 @@ class HTMLWrapper:
20
20
 
21
21
 
22
22
  class MicrosoftEstimatorResult(dict):
23
+ """
24
+ Microsoft Resource Estimator result.
25
+
26
+ Job results from the `microsoft.estimator` target are represented by
27
+ instances of this class. The class represents simple resource estimation
28
+ results as well as batching resource estimation results. The latter can
29
+ be indexed by an integer index to access an individual result from the
30
+ batching result.
31
+ """
23
32
  MAX_DEFAULT_ITEMS_IN_TABLE = 5
24
33
 
25
34
  def __init__(self, data: Union[Dict, List]):
@@ -112,7 +121,7 @@ class MicrosoftEstimatorResult(dict):
112
121
  [xs, ys] = zip(*[
113
122
  (self.data(i)['physicalCounts']['runtime'],
114
123
  self.data(i)['physicalCounts']['physicalQubits'])
115
- for i in range(len(self))])
124
+ for i in range(len(self))])
116
125
 
117
126
  _ = plt.figure(figsize=(15, 8))
118
127
 
@@ -154,6 +163,102 @@ class MicrosoftEstimatorResult(dict):
154
163
  plt.legend(loc="upper left")
155
164
  plt.show()
156
165
 
166
+ @property
167
+ def call_graph(self):
168
+ """
169
+ Shows the call graph of a simple resource estimation result with
170
+ profiling information.
171
+ """
172
+ try:
173
+ import graphviz
174
+ except ImportError:
175
+ raise ImportError(
176
+ "Missing optional 'graphviz' dependency. To install run: "
177
+ "pip install graphviz"
178
+ )
179
+
180
+ if not self._is_simple:
181
+ raise ValueError("The `call_graph` method cannot be called on a "
182
+ "batching result, try indexing into the result "
183
+ "first")
184
+
185
+ if not hasattr(self, "_call_graph"):
186
+ from itertools import groupby
187
+
188
+ data = self.data().get("callGraph", None)
189
+
190
+ if data is None:
191
+ raise ValueError("The result does not contain any profiling "
192
+ "information. Set "
193
+ "`profiling.call_stack_depth` to some value")
194
+
195
+ g = graphviz.Digraph()
196
+ g.attr('node', shape='box', style='rounded, filled',
197
+ fontname='Arial', fontsize='10', margin='0.05,0.05',
198
+ height='0', width='0', fillcolor='#f6f6f6', color='#e3e3e3')
199
+ g.attr('edge', color='#d0d0d0')
200
+
201
+ nodes_indexed = [{**node, 'index': index}
202
+ for index, node in enumerate(data['nodes'])]
203
+
204
+ def sorter(node): return node['depth']
205
+ nodes_indexed.sort(key=sorter)
206
+ for _, nodes in groupby(nodes_indexed, sorter):
207
+ with g.subgraph() as s:
208
+ s.attr(rank='same')
209
+ for node in nodes:
210
+ s.node(str(node['index']), node['name'])
211
+
212
+ for edge in data['edges']:
213
+ g.edge(str(edge[0]), str(edge[1]))
214
+
215
+ self._call_graph = g
216
+
217
+ return self._call_graph
218
+
219
+ @property
220
+ def profile(self):
221
+ """
222
+ """
223
+ if not self._is_simple:
224
+ raise ValueError("The `call_graph` method cannot be called on a "
225
+ "batching result, try indexing into the result "
226
+ "first")
227
+
228
+ if not hasattr(self, "_profile"):
229
+ import base64
230
+ import json
231
+
232
+ profile = self.data().get("profile", None)
233
+
234
+ if profile is None:
235
+ raise ValueError("The result does not contain any profiling "
236
+ "information. Set "
237
+ "`profiling.call_stack_depth` to some value")
238
+
239
+ profile_encoded = json.dumps(profile).encode('utf-8')
240
+ data64 = base64.b64encode(profile_encoded).decode('utf-8')
241
+
242
+ self._profile = f"""
243
+ <a href="data:text/json;base64,{data64}" download="profile.json">
244
+ Download the profile</a> to your computer. Then open the profile
245
+ by dragging it into <a href="https://speedscope.app"
246
+ target="_blank">speedscope</a>.
247
+ """
248
+
249
+ return HTMLWrapper(self._profile)
250
+
251
+ @property
252
+ def json(self):
253
+ """
254
+ Returns a JSON representation of the resource estimation result data.
255
+ """
256
+ if not hasattr(self, "_json"):
257
+ import json
258
+ self._json = json.dumps(self._data)
259
+
260
+ return self._json
261
+
157
262
  def _summary_data_frame(self, **kwargs):
158
263
  try:
159
264
  import pandas as pd
@@ -261,6 +261,17 @@ class MicrosoftEstimatorConstraints(AutoValidatingParams):
261
261
  max_t_factories: Optional[int] = validating_field(at_least_one)
262
262
 
263
263
 
264
+ @dataclass
265
+ class MicrosoftEstimatorProfiling(AutoValidatingParams):
266
+ @staticmethod
267
+ def at_most_30(name, value):
268
+ if value < 0 or value > 30:
269
+ raise ValueError(f"{name} must be nonnegative and at most 30")
270
+
271
+ call_stack_depth: Optional[int] = validating_field(at_most_30)
272
+ inline_functions: Optional[bool] = None
273
+
274
+
264
275
  class MicrosoftEstimatorInputParamsItem(InputParamsItem):
265
276
  """
266
277
  Input params for microsoft.estimator target
@@ -278,6 +289,8 @@ class MicrosoftEstimatorInputParamsItem(InputParamsItem):
278
289
  self.distillation_unit_specifications = [] # type: List[DistillationUnitSpecification]
279
290
  self.constraints: MicrosoftEstimatorConstraints = \
280
291
  MicrosoftEstimatorConstraints()
292
+ self.profiling: MicrosoftEstimatorProfiling = \
293
+ MicrosoftEstimatorProfiling()
281
294
  self.error_budget: Optional[Union[float, ErrorBudgetPartition]] = None
282
295
 
283
296
  def as_dict(self, validate=True) -> Dict[str, Any]:
@@ -303,6 +316,10 @@ class MicrosoftEstimatorInputParamsItem(InputParamsItem):
303
316
  if len(constraints) != 0:
304
317
  result["constraints"] = constraints
305
318
 
319
+ profiling = self.profiling.as_dict(validate)
320
+ if len(profiling) != 0:
321
+ result["profiling"] = profiling
322
+
306
323
  if self.error_budget is not None:
307
324
  if isinstance(self.error_budget, float) or \
308
325
  isinstance(self.error_budget, int):
@@ -14,12 +14,12 @@ class Quantinuum(Target):
14
14
  """Quantinuum target."""
15
15
  target_names = (
16
16
  # Note: Target names on the same line are equivalent.
17
- "quantinuum.hqs-lt-s1", "quantinuum.qpu.h1-1",
18
- "quantinuum.hqs-lt-s1-apival", "quantinuum.sim.h1-1sc",
19
- "quantinuum.hqs-lt-s1-sim", "quantinuum.sim.h1-1e",
20
- "quantinuum.hqs-lt-s2", "quantinuum.qpu.h1-2",
21
- "quantinuum.hqs-lt-s2-apival", "quantinuum.sim.h1-2sc",
22
- "quantinuum.hqs-lt-s2-sim", "quantinuum.sim.h1-2e"
17
+ "quantinuum.qpu.h1-1",
18
+ "quantinuum.sim.h1-1sc",
19
+ "quantinuum.sim.h1-1e",
20
+ "quantinuum.qpu.h1-2",
21
+ "quantinuum.sim.h1-2sc",
22
+ "quantinuum.sim.h1-2e"
23
23
  "quantinuum.qpu.h2-1",
24
24
  "quantinuum.sim.h2-1sc",
25
25
  "quantinuum.sim.h2-1e",
@@ -5,4 +5,4 @@
5
5
  # Copyright (c) Microsoft Corporation. All rights reserved.
6
6
  # Licensed under the MIT License.
7
7
  ##
8
- __version__ = "0.28.291394"
8
+ __version__ = "0.28.302656b1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: azure-quantum
3
- Version: 0.28.291394
3
+ Version: 0.28.302656b1
4
4
  Summary: Python client for Azure Quantum
5
5
  Home-page: https://github.com/microsoft/qdk-python
6
6
  Author: Microsoft
@@ -8,12 +8,46 @@ Classifier: Programming Language :: Python :: 3
8
8
  Classifier: License :: OSI Approved :: MIT License
9
9
  Classifier: Operating System :: OS Independent
10
10
  Description-Content-Type: text/markdown
11
+ Requires-Dist: azure-core<2.0.0,>=1.26.2
12
+ Requires-Dist: azure-identity<2.0.0,>=1.12.0
13
+ Requires-Dist: azure-storage-blob<13.0.0,>=12.14.1
14
+ Requires-Dist: msrest<1.0,>=0.7.1
15
+ Requires-Dist: numpy<2.0,>=1.21.0
16
+ Requires-Dist: deprecated<2.0,>=1.2.12
17
+ Requires-Dist: aiohttp<4.0,>=3.7.0
18
+ Requires-Dist: aiofile<4.0,>=3.7.2
19
+ Requires-Dist: Markdown>=3.4.1
20
+ Requires-Dist: python-markdown-math>=0.8
11
21
  Provides-Extra: cirq
22
+ Requires-Dist: cirq-core<2.0,>=1.1.0; extra == "cirq"
23
+ Requires-Dist: cirq-ionq<2.0,>=1.1.0; extra == "cirq"
12
24
  Provides-Extra: dev
25
+ Requires-Dist: vcrpy>=4.3.1; extra == "dev"
26
+ Requires-Dist: azure-devtools<2.0,>=1.2.0; extra == "dev"
27
+ Requires-Dist: graphviz>=0.20.1; extra == "dev"
13
28
  Provides-Extra: qiskit
29
+ Requires-Dist: qiskit-ionq<1.0,>=0.3.3; extra == "qiskit"
30
+ Requires-Dist: qiskit-terra<0.25.0,>=0.19.1; extra == "qiskit"
31
+ Requires-Dist: qiskit-qir<0.4,>=0.3.1; extra == "qiskit"
32
+ Requires-Dist: Markdown<4.0,>=3.4.1; extra == "qiskit"
33
+ Requires-Dist: python-markdown-math<1.0,>=0.8.0; extra == "qiskit"
14
34
  Provides-Extra: qsharp
35
+ Requires-Dist: qsharp>=0.28.263081; extra == "qsharp"
15
36
  Provides-Extra: quil
37
+ Requires-Dist: pyquil>=3.3.2; extra == "quil"
16
38
  Provides-Extra: all
39
+ Requires-Dist: cirq-core<2.0,>=1.1.0; extra == "all"
40
+ Requires-Dist: cirq-ionq<2.0,>=1.1.0; extra == "all"
41
+ Requires-Dist: vcrpy>=4.3.1; extra == "all"
42
+ Requires-Dist: azure-devtools<2.0,>=1.2.0; extra == "all"
43
+ Requires-Dist: graphviz>=0.20.1; extra == "all"
44
+ Requires-Dist: qiskit-ionq<1.0,>=0.3.3; extra == "all"
45
+ Requires-Dist: qiskit-terra<0.25.0,>=0.19.1; extra == "all"
46
+ Requires-Dist: qiskit-qir<0.4,>=0.3.1; extra == "all"
47
+ Requires-Dist: Markdown<4.0,>=3.4.1; extra == "all"
48
+ Requires-Dist: python-markdown-math<1.0,>=0.8.0; extra == "all"
49
+ Requires-Dist: qsharp>=0.28.263081; extra == "all"
50
+ Requires-Dist: pyquil>=3.3.2; extra == "all"
17
51
 
18
52
  ![Azure Quantum logo](https://raw.githubusercontent.com/microsoft/qdk-python/main/azure-quantum/Azure-Quantum-logo.png)
19
53
 
@@ -93,6 +127,10 @@ job = target.submit(problem)
93
127
  result = job.get_results()
94
128
  ```
95
129
 
130
+ ## Examples ##
131
+
132
+ You can find example Python scripts that use the Azure Quantum Python API in the [examples](https://github.com/microsoft/qdk-python/tree/main/azure-quantum/examples) directory.
133
+
96
134
  ## Contributing ##
97
135
 
98
136
  For details on contributing to this package, see the [contributing guide](https://github.com/microsoft/qdk-python/blob/main/CONTRIBUTING.md).
@@ -14,6 +14,7 @@ cirq-core<2.0,>=1.1.0
14
14
  cirq-ionq<2.0,>=1.1.0
15
15
  vcrpy>=4.3.1
16
16
  azure-devtools<2.0,>=1.2.0
17
+ graphviz>=0.20.1
17
18
  qiskit-ionq<1.0,>=0.3.3
18
19
  qiskit-terra<0.25.0,>=0.19.1
19
20
  qiskit-qir<0.4,>=0.3.1
@@ -29,6 +30,7 @@ cirq-ionq<2.0,>=1.1.0
29
30
  [dev]
30
31
  vcrpy>=4.3.1
31
32
  azure-devtools<2.0,>=1.2.0
33
+ graphviz>=0.20.1
32
34
 
33
35
  [qiskit]
34
36
  qiskit-ionq<1.0,>=0.3.3
@@ -1,2 +1,3 @@
1
1
  vcrpy>=4.3.1 # fixes https://github.com/kevin1024/vcrpy/issues/688
2
- azure-devtools>=1.2.0,<2.0
2
+ azure-devtools>=1.2.0,<2.0
3
+ graphviz>=0.20.1