qilisdk 0.1.3__py3-none-any.whl → 0.1.5__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.
Files changed (83) hide show
  1. qilisdk/__init__.py +11 -2
  2. qilisdk/__init__.pyi +2 -3
  3. qilisdk/_logging.py +135 -0
  4. qilisdk/_optionals.py +5 -7
  5. qilisdk/analog/__init__.py +3 -18
  6. qilisdk/analog/exceptions.py +2 -4
  7. qilisdk/analog/hamiltonian.py +455 -110
  8. qilisdk/analog/linear_schedule.py +118 -0
  9. qilisdk/analog/schedule.py +272 -79
  10. qilisdk/backends/__init__.py +45 -0
  11. qilisdk/{digital/digital_algorithm.py → backends/__init__.pyi} +3 -5
  12. qilisdk/backends/backend.py +117 -0
  13. qilisdk/{extras/cuda → backends}/cuda_backend.py +153 -161
  14. qilisdk/backends/qutip_backend.py +492 -0
  15. qilisdk/common/__init__.py +48 -2
  16. qilisdk/common/algorithm.py +2 -1
  17. qilisdk/{extras/qaas/qaas_settings.py → common/exceptions.py} +12 -6
  18. qilisdk/common/model.py +1019 -1
  19. qilisdk/common/parameterizable.py +75 -0
  20. qilisdk/common/qtensor.py +666 -0
  21. qilisdk/common/result.py +2 -1
  22. qilisdk/common/variables.py +1931 -0
  23. qilisdk/{extras/cuda/cuda_analog_result.py → cost_functions/__init__.py} +3 -4
  24. qilisdk/cost_functions/cost_function.py +77 -0
  25. qilisdk/cost_functions/model_cost_function.py +145 -0
  26. qilisdk/cost_functions/observable_cost_function.py +109 -0
  27. qilisdk/digital/__init__.py +3 -22
  28. qilisdk/digital/ansatz.py +203 -160
  29. qilisdk/digital/circuit.py +81 -9
  30. qilisdk/digital/exceptions.py +12 -6
  31. qilisdk/digital/gates.py +228 -85
  32. qilisdk/{extras/qaas/qaas_analog_result.py → functionals/__init__.py} +14 -5
  33. qilisdk/functionals/functional.py +39 -0
  34. qilisdk/{extras/cuda/cuda_digital_result.py → functionals/functional_result.py} +3 -4
  35. qilisdk/functionals/sampling.py +81 -0
  36. qilisdk/functionals/sampling_result.py +92 -0
  37. qilisdk/functionals/time_evolution.py +98 -0
  38. qilisdk/functionals/time_evolution_result.py +84 -0
  39. qilisdk/functionals/variational_program.py +80 -0
  40. qilisdk/functionals/variational_program_result.py +69 -0
  41. qilisdk/logging_config.yaml +16 -0
  42. qilisdk/{common/backend.py → optimizers/__init__.py} +2 -1
  43. qilisdk/optimizers/optimizer.py +39 -0
  44. qilisdk/{common → optimizers}/optimizer_result.py +3 -12
  45. qilisdk/{common/optimizer.py → optimizers/scipy_optimizer.py} +10 -28
  46. qilisdk/settings.py +78 -0
  47. qilisdk/{extras → speqtrum}/__init__.py +7 -8
  48. qilisdk/{extras → speqtrum}/__init__.pyi +3 -3
  49. qilisdk/speqtrum/experiments/__init__.py +25 -0
  50. qilisdk/speqtrum/experiments/experiment_functional.py +124 -0
  51. qilisdk/speqtrum/experiments/experiment_result.py +231 -0
  52. qilisdk/{extras/qaas → speqtrum}/keyring.py +8 -4
  53. qilisdk/speqtrum/speqtrum.py +432 -0
  54. qilisdk/speqtrum/speqtrum_models.py +300 -0
  55. qilisdk/utils/__init__.py +0 -14
  56. qilisdk/utils/openqasm2.py +1 -1
  57. qilisdk/utils/serialization.py +1 -1
  58. qilisdk/utils/visualization/PlusJakartaSans-SemiBold.ttf +0 -0
  59. qilisdk/utils/visualization/__init__.py +24 -0
  60. qilisdk/utils/visualization/circuit_renderers.py +781 -0
  61. qilisdk/utils/visualization/schedule_renderers.py +161 -0
  62. qilisdk/utils/visualization/style.py +154 -0
  63. qilisdk/utils/visualization/themes.py +76 -0
  64. qilisdk/yaml.py +126 -0
  65. {qilisdk-0.1.3.dist-info → qilisdk-0.1.5.dist-info}/METADATA +180 -135
  66. qilisdk-0.1.5.dist-info/RECORD +69 -0
  67. qilisdk/analog/algorithms.py +0 -111
  68. qilisdk/analog/analog_backend.py +0 -43
  69. qilisdk/analog/analog_result.py +0 -114
  70. qilisdk/analog/quantum_objects.py +0 -533
  71. qilisdk/digital/digital_backend.py +0 -90
  72. qilisdk/digital/digital_result.py +0 -145
  73. qilisdk/digital/vqe.py +0 -166
  74. qilisdk/extras/cuda/__init__.py +0 -13
  75. qilisdk/extras/qaas/__init__.py +0 -13
  76. qilisdk/extras/qaas/models.py +0 -132
  77. qilisdk/extras/qaas/qaas_backend.py +0 -255
  78. qilisdk/extras/qaas/qaas_digital_result.py +0 -20
  79. qilisdk/extras/qaas/qaas_time_evolution_result.py +0 -20
  80. qilisdk/extras/qaas/qaas_vqe_result.py +0 -20
  81. qilisdk-0.1.3.dist-info/RECORD +0 -51
  82. {qilisdk-0.1.3.dist-info → qilisdk-0.1.5.dist-info}/WHEEL +0 -0
  83. {qilisdk-0.1.3.dist-info → qilisdk-0.1.5.dist-info}/licenses/LICENCE +0 -0
