azure-quantum 3.6.0__py3-none-any.whl → 3.6.1__py3-none-any.whl

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.
@@ -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 = "3.6.0"
9
+ VERSION = "3.6.1"
@@ -61,7 +61,7 @@ class ConnectionConstants:
61
61
  ARM_CREDENTIAL_SCOPE = "https://management.azure.com/.default"
62
62
 
63
63
  DEFAULT_ARG_API_VERSION = "2021-03-01"
64
- DEFAULT_WORKSPACE_API_VERSION = "2025-11-01-preview"
64
+ DEFAULT_ARM_WORKSPACE_API_VERSION = "2025-12-15-preview"
65
65
 
66
66
  MSA_TENANT_ID = "9188040d-6c67-4c5b-b112-36a304b66dad"
67
67
 
@@ -179,7 +179,7 @@ class WorkspaceMgmtClient():
179
179
  if not all([connection_params.subscription_id, connection_params.resource_group, connection_params.workspace_name]):
180
180
  raise ValueError("Missing required connection parameters to load workspace details from ARM.")
181
181
 
182
- api_version = connection_params.api_version or ConnectionConstants.DEFAULT_WORKSPACE_API_VERSION
182
+ api_version = connection_params.api_version or ConnectionConstants.DEFAULT_ARM_WORKSPACE_API_VERSION
183
183
 
184
184
  url = (
185
185
  f"/subscriptions/{connection_params.subscription_id}"
azure/quantum/job/job.py CHANGED
@@ -64,6 +64,13 @@ class Job(BaseJob, FilteredJob):
64
64
  or self.details.status == "Failed"
65
65
  or self.details.status == "Cancelled"
66
66
  )
67
+
68
+ def has_succeeded(self) -> bool:
69
+ """Check if the job has succeeded."""
70
+ return (
71
+ self.details.status == "Completed"
72
+ or self.details.status == "Succeeded"
73
+ )
67
74
 