@@ -1,255 +0,0 @@
1
- # Copyright 2025 Qilimanjaro Quantum Tech
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- from __future__ import annotations
15
-
16
- import json
17
- import logging
18
- from base64 import urlsafe_b64encode
19
- from datetime import datetime, timezone
20
- from os import environ
21
- from typing import TYPE_CHECKING, cast
22
-
23
- import httpx
24
- from pydantic import TypeAdapter, ValidationError
25
-
26
- from qilisdk.analog.analog_backend import AnalogBackend
27
- from qilisdk.digital.digital_backend import DigitalBackend
28
-
29
- from .keyring import delete_credentials, load_credentials, store_credentials
30
- from .models import (
31
- AnalogPayload,
32
- Device,
33
- DigitalPayload,
34
- ExecutePayload,
35
- ExecutePayloadType,
36
- ExecuteResponse,
37
- TimeEvolutionPayload,
38
- Token,
39
- VQEPayload,
40
- )
41
- from .qaas_settings import QaaSSettings
42
-
43
- if TYPE_CHECKING:
44
- from qilisdk.analog import Hamiltonian, QuantumObject, Schedule, TimeEvolution
45
- from qilisdk.analog.hamiltonian import PauliOperator
46
- from qilisdk.common.optimizer import Optimizer
47
- from qilisdk.digital import VQE, Circuit
48
-
49
- from .qaas_analog_result import QaaSAnalogResult
50
- from .qaas_digital_result import QaaSDigitalResult
51
- from .qaas_time_evolution_result import QaaSTimeEvolutionResult
52
- from .qaas_vqe_result import QaaSVQEResult
53
-
54
- logging.basicConfig(
55
- format="%(levelname)s [%(asctime)s] %(name)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S", level=logging.DEBUG
56
- )
57
-
58
-
59
- class QaaSBackend(DigitalBackend, AnalogBackend):
60
- """
61
- Manages communication with a hypothetical QaaS service via synchronous HTTP calls.
62
-
63
- Credentials to log in can come from:
64
- a) method parameters,
65
- b) environment (via Pydantic),
66
- c) keyring (fallback).
67
- """
68
-
69
- _api_url: str = environ.get("PUBLIC_API_URL", "https://qilimanjaroqaas.ddns.net:8080/api/v1")
70
-
71
- def __init__(self) -> None:
72
- """
73
- Normally, you won't call __init__() directly.
74
- Instead, use QaaSBackend.login(...) to create a logged-in instance.
75
- """ # noqa: DOC501
76
- credentials = load_credentials()
77
- if credentials is None:
78
- raise RuntimeError(
79
- "No valid QaaS credentials found in keyring."
80
- "Please call QaaSBackend.login(username, apikey) or ensure environment variables are set."
81
- )
82
- self._username, self._token = credentials
83
- self._selected_device: Device | None = None
84
-
85
- @property
86
- def selected_device(self) -> Device | None:
87
- return self._selected_device
88
-
89
- def set_device(self, device: Device) -> None:
90
- self._selected_device = device
91
-
92
- @classmethod
93
- def login(
94
- cls,
95
- username: str | None = None,
96
- apikey: str | None = None,
97
- ) -> bool:
98
- # Use provided parameters or fall back to environment variables via Settings()
99
- if not username or not apikey:
100
- try:
101
- # Load environment variables into the settings object.
102
- settings = QaaSSettings() # type: ignore[call-arg]
103
- username = username or settings.username
104
- apikey = apikey or settings.apikey
105
- except ValidationError:
106
- # Environment credentials could not be validated.
107
- # Optionally, log error details here.
108
- return False
109
-
110
- if not username or not apikey:
111
- # Insufficient credentials provided.
112
- return False
113
-
114
- # Send login request to QaaS
115
- try:
116
- assertion = {
117
- "username": username,
118
- "api_key": apikey,
119
- "user_id": None,
120
- "audience": QaaSBackend._api_url,
121
- "iat": int(datetime.now(timezone.utc).timestamp()),
122
- }
123
- encoded_assertion = urlsafe_b64encode(json.dumps(assertion, indent=2).encode("utf-8")).decode("utf-8")
124
- with httpx.Client(timeout=10.0) as client:
125
- response = client.post(
126
- QaaSBackend._api_url + "/authorisation-tokens",
127
- json={
128
- "grantType": "urn:ietf:params:oauth:grant-type:jwt-bearer",
129
- "assertion": encoded_assertion,
130
- "scope": "user profile",
131
- },
132
- headers={"X-Client-Version": "0.23.2"},
133
- )
134
- response.raise_for_status()
135
- # Suppose QaaS returns {"token": "..."} in JSON
136
- token = Token(**response.json())
137
- except httpx.RequestError:
138
- # Log error message
139
- return False
140
-
141
- store_credentials(username=username, token=token)
142
- return True
143
-
144
- @classmethod
145
- def logout(cls) -> None:
146
- delete_credentials()
147
-
148
- def list_devices(self) -> list[Device]:
149
- with httpx.Client(timeout=20.0) as client:
150
- response = client.get(
151
- QaaSBackend._api_url + "/devices",
152
- headers={"X-Client-Version": "0.23.2", "Authorization": f"Bearer {self._token.access_token}"},
153
- )
154
- response.raise_for_status()
155
-
156
- devices_list_adapter = TypeAdapter(list[Device])
157
- devices = devices_list_adapter.validate_python(response.json()["items"])
158
-
159
- # Previous two lines are the same as doing:
160
- # response_json = response.json()
161
- # devices = [Device(**item) for item in response_json["items"]]
162
-
163
- return devices
164
-
165
- def _ensure_device_selected(self) -> Device:
166
- if self._selected_device is None:
167
- raise ValueError("Device not selected.")
168
- return self._selected_device
169
-
170
- def execute(self, circuit: Circuit, nshots: int = 1000) -> QaaSDigitalResult:
171
- device = self._ensure_device_selected()
172
- payload = ExecutePayload(
173
- type=ExecutePayloadType.DIGITAL,
174
- device_id=device.id,
175
- digital_payload=DigitalPayload(circuit=circuit, nshots=nshots),
176
- )
177
- with httpx.Client(timeout=20.0) as client:
178
- response = client.post(
179
- QaaSBackend._api_url + "/execute",
180
- headers={"X-Client-Version": "0.23.2", "Authorization": f"Bearer {self._token.access_token}"},
181
- json=payload.model_dump_json(),
182
- )
183
- response.raise_for_status()
184
- execute_response = ExecuteResponse(**response.json())
185
- return cast("QaaSDigitalResult", execute_response.digital_result)
186
-
187
- def evolve(
188
- self,
189
- schedule: Schedule,
190
- initial_state: QuantumObject,
191
- observables: list[PauliOperator | Hamiltonian],
192
- store_intermediate_results: bool = False,
193
- ) -> QaaSAnalogResult:
194
- device = self._ensure_device_selected()
195
- payload = ExecutePayload(
196
- type=ExecutePayloadType.ANALOG,
197
- device_id=device.id,
198
- analog_payload=AnalogPayload(
199
- schedule=schedule,
200
- initial_state=initial_state,
201
- observables=observables,
202
- store_intermediate_results=store_intermediate_results,
203
- ),
204
- )
205
- with httpx.Client(timeout=20.0) as client:
206
- response = client.post(
207
- QaaSBackend._api_url + "/execute",
208
- headers={"X-Client-Version": "0.23.2", "Authorization": f"Bearer {self._token.access_token}"},
209
- json=payload.model_dump_json(),
210
- )
211
- response.raise_for_status()
212
- execute_response = ExecuteResponse(**response.json())
213
- return cast("QaaSAnalogResult", execute_response.analog_result)
214
-
215
- def run_vqe(
216
- self, vqe: VQE, optimizer: Optimizer, nshots: int = 1000, store_intermediate_results: bool = False
217
- ) -> QaaSVQEResult:
218
- device = self._ensure_device_selected()
219
- payload = ExecutePayload(
220
- type=ExecutePayloadType.VQE,
221
- device_id=device.id,
222
- vqe_payload=VQEPayload(
223
- vqe=vqe, optimizer=optimizer, nshots=nshots, store_intermediate_results=store_intermediate_results
224
- ),
225
- )
226
- with httpx.Client(timeout=20.0) as client:
227
- response = client.post(
228
- QaaSBackend._api_url + "/execute",
229
- headers={"X-Client-Version": "0.23.2", "Authorization": f"Bearer {self._token.access_token}"},
230
- json=payload.model_dump_json(),
231
- )
232
- response.raise_for_status()
233
- execute_response = ExecuteResponse(**response.json())
234
- return cast("QaaSVQEResult", execute_response.vqe_result)
235
-
236
- def run_time_evolution(
237
- self, time_evolution: TimeEvolution, store_intermediate_results: bool = False
238
- ) -> QaaSTimeEvolutionResult:
239
- device = self._ensure_device_selected()
240
- payload = ExecutePayload(
241
- type=ExecutePayloadType.TIME_EVOLUTION,
242
- device_id=device.id,
243
- time_evolution_payload=TimeEvolutionPayload(
244
- time_evolution=time_evolution, store_intermediate_results=store_intermediate_results
245
- ),
246
- )
247
- with httpx.Client(timeout=20.0) as client:
248
- response = client.post(
249
- QaaSBackend._api_url + "/execute",
250
- headers={"X-Client-Version": "0.23.2", "Authorization": f"Bearer {self._token.access_token}"},
251
- json=payload.model_dump_json(),
252
- )
253
- response.raise_for_status()
254
- execute_response = ExecuteResponse(**response.json())
255
- return cast("QaaSTimeEvolutionResult", execute_response.time_evolution_result)
@@ -1,20 +0,0 @@
1
- # Copyright 2025 Qilimanjaro Quantum Tech
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- from qilisdk.digital.digital_result import DigitalResult
16
- from qilisdk.yaml import yaml
17
-
18
-
19
- @yaml.register_class
20
- class QaaSDigitalResult(DigitalResult): ...
@@ -1,20 +0,0 @@
1
- # Copyright 2025 Qilimanjaro Quantum Tech
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- from qilisdk.analog.analog_result import AnalogResult
16
- from qilisdk.yaml import yaml
17
-
18
-
19
- @yaml.register_class
20
- class QaaSTimeEvolutionResult(AnalogResult): ...
@@ -1,20 +0,0 @@
1
- # Copyright 2025 Qilimanjaro Quantum Tech
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- from qilisdk.digital.vqe import VQEResult
16
- from qilisdk.yaml import yaml
17
-
18
-
19
- @yaml.register_class
20
- class QaaSVQEResult(VQEResult): ...
@@ -1,51 +0,0 @@
1
- qilisdk/__init__.py,sha256=iwacKJYttlh9DgQgNmnAjkU9CyjDQG42X3gr9Dg1kME,710
2
- qilisdk/__init__.pyi,sha256=iwacKJYttlh9DgQgNmnAjkU9CyjDQG42X3gr9Dg1kME,710
3
- qilisdk/_optionals.py,sha256=gl6yZ2sROY-USvNkXy6964OBOrDNKJAIyBU8D2H13z4,3594
4
- qilisdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- qilisdk/yaml.py,sha256=QTDiLB8-3GWOfFKxvKwfEtJjTYXRxGP3ldUAEERB51E,4055
6
- qilisdk/analog/__init__.py,sha256=0J2XPJKMrvBM8jRa4nhxMKTB0fQ5kt4emb4lp4uv3Qs,1004
7
- qilisdk/analog/algorithms.py,sha256=OiQma6y5ueNE1buXXbNexme1k1aQaIg1A00C6mX10JQ,4621
8
- qilisdk/analog/analog_backend.py,sha256=GRCqlCslo8F0iB8N6Mn-_0IFJos6xRbadwVvk3lYilc,1753
9
- qilisdk/analog/analog_result.py,sha256=aaTGQmKm8-cuFvs_lhCAP0JOaUxsmsNcVbn_M5rvkm4,4705
10
- qilisdk/analog/exceptions.py,sha256=66nF1b3God6LgJ1IQd0thC3iyr6z1iMcZTfmDsSr4LE,686
11
- qilisdk/analog/hamiltonian.py,sha256=ELQXIauk_foOQbOChTFIV4fYzTwqHhSP1tMw8PwytaQ,25126
12
- qilisdk/analog/quantum_objects.py,sha256=jXKaPQV3ZV0so1BzzB9zCCAjOhgSLFCaTQtwGaYwwfU,20641
13
- qilisdk/analog/schedule.py,sha256=AHpiBPN1YZb9J2WNw6MyRPjRWAyqLVIiGFj5y_rwDmA,12807
14
- qilisdk/common/__init__.py,sha256=sB9yxB1512KdJuWGSHx7TWvIxLMFBX1m7zm6NVkWEAA,657
15
- qilisdk/common/algorithm.py,sha256=_MBdMHIJogTPnR8QRCvpf364lxQNDqGWWyZpsgplcyI,636
16
- qilisdk/common/backend.py,sha256=dPzjqplkDTfCbLvY68M5z0ALxmgugWeCjVLuG_EqW70,609
17
- qilisdk/common/model.py,sha256=lwK0xW_sitLj7bw7aNh5xrMWVE2HoKIk2irkGpsc8as,607
18
- qilisdk/common/optimizer.py,sha256=jIBntTMw5qw03RRp5gzQe4BO9bh_z3Oeh_qfwbot0bI,5860
19
- qilisdk/common/optimizer_result.py,sha256=Xqrej4QfuDofya-MpyfXm-FIlJqrCu7worio5oqb3rQ,3990
20
- qilisdk/common/result.py,sha256=wgNCC_M0eQMArWl5nmDc0-1N5IvW1sxSnIZa7_OllCE,633
21
- qilisdk/digital/__init__.py,sha256=vAk9BGKUxKc5faOppR64kUnJxV2WKxJK_FGpGyxuheY,1144
22
- qilisdk/digital/ansatz.py,sha256=TG-GMDDb8v2WjkynhTRgHp5OUkGborLI4rmPAf33FPs,6546
23
- qilisdk/digital/circuit.py,sha256=ruE1bJJkJrCKQgbBYU0-sNHWwEI1QKiUbK76owjb32M,3628
24
- qilisdk/digital/digital_algorithm.py,sha256=ncrmqd_y__1aaOA5ttOLlwCNyIBNdEpBazLapVa54-w,744
25
- qilisdk/digital/digital_backend.py,sha256=PH514eEEjPAo3R_JnzsG4DVrwssIMzWHJFjcpT440TU,3393
26
- qilisdk/digital/digital_result.py,sha256=PmqVOp4W1COZOFYcROxuLG7WAYjBAB6EM5BeY0J-eRY,5293
27
- qilisdk/digital/exceptions.py,sha256=21RnaSBkzZOuQWcIWVB303F4nyU1ABOykhAYow4m7lA,871
28
- qilisdk/digital/gates.py,sha256=Ylf9iwDNONaatzIrrPpXi6H59C7bMvrq-tWyIK5ZykU,29614
29
- qilisdk/digital/vqe.py,sha256=HdxueeBO6MQYKyy8xo2_x50hqHd693RPvXaxEFIcEJI,6648
30
- qilisdk/extras/__init__.py,sha256=jAfA4d8AaTWXqAsQTpv_Rf1tQ0kcfQ_mmxF6rA-Mlro,1510
31
- qilisdk/extras/__init__.pyi,sha256=xQ4zOPeSaNM5zGfb07fK4lcbAu4y95YfgSlHs5TkR3Y,717
32
- qilisdk/extras/cuda/__init__.py,sha256=LDSTo7NstSbHMvvqvx7ZLxh0HFTEXg1O_B76SyEEHk8,588
33
- qilisdk/extras/cuda/cuda_analog_result.py,sha256=0IoBZpkPfxS5CDps1Z6uRH1ATWG689klYR1RvGyUhBU,737
34
- qilisdk/extras/cuda/cuda_backend.py,sha256=jnzdMkCUpQQhJ6S9dQgVTOJSciWcl5VhnG84VdZqgYA,16414
35
- qilisdk/extras/cuda/cuda_digital_result.py,sha256=bgHCrmcUVCBngo443PhfLkMxAT8Kk24FRubU3bJsdsQ,742
36
- qilisdk/extras/qaas/__init__.py,sha256=LDSTo7NstSbHMvvqvx7ZLxh0HFTEXg1O_B76SyEEHk8,588
37
- qilisdk/extras/qaas/keyring.py,sha256=xjJj6wrRALj31foctYTGZ07wgusVyIGuzeKxU-MNAA0,1774
38
- qilisdk/extras/qaas/models.py,sha256=Phf_j8LPmBUeUbe_StgM-aSz8o1HecCnfsjFbvMAlTY,3801
39
- qilisdk/extras/qaas/qaas_analog_result.py,sha256=MLWKtRWLwKZl7Q-tWv615-P_LKFxJIRrK_ni_jQvaP8,738
40
- qilisdk/extras/qaas/qaas_backend.py,sha256=2S953of7KUZ_JBNuqPBHCGa3uOu6Jve3CQxoppJvZyc,10030
41
- qilisdk/extras/qaas/qaas_digital_result.py,sha256=9EaZujlXvdmqdfVD-laDJq_I8YO5bc3XHRvEobOYR1U,743
42
- qilisdk/extras/qaas/qaas_settings.py,sha256=Vl-OPs0ijht7GqxjztY-Id3nEinfE48j_J-d9mJ4Ctk,935
43
- qilisdk/extras/qaas/qaas_time_evolution_result.py,sha256=sj9-xe1CbuO-yOkG5ac-f49CpIM4-X6tKnd9RBVfRMU,745
44
- qilisdk/extras/qaas/qaas_vqe_result.py,sha256=tQUJ904aW7BzSzd-Dxi8TvL6AIQAnDsiOGuMB8fft58,720
45
- qilisdk/utils/__init__.py,sha256=cFdezrFwesp9azZEBG_CWq3_Qp1yH8do_PyJbIIdSkU,920
46
- qilisdk/utils/openqasm2.py,sha256=QGQi2rrkYB_cqRgCyp3V3uDyfnVvcdMxykIiK0-sqXM,8316
47
- qilisdk/utils/serialization.py,sha256=vp-q2SZ9cBq3NX-gfT3ZDt0tzF3KnxkhV0cM7imJ2zo,3870
48
- qilisdk-0.1.3.dist-info/METADATA,sha256=IwKsI6lbnMmSkdb-zRYDrGQOAwqTktRKOvVcP6N5jTs,18006
49
- qilisdk-0.1.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
50
- qilisdk-0.1.3.dist-info/licenses/LICENCE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
51
- qilisdk-0.1.3.dist-info/RECORD,,