68
75
  def wait_until_completed(
69
76
  self,
@@ -125,7 +132,7 @@ class Job(BaseJob, FilteredJob):
125
132
  if not self.has_completed():
126
133
  self.wait_until_completed(timeout_secs=timeout_secs)
127
134
 
128
- if not self.details.status == "Succeeded" and not self.details.status == "Completed":
135
+ if not self.has_succeeded():
129
136
  if self.details.status == "Failed" and self._allow_failure_results():
130
137
  job_blob_properties = self.download_blob_properties(self.details.output_data_uri)
131
138
  if job_blob_properties.size > 0:
@@ -205,7 +212,7 @@ class Job(BaseJob, FilteredJob):
205
212
  if not self.has_completed():
206
213
  self.wait_until_completed(timeout_secs=timeout_secs)
207
214
 
208
- if not self.details.status == "Succeeded" or self.details.status == "Completed":
215
+ if not self.has_succeeded():
209
216
  if self.details.status == "Failed" and self._allow_failure_results():
210
217
  job_blob_properties = self.download_blob_properties(self.details.output_data_uri)
211
218
  if job_blob_properties.size > 0:
@@ -288,7 +295,7 @@ class Job(BaseJob, FilteredJob):
288
295
  if not self.has_completed():
289
296
  self.wait_until_completed(timeout_secs=timeout_secs)
290
297
 
291
- if not self.details.status == "Succeeded" or self.details.status == "Completed":
298
+ if not self.has_succeeded():
292
299
  if self.details.status == "Failed" and self._allow_failure_results():
293
300
  job_blob_properties = self.download_blob_properties(self.details.output_data_uri)
294
301
  if job_blob_properties.size > 0:
@@ -342,8 +349,10 @@ class Job(BaseJob, FilteredJob):
342
349
 
343
350
  def _convert_tuples(self, data):
344
351
  if isinstance(data, dict):
352
+ if "Error" in data:
353
+ return data
345
354
  # Check if the dictionary represents a tuple
346
- if all(isinstance(k, str) and k.startswith("Item") for k in data.keys()):
355
+ elif all(isinstance(k, str) and k.startswith("Item") for k in data.keys()):
347
356
  # Convert the dictionary to a tuple
348
357
  return tuple(self._convert_tuples(data[f"Item{i+1}"]) for i in range(len(data)))
349
358
  else:
@@ -32,8 +32,6 @@ class RigettiTarget(str, Enum):
32
32
 
33
33
  ANKAA_3 = "rigetti.qpu.ankaa-3"
34
34
 
35
- CEPHEUS_1_36Q = "rigetti.qpu.cepheus-1-36q"
36
-
37
35
  def simulators() -> List[str]:
38
36
  """Returns a list of simulator targets"""
39
37
  return [
@@ -43,8 +41,7 @@ class RigettiTarget(str, Enum):
43
41
  def qpus() -> List[str]:
44
42
  """Returns a list of QPU targets"""
45
43
  return [
46
- RigettiTarget.ANKAA_3.value,
47
- RigettiTarget.CEPHEUS_1_36Q
44
+ RigettiTarget.ANKAA_3.value
48
45
  ]
49
46
 
50
47
  def num_qubits(target_name) -> int:
@@ -54,8 +51,6 @@ class RigettiTarget(str, Enum):
54
51
  return 20
55
52
  elif target_name == RigettiTarget.ANKAA_3.value:
56
53
  return 84
57
- elif target_name == RigettiTarget.CEPHEUS_1_36Q.value:
58
- return 36
59
54
  else:
60
55
  raise ValueError(f"Unknown target {target_name}")
61
56
 
azure/quantum/version.py CHANGED
@@ -5,4 +5,4 @@
5
5
  # Copyright (c) Microsoft Corporation. All rights reserved.
6
6
  # Licensed under the MIT License.
7
7
  ##
8
- __version__ = "3.6.0"
8
+ __version__ = "3.6.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: azure-quantum
3
- Version: 3.6.0
3
+ Version: 3.6.1
4
4
  Summary: Python client for Azure Quantum
5
5
  Home-page: https://github.com/microsoft/azure-quantum-python
6
6
  Author: Microsoft
@@ -12,7 +12,7 @@ Requires-Python: >=3.8
12
12
  Description-Content-Type: text/markdown
13
13
  Requires-Dist: azure-core<2.0,>=1.30
14
14
  Requires-Dist: azure-identity<2.0,>=1.17
15
- Requires-Dist: azure-storage-blob==12.20
15
+ Requires-Dist: azure-storage-blob<13.0,>=12.20
16
16
  Requires-Dist: msrest<1.0,>=0.7.1
17
17
  Requires-Dist: numpy>=1.21.0
18
18
  Requires-Dist: deprecated<2.0,>=1.2.12
@@ -21,8 +21,6 @@ Requires-Dist: cirq-core<=1.4.1,>=1.3.0; extra == "all"
21
21
  Requires-Dist: cirq-ionq<=1.4.1,>=1.3.0; extra == "all"
22
22
  Requires-Dist: pytest>=7.1.2; extra == "all"
23
23
  Requires-Dist: pytest-xdist<4.0,>=3.8.0; extra == "all"
24
- Requires-Dist: vcrpy>=4.3.1; extra == "all"
25
- Requires-Dist: azure-devtools<2.0,>=1.2.0; extra == "all"
26
24
  Requires-Dist: graphviz>=0.20.1; extra == "all"
27
25
  Requires-Dist: tox>=4.32.0; extra == "all"
28
26
  Requires-Dist: pulser<0.19,>=0.18; extra == "all"
@@ -35,8 +33,6 @@ Requires-Dist: cirq-ionq<=1.4.1,>=1.3.0; extra == "cirq"
35
33
  Provides-Extra: dev
36
34
  Requires-Dist: pytest>=7.1.2; extra == "dev"
37
35
  Requires-Dist: pytest-xdist<4.0,>=3.8.0; extra == "dev"
38
- Requires-Dist: vcrpy>=4.3.1; extra == "dev"
39
- Requires-Dist: azure-devtools<2.0,>=1.2.0; extra == "dev"
40
36
  Requires-Dist: graphviz>=0.20.1; extra == "dev"
41
37
  Requires-Dist: tox>=4.32.0; extra == "dev"
42
38
  Provides-Extra: pulser
@@ -1,16 +1,16 @@
1
1
  azure/quantum/__init__.py,sha256=Za8xZY4lzFkW8m4ero-bqrfN437D2NRukM77ukb4GPM,508
2
- azure/quantum/_constants.py,sha256=iUk8JfprDi3Z7BSURkEHcGhg3palx-Qop5bZaxSqYNM,5172
3
- azure/quantum/_mgmt_client.py,sha256=l3i3Lqyr1wWYYCMUE9FJLS67yJ5w6_TPmROJbzzczjE,10845
2
+ azure/quantum/_constants.py,sha256=qvvGXkC219DTaDSI-AS7ECtSdarIli1Grt_APdH6UFU,5176
3
+ azure/quantum/_mgmt_client.py,sha256=KpzHEa9du9Qt5Qz14KkHoLpDkN_EPybSyaq33kky0Ms,10849
4
4
  azure/quantum/_workspace_connection_params.py,sha256=gVwGrqZscq5Tz8_99H5qf9eG9t29VWKEr8oy46wdskg,27653
5
5
  azure/quantum/storage.py,sha256=_4bMniDk9LrB_K5CQwuCivJFZXdmhRvU2b6Z3xxXw9I,12556
6
- azure/quantum/version.py,sha256=5Bxuqcaym2LB4GoImszvsl8vFh1CoTAFQn_1fOV9DRg,235
6
+ azure/quantum/version.py,sha256=9YOmDAVOX1qT5efL16lHNbkXrJhSZ5gjMLtuNzRTGAg,235
7
7
  azure/quantum/workspace.py,sha256=Q_F5kjZxnGgvZqN_QgVj_rT9JlP3fnd9_6qyRpf1HqY,38303
8
8
  azure/quantum/_client/__init__.py,sha256=YbugbghdTQryyE5FqMFNWRGdB8j1clZ1OZE3Q5RjKRI,1058
9
9
  azure/quantum/_client/_client.py,sha256=DZPNGo6MkUUOXT5QsgkPJ424K--omBblQATp9WUp6Z4,4926
10
10
  azure/quantum/_client/_configuration.py,sha256=TaH0QzwDV8Gi5DRBEJi-iivffSpbsaqO3kK-A-u8yRU,3941
11
11
  azure/quantum/_client/_patch.py,sha256=9eaiNlBEG97tewWCROwBtNgUzrZkdsUDLIqIpuH-uMM,845
12
12
  azure/quantum/_client/_validation.py,sha256=xJHMb5QHPRJJYvsfSy2ERneBuQsHgZeKTvcW_FyXLC8,2888
13
- azure/quantum/_client/_version.py,sha256=I7zfjrgP0MnyydZ6AQXG-w2tL6pXWLRET3i4S92jPFs,495
13
+ azure/quantum/_client/_version.py,sha256=LVfB40963-iYCm6k3lBnKzAW1cxCGWuZKHDAd_vLkm0,495
14
14
  azure/quantum/_client/py.typed,sha256=dcrsqJrcYfTX-ckLFJMTaj6mD8aDe2u0tkQG-ZYxnEg,26
15
15
  azure/quantum/_client/_utils/__init__.py,sha256=p0sPNQkjON5xrLnTRJwrPqpEGR0EChMoEgooze5LhPs,456
16
16
  azure/quantum/_client/_utils/model_base.py,sha256=FsYfWhypFi-oankp9p0jJ1j-8oU8Dceh16NmndSMYhE,50901
@@ -41,7 +41,7 @@ azure/quantum/cirq/targets/target.py,sha256=1EEog72dFZoiOTQP7obOrCuO3VH0yjXGAIMe
41
41
  azure/quantum/job/__init__.py,sha256=nFuOsG25a8WzYFLwA2fhA0JMNWtblfDjV5WRgB6UQbw,829
42
42
  azure/quantum/job/base_job.py,sha256=WK1aE1adi3fU535lyU6dnHEn23VYXxlw4zgHfB52A-w,14689
43
43
  azure/quantum/job/filtered_job.py,sha256=qZfxTuDp0hzK4wermn4GRzLxnDy4yM-j6oZQ3D0O4vI,1877
44
- azure/quantum/job/job.py,sha256=CqnNzNdeb8kgKbypqR02n9owjG_qArKjkVhTuI1HZ3U,17777
44
+ azure/quantum/job/job.py,sha256=6miD8BLypbm1G_N6qG5mMVwN2NX5dqmfyVOicPgsaJs,17899
45
45
  azure/quantum/job/job_failed_with_results_error.py,sha256=bSqOZ0c6FNbS9opvwkCXG9mfTkAiyZRvp_YA3V-ktEs,1597
46
46
  azure/quantum/job/session.py,sha256=FkZEP1RTYghFY0dt8Ly6_yhVefsBjLW5AMR5UpXCJ_U,12403
47
47
  azure/quantum/job/workspace_item.py,sha256=lyBIJCtUfIZMGJYJkX7Se8IDnXhXe4JU0RnqzSuhhI4,1380
@@ -67,8 +67,8 @@ azure/quantum/target/pasqal/result.py,sha256=36VA5bNog5GRvPwHJfesr72y1SfD3xxu5pJ
67
67
  azure/quantum/target/pasqal/target.py,sha256=K_vqavov6gvS84voRKeBx9pO8g4LrtWrlZ5-RMLWozw,5139
68
68
  azure/quantum/target/rigetti/__init__.py,sha256=I1vyzZBYGI540pauTqJd0RSSyTShGqkEL7Yjo25_RNY,378
69
69
  azure/quantum/target/rigetti/result.py,sha256=Xdb5LSwOkJssluDVDhg2gxHLgdvXpwCmA9QMr3jx3VA,2372
70
- azure/quantum/target/rigetti/target.py,sha256=HFrng9SigibPn_2KWhD5qWHiP_RNz3CNRkv288tf-z8,7586
71
- azure_quantum-3.6.0.dist-info/METADATA,sha256=auIRo9vvF1CIBa9KhH8GHLGKmlMS_5tOmqq6RgZKdnI,6700
72
- azure_quantum-3.6.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
73
- azure_quantum-3.6.0.dist-info/top_level.txt,sha256=S7DhWV9m80TBzAhOFjxDUiNbKszzoThbnrSz5MpbHSQ,6
74
- azure_quantum-3.6.0.dist-info/RECORD,,
70
+ azure/quantum/target/rigetti/target.py,sha256=UlWkiww_kMaMfCQgbRnWfq36K_943YA8B08YAB8cr_k,7406
71
+ azure_quantum-3.6.1.dist-info/METADATA,sha256=NlubszTyi0deASAqJAvFF5g0DrSIquFIlvp5rjGifN0,6498
72
+ azure_quantum-3.6.1.dist-info/WHEEL,sha256=hPN0AlP2dZM_3ZJZWP4WooepkmU9wzjGgCLCeFjkHLA,92
73
+ azure_quantum-3.6.1.dist-info/top_level.txt,sha256=S7DhWV9m80TBzAhOFjxDUiNbKszzoThbnrSz5MpbHSQ,6
74
+ azure_quantum-3.6.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.45.1)
2
+ Generator: bdist_wheel (0.46.3)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5