qi-compute-api-client 0.21.0__py3-none-any.whl → 0.31.0__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.
Potentially problematic release.
This version of qi-compute-api-client might be problematic. Click here for more details.
- compute_api_client/__init__.py +1 -0
- compute_api_client/api/algorithms_api.py +25 -23
- compute_api_client/api/backend_api.py +19 -18
- compute_api_client/api/backend_types_api.py +54 -2
- compute_api_client/api/batch_jobs_api.py +5 -22
- compute_api_client/api/commits_api.py +5 -5
- compute_api_client/api/files_api.py +5 -5
- compute_api_client/api/final_results_api.py +4 -4
- compute_api_client/api/jobs_api.py +8 -8
- compute_api_client/api/languages_api.py +2 -2
- compute_api_client/api/members_api.py +4 -21
- compute_api_client/api/metadata_api.py +2 -2
- compute_api_client/api/permissions_api.py +4 -4
- compute_api_client/api/projects_api.py +28 -9
- compute_api_client/api/reservations_api.py +4 -4
- compute_api_client/api/results_api.py +566 -4
- compute_api_client/api/teams_api.py +2 -2
- compute_api_client/api/transactions_api.py +32 -32
- compute_api_client/api/users_api.py +21 -4
- compute_api_client/configuration.py +5 -7
- compute_api_client/docs/AlgorithmIn.md +1 -1
- compute_api_client/docs/AlgorithmsApi.md +20 -40
- compute_api_client/docs/BackendApi.md +14 -26
- compute_api_client/docs/BackendIn.md +32 -0
- compute_api_client/docs/BackendType.md +3 -0
- compute_api_client/docs/BackendTypesApi.md +15 -16
- compute_api_client/docs/BatchJobIn.md +0 -1
- compute_api_client/docs/BatchJobsApi.md +15 -33
- compute_api_client/docs/CommitsApi.md +13 -29
- compute_api_client/docs/FilesApi.md +13 -29
- compute_api_client/docs/FinalResultsApi.md +10 -22
- compute_api_client/docs/JobIn.md +0 -1
- compute_api_client/docs/JobsApi.md +18 -38
- compute_api_client/docs/LanguagesApi.md +6 -14
- compute_api_client/docs/MembersApi.md +14 -32
- compute_api_client/docs/MetadataApi.md +6 -14
- compute_api_client/docs/PermissionsApi.md +12 -28
- compute_api_client/docs/ProjectsApi.md +23 -45
- compute_api_client/docs/ReservationsApi.md +12 -28
- compute_api_client/docs/ResultsApi.md +115 -14
- compute_api_client/docs/TeamsApi.md +6 -14
- compute_api_client/docs/Transaction.md +1 -1
- compute_api_client/docs/TransactionsApi.md +12 -20
- compute_api_client/docs/User.md +1 -0
- compute_api_client/docs/UserIn.md +1 -0
- compute_api_client/docs/UsersApi.md +16 -30
- compute_api_client/models/__init__.py +1 -0
- compute_api_client/models/algorithm.py +1 -6
- compute_api_client/models/algorithm_in.py +1 -6
- compute_api_client/models/backend_in.py +98 -0
- compute_api_client/models/backend_type.py +9 -2
- compute_api_client/models/batch_job_in.py +1 -3
- compute_api_client/models/job_in.py +1 -4
- compute_api_client/models/transaction.py +6 -6
- compute_api_client/models/user.py +4 -2
- compute_api_client/models/user_in.py +4 -2
- {qi_compute_api_client-0.21.0.dist-info → qi_compute_api_client-0.31.0.dist-info}/METADATA +12 -13
- {qi_compute_api_client-0.21.0.dist-info → qi_compute_api_client-0.31.0.dist-info}/RECORD +60 -58
- {qi_compute_api_client-0.21.0.dist-info → qi_compute_api_client-0.31.0.dist-info}/LICENSE.md +0 -0
- {qi_compute_api_client-0.21.0.dist-info → qi_compute_api_client-0.31.0.dist-info}/WHEEL +0 -0
compute_api_client/docs/User.md
CHANGED
|
@@ -10,6 +10,7 @@ Name | Type | Description | Notes
|
|
|
10
10
|
**is_staff** | **bool** | | [optional] [default to False]
|
|
11
11
|
**is_active** | **bool** | | [optional] [default to False]
|
|
12
12
|
**is_confirmed** | **bool** | | [optional] [default to False]
|
|
13
|
+
**oidc_sub** | **str** | |
|
|
13
14
|
|
|
14
15
|
## Example
|
|
15
16
|
|
|
@@ -19,7 +19,7 @@ Create new user.
|
|
|
19
19
|
|
|
20
20
|
### Example
|
|
21
21
|
|
|
22
|
-
*
|
|
22
|
+
* OAuth Authentication (user_bearer):
|
|
23
23
|
```python
|
|
24
24
|
import time
|
|
25
25
|
import os
|
|
@@ -40,11 +40,7 @@ configuration = compute_api_client.Configuration(
|
|
|
40
40
|
# Examples for each auth method are provided below, use the example that
|
|
41
41
|
# satisfies your auth use case.
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
configuration.api_key['user'] = os.environ["API_KEY"]
|
|
45
|
-
|
|
46
|
-
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
|
47
|
-
# configuration.api_key_prefix['user'] = 'Bearer'
|
|
43
|
+
configuration.access_token = os.environ["ACCESS_TOKEN"]
|
|
48
44
|
|
|
49
45
|
# Enter a context with an instance of the API client
|
|
50
46
|
async with compute_api_client.ApiClient(configuration) as api_client:
|
|
@@ -75,7 +71,7 @@ Name | Type | Description | Notes
|
|
|
75
71
|
|
|
76
72
|
### Authorization
|
|
77
73
|
|
|
78
|
-
[
|
|
74
|
+
[user_bearer](../README.md#user_bearer)
|
|
79
75
|
|
|
80
76
|
### HTTP request headers
|
|
81
77
|
|
|
@@ -99,7 +95,7 @@ Delete a user.
|
|
|
99
95
|
|
|
100
96
|
### Example
|
|
101
97
|
|
|
102
|
-
*
|
|
98
|
+
* OAuth Authentication (user_bearer):
|
|
103
99
|
```python
|
|
104
100
|
import time
|
|
105
101
|
import os
|
|
@@ -118,11 +114,7 @@ configuration = compute_api_client.Configuration(
|
|
|
118
114
|
# Examples for each auth method are provided below, use the example that
|
|
119
115
|
# satisfies your auth use case.
|
|
120
116
|
|
|
121
|
-
|
|
122
|
-
configuration.api_key['user'] = os.environ["API_KEY"]
|
|
123
|
-
|
|
124
|
-
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
|
125
|
-
# configuration.api_key_prefix['user'] = 'Bearer'
|
|
117
|
+
configuration.access_token = os.environ["ACCESS_TOKEN"]
|
|
126
118
|
|
|
127
119
|
# Enter a context with an instance of the API client
|
|
128
120
|
async with compute_api_client.ApiClient(configuration) as api_client:
|
|
@@ -151,7 +143,7 @@ void (empty response body)
|
|
|
151
143
|
|
|
152
144
|
### Authorization
|
|
153
145
|
|
|
154
|
-
[
|
|
146
|
+
[user_bearer](../README.md#user_bearer)
|
|
155
147
|
|
|
156
148
|
### HTTP request headers
|
|
157
149
|
|
|
@@ -176,7 +168,7 @@ Get user by ID.
|
|
|
176
168
|
|
|
177
169
|
### Example
|
|
178
170
|
|
|
179
|
-
*
|
|
171
|
+
* OAuth Authentication (user_bearer):
|
|
180
172
|
```python
|
|
181
173
|
import time
|
|
182
174
|
import os
|
|
@@ -196,11 +188,7 @@ configuration = compute_api_client.Configuration(
|
|
|
196
188
|
# Examples for each auth method are provided below, use the example that
|
|
197
189
|
# satisfies your auth use case.
|
|
198
190
|
|
|
199
|
-
|
|
200
|
-
configuration.api_key['user'] = os.environ["API_KEY"]
|
|
201
|
-
|
|
202
|
-
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
|
203
|
-
# configuration.api_key_prefix['user'] = 'Bearer'
|
|
191
|
+
configuration.access_token = os.environ["ACCESS_TOKEN"]
|
|
204
192
|
|
|
205
193
|
# Enter a context with an instance of the API client
|
|
206
194
|
async with compute_api_client.ApiClient(configuration) as api_client:
|
|
@@ -231,7 +219,7 @@ Name | Type | Description | Notes
|
|
|
231
219
|
|
|
232
220
|
### Authorization
|
|
233
221
|
|
|
234
|
-
[
|
|
222
|
+
[user_bearer](../README.md#user_bearer)
|
|
235
223
|
|
|
236
224
|
### HTTP request headers
|
|
237
225
|
|
|
@@ -248,7 +236,7 @@ Name | Type | Description | Notes
|
|
|
248
236
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
249
237
|
|
|
250
238
|
# **read_users_users_get**
|
|
251
|
-
> List[User] read_users_users_get(latest=latest, sort_by=sort_by, page_number=page_number, items_per_page=items_per_page, id=id, full_name=full_name, email=email, is_superuser=is_superuser, is_staff=is_staff, is_active=is_active, is_confirmed=is_confirmed)
|
|
239
|
+
> List[User] read_users_users_get(latest=latest, sort_by=sort_by, page_number=page_number, items_per_page=items_per_page, id=id, full_name=full_name, email=email, is_superuser=is_superuser, is_staff=is_staff, is_active=is_active, is_confirmed=is_confirmed, oidc_sub=oidc_sub)
|
|
252
240
|
|
|
253
241
|
List users
|
|
254
242
|
|
|
@@ -256,7 +244,7 @@ Read users.
|
|
|
256
244
|
|
|
257
245
|
### Example
|
|
258
246
|
|
|
259
|
-
*
|
|
247
|
+
* OAuth Authentication (user_bearer):
|
|
260
248
|
```python
|
|
261
249
|
import time
|
|
262
250
|
import os
|
|
@@ -276,11 +264,7 @@ configuration = compute_api_client.Configuration(
|
|
|
276
264
|
# Examples for each auth method are provided below, use the example that
|
|
277
265
|
# satisfies your auth use case.
|
|
278
266
|
|
|
279
|
-
|
|
280
|
-
configuration.api_key['user'] = os.environ["API_KEY"]
|
|
281
|
-
|
|
282
|
-
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
|
283
|
-
# configuration.api_key_prefix['user'] = 'Bearer'
|
|
267
|
+
configuration.access_token = os.environ["ACCESS_TOKEN"]
|
|
284
268
|
|
|
285
269
|
# Enter a context with an instance of the API client
|
|
286
270
|
async with compute_api_client.ApiClient(configuration) as api_client:
|
|
@@ -297,10 +281,11 @@ async with compute_api_client.ApiClient(configuration) as api_client:
|
|
|
297
281
|
is_staff = True # bool | (optional)
|
|
298
282
|
is_active = True # bool | (optional)
|
|
299
283
|
is_confirmed = True # bool | (optional)
|
|
284
|
+
oidc_sub = 'oidc_sub_example' # str | (optional)
|
|
300
285
|
|
|
301
286
|
try:
|
|
302
287
|
# List users
|
|
303
|
-
api_response = await api_instance.read_users_users_get(latest=latest, sort_by=sort_by, page_number=page_number, items_per_page=items_per_page, id=id, full_name=full_name, email=email, is_superuser=is_superuser, is_staff=is_staff, is_active=is_active, is_confirmed=is_confirmed)
|
|
288
|
+
api_response = await api_instance.read_users_users_get(latest=latest, sort_by=sort_by, page_number=page_number, items_per_page=items_per_page, id=id, full_name=full_name, email=email, is_superuser=is_superuser, is_staff=is_staff, is_active=is_active, is_confirmed=is_confirmed, oidc_sub=oidc_sub)
|
|
304
289
|
print("The response of UsersApi->read_users_users_get:\n")
|
|
305
290
|
pprint(api_response)
|
|
306
291
|
except Exception as e:
|
|
@@ -324,6 +309,7 @@ Name | Type | Description | Notes
|
|
|
324
309
|
**is_staff** | **bool**| | [optional]
|
|
325
310
|
**is_active** | **bool**| | [optional]
|
|
326
311
|
**is_confirmed** | **bool**| | [optional]
|
|
312
|
+
**oidc_sub** | **str**| | [optional]
|
|
327
313
|
|
|
328
314
|
### Return type
|
|
329
315
|
|
|
@@ -331,7 +317,7 @@ Name | Type | Description | Notes
|
|
|
331
317
|
|
|
332
318
|
### Authorization
|
|
333
319
|
|
|
334
|
-
[
|
|
320
|
+
[user_bearer](../README.md#user_bearer)
|
|
335
321
|
|
|
336
322
|
### HTTP request headers
|
|
337
323
|
|
|
@@ -18,6 +18,7 @@ from compute_api_client.models.algorithm import Algorithm
|
|
|
18
18
|
from compute_api_client.models.algorithm_in import AlgorithmIn
|
|
19
19
|
from compute_api_client.models.algorithm_type import AlgorithmType
|
|
20
20
|
from compute_api_client.models.backend import Backend
|
|
21
|
+
from compute_api_client.models.backend_in import BackendIn
|
|
21
22
|
from compute_api_client.models.backend_patch import BackendPatch
|
|
22
23
|
from compute_api_client.models.backend_status import BackendStatus
|
|
23
24
|
from compute_api_client.models.backend_type import BackendType
|
|
@@ -38,7 +38,7 @@ class Algorithm(BaseModel):
|
|
|
38
38
|
type: AlgorithmType
|
|
39
39
|
shared: ShareType
|
|
40
40
|
link: Optional[Annotated[str, Field(strict=True, max_length=255)]]
|
|
41
|
-
name:
|
|
41
|
+
name: Annotated[str, Field(strict=True, max_length=255)]
|
|
42
42
|
__properties: ClassVar[List[str]] = ["id", "project_id", "type", "shared", "link", "name"]
|
|
43
43
|
|
|
44
44
|
model_config = {
|
|
@@ -82,11 +82,6 @@ class Algorithm(BaseModel):
|
|
|
82
82
|
if self.link is None and "link" in self.model_fields_set:
|
|
83
83
|
_dict['link'] = None
|
|
84
84
|
|
|
85
|
-
# set to None if name (nullable) is None
|
|
86
|
-
# and model_fields_set contains the field
|
|
87
|
-
if self.name is None and "name" in self.model_fields_set:
|
|
88
|
-
_dict['name'] = None
|
|
89
|
-
|
|
90
85
|
return _dict
|
|
91
86
|
|
|
92
87
|
@classmethod
|
|
@@ -37,7 +37,7 @@ class AlgorithmIn(BaseModel):
|
|
|
37
37
|
type: AlgorithmType
|
|
38
38
|
shared: ShareType
|
|
39
39
|
link: Optional[Annotated[str, Field(strict=True, max_length=255)]] = None
|
|
40
|
-
name:
|
|
40
|
+
name: Annotated[str, Field(strict=True, max_length=255)]
|
|
41
41
|
__properties: ClassVar[List[str]] = ["project_id", "type", "shared", "link", "name"]
|
|
42
42
|
|
|
43
43
|
model_config = {
|
|
@@ -81,11 +81,6 @@ class AlgorithmIn(BaseModel):
|
|
|
81
81
|
if self.link is None and "link" in self.model_fields_set:
|
|
82
82
|
_dict['link'] = None
|
|
83
83
|
|
|
84
|
-
# set to None if name (nullable) is None
|
|
85
|
-
# and model_fields_set contains the field
|
|
86
|
-
if self.name is None and "name" in self.model_fields_set:
|
|
87
|
-
_dict['name'] = None
|
|
88
|
-
|
|
89
84
|
return _dict
|
|
90
85
|
|
|
91
86
|
@classmethod
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Quantum Inspire 2
|
|
5
|
+
|
|
6
|
+
**Sorting and Pagination of list endpoints** The api provides sorting and pagination for list endpoints. The following parameters can be passed as query parameters to get sorted and paginated list. - `latest` - **Type**: Boolean. - **Description**: Get the most recently created object. Defaults to False. - `sort_by` - **Type**: String: - **Description**: The field / column name to sort on. To reverse sort provide the field with a \"-\" sign. E.g. \"created_on\" for ascending order while \"-created_on\" in descending order. Defaults to \"id\". - `page_number` - **Type**: Positive Integer - **Description**: The page number for pagination. Defaults to 1. - `items_per_page` - **Type**: Positive Integer. - **Description**: The number of items per page for pagination. Defaults to 50.
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 0.1.0
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from datetime import datetime
|
|
21
|
+
from typing import Any, ClassVar, Dict, List
|
|
22
|
+
from pydantic import BaseModel, StrictInt
|
|
23
|
+
from pydantic import Field
|
|
24
|
+
from typing_extensions import Annotated
|
|
25
|
+
from compute_api_client.models.backend_status import BackendStatus
|
|
26
|
+
try:
|
|
27
|
+
from typing import Self
|
|
28
|
+
except ImportError:
|
|
29
|
+
from typing_extensions import Self
|
|
30
|
+
|
|
31
|
+
class BackendIn(BaseModel):
|
|
32
|
+
"""
|
|
33
|
+
BackendIn
|
|
34
|
+
""" # noqa: E501
|
|
35
|
+
name: Annotated[str, Field(strict=True, max_length=32)]
|
|
36
|
+
location: Annotated[str, Field(strict=True, max_length=32)]
|
|
37
|
+
backend_type_id: StrictInt
|
|
38
|
+
status: BackendStatus
|
|
39
|
+
last_heartbeat: datetime
|
|
40
|
+
__properties: ClassVar[List[str]] = ["name", "location", "backend_type_id", "status", "last_heartbeat"]
|
|
41
|
+
|
|
42
|
+
model_config = {
|
|
43
|
+
"populate_by_name": True,
|
|
44
|
+
"validate_assignment": True
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def to_str(self) -> str:
|
|
49
|
+
"""Returns the string representation of the model using alias"""
|
|
50
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
51
|
+
|
|
52
|
+
def to_json(self) -> str:
|
|
53
|
+
"""Returns the JSON representation of the model using alias"""
|
|
54
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
55
|
+
return json.dumps(self.to_dict())
|
|
56
|
+
|
|
57
|
+
@classmethod
|
|
58
|
+
def from_json(cls, json_str: str) -> Self:
|
|
59
|
+
"""Create an instance of BackendIn from a JSON string"""
|
|
60
|
+
return cls.from_dict(json.loads(json_str))
|
|
61
|
+
|
|
62
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
63
|
+
"""Return the dictionary representation of the model using alias.
|
|
64
|
+
|
|
65
|
+
This has the following differences from calling pydantic's
|
|
66
|
+
`self.model_dump(by_alias=True)`:
|
|
67
|
+
|
|
68
|
+
* `None` is only added to the output dict for nullable fields that
|
|
69
|
+
were set at model initialization. Other fields with value `None`
|
|
70
|
+
are ignored.
|
|
71
|
+
"""
|
|
72
|
+
_dict = self.model_dump(
|
|
73
|
+
by_alias=True,
|
|
74
|
+
exclude={
|
|
75
|
+
},
|
|
76
|
+
exclude_none=True,
|
|
77
|
+
)
|
|
78
|
+
return _dict
|
|
79
|
+
|
|
80
|
+
@classmethod
|
|
81
|
+
def from_dict(cls, obj: Dict) -> Self:
|
|
82
|
+
"""Create an instance of BackendIn from a dict"""
|
|
83
|
+
if obj is None:
|
|
84
|
+
return None
|
|
85
|
+
|
|
86
|
+
if not isinstance(obj, dict):
|
|
87
|
+
return cls.model_validate(obj)
|
|
88
|
+
|
|
89
|
+
_obj = cls.model_validate({
|
|
90
|
+
"name": obj.get("name"),
|
|
91
|
+
"location": obj.get("location"),
|
|
92
|
+
"backend_type_id": obj.get("backend_type_id"),
|
|
93
|
+
"status": obj.get("status"),
|
|
94
|
+
"last_heartbeat": obj.get("last_heartbeat")
|
|
95
|
+
})
|
|
96
|
+
return _obj
|
|
97
|
+
|
|
98
|
+
|
|
@@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Union
|
|
|
22
22
|
from pydantic import BaseModel, StrictBool, StrictInt, StrictStr
|
|
23
23
|
from pydantic import Field
|
|
24
24
|
from typing_extensions import Annotated
|
|
25
|
+
from compute_api_client.models.backend_status import BackendStatus
|
|
25
26
|
try:
|
|
26
27
|
from typing import Self
|
|
27
28
|
except ImportError:
|
|
@@ -40,7 +41,10 @@ class BackendType(BaseModel):
|
|
|
40
41
|
features: List[StrictStr]
|
|
41
42
|
default_compiler_config: Union[str, Any]
|
|
42
43
|
native_gateset: Union[str, Any]
|
|
43
|
-
|
|
44
|
+
status: BackendStatus
|
|
45
|
+
default_number_of_shots: StrictInt
|
|
46
|
+
max_number_of_shots: StrictInt
|
|
47
|
+
__properties: ClassVar[List[str]] = ["id", "name", "infrastructure", "description", "image_id", "is_hardware", "features", "default_compiler_config", "native_gateset", "status", "default_number_of_shots", "max_number_of_shots"]
|
|
44
48
|
|
|
45
49
|
model_config = {
|
|
46
50
|
"populate_by_name": True,
|
|
@@ -98,7 +102,10 @@ class BackendType(BaseModel):
|
|
|
98
102
|
"is_hardware": obj.get("is_hardware"),
|
|
99
103
|
"features": obj.get("features"),
|
|
100
104
|
"default_compiler_config": obj.get("default_compiler_config"),
|
|
101
|
-
"native_gateset": obj.get("native_gateset")
|
|
105
|
+
"native_gateset": obj.get("native_gateset"),
|
|
106
|
+
"status": obj.get("status"),
|
|
107
|
+
"default_number_of_shots": obj.get("default_number_of_shots"),
|
|
108
|
+
"max_number_of_shots": obj.get("max_number_of_shots")
|
|
102
109
|
})
|
|
103
110
|
return _obj
|
|
104
111
|
|
|
@@ -29,9 +29,8 @@ class BatchJobIn(BaseModel):
|
|
|
29
29
|
"""
|
|
30
30
|
BatchJobIn
|
|
31
31
|
""" # noqa: E501
|
|
32
|
-
user_id: StrictInt
|
|
33
32
|
backend_type_id: StrictInt
|
|
34
|
-
__properties: ClassVar[List[str]] = ["
|
|
33
|
+
__properties: ClassVar[List[str]] = ["backend_type_id"]
|
|
35
34
|
|
|
36
35
|
model_config = {
|
|
37
36
|
"populate_by_name": True,
|
|
@@ -81,7 +80,6 @@ class BatchJobIn(BaseModel):
|
|
|
81
80
|
return cls.model_validate(obj)
|
|
82
81
|
|
|
83
82
|
_obj = cls.model_validate({
|
|
84
|
-
"user_id": obj.get("user_id"),
|
|
85
83
|
"backend_type_id": obj.get("backend_type_id")
|
|
86
84
|
})
|
|
87
85
|
return _obj
|
|
@@ -20,7 +20,6 @@ import json
|
|
|
20
20
|
|
|
21
21
|
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
22
|
from pydantic import BaseModel, StrictInt
|
|
23
|
-
from compute_api_client.models.job_status import JobStatus
|
|
24
23
|
try:
|
|
25
24
|
from typing import Self
|
|
26
25
|
except ImportError:
|
|
@@ -31,10 +30,9 @@ class JobIn(BaseModel):
|
|
|
31
30
|
JobIn
|
|
32
31
|
""" # noqa: E501
|
|
33
32
|
file_id: StrictInt
|
|
34
|
-
status: Optional[JobStatus] = None
|
|
35
33
|
batch_job_id: StrictInt
|
|
36
34
|
number_of_shots: Optional[StrictInt] = None
|
|
37
|
-
__properties: ClassVar[List[str]] = ["file_id", "
|
|
35
|
+
__properties: ClassVar[List[str]] = ["file_id", "batch_job_id", "number_of_shots"]
|
|
38
36
|
|
|
39
37
|
model_config = {
|
|
40
38
|
"populate_by_name": True,
|
|
@@ -90,7 +88,6 @@ class JobIn(BaseModel):
|
|
|
90
88
|
|
|
91
89
|
_obj = cls.model_validate({
|
|
92
90
|
"file_id": obj.get("file_id"),
|
|
93
|
-
"status": obj.get("status"),
|
|
94
91
|
"batch_job_id": obj.get("batch_job_id"),
|
|
95
92
|
"number_of_shots": obj.get("number_of_shots")
|
|
96
93
|
})
|
|
@@ -36,10 +36,10 @@ class Transaction(BaseModel):
|
|
|
36
36
|
domain: Optional[Domain]
|
|
37
37
|
job: Optional[StrictInt]
|
|
38
38
|
team_id: StrictInt
|
|
39
|
-
|
|
39
|
+
member_id: Optional[StrictInt]
|
|
40
40
|
change: Annotated[int, Field(strict=True, ge=-32768)]
|
|
41
41
|
timestamp: datetime
|
|
42
|
-
__properties: ClassVar[List[str]] = ["id", "domain", "job", "team_id", "
|
|
42
|
+
__properties: ClassVar[List[str]] = ["id", "domain", "job", "team_id", "member_id", "change", "timestamp"]
|
|
43
43
|
|
|
44
44
|
model_config = {
|
|
45
45
|
"populate_by_name": True,
|
|
@@ -87,10 +87,10 @@ class Transaction(BaseModel):
|
|
|
87
87
|
if self.job is None and "job" in self.model_fields_set:
|
|
88
88
|
_dict['job'] = None
|
|
89
89
|
|
|
90
|
-
# set to None if
|
|
90
|
+
# set to None if member_id (nullable) is None
|
|
91
91
|
# and model_fields_set contains the field
|
|
92
|
-
if self.
|
|
93
|
-
_dict['
|
|
92
|
+
if self.member_id is None and "member_id" in self.model_fields_set:
|
|
93
|
+
_dict['member_id'] = None
|
|
94
94
|
|
|
95
95
|
return _dict
|
|
96
96
|
|
|
@@ -108,7 +108,7 @@ class Transaction(BaseModel):
|
|
|
108
108
|
"domain": obj.get("domain"),
|
|
109
109
|
"job": obj.get("job"),
|
|
110
110
|
"team_id": obj.get("team_id"),
|
|
111
|
-
"
|
|
111
|
+
"member_id": obj.get("member_id"),
|
|
112
112
|
"change": obj.get("change"),
|
|
113
113
|
"timestamp": obj.get("timestamp")
|
|
114
114
|
})
|
|
@@ -38,7 +38,8 @@ class User(BaseModel):
|
|
|
38
38
|
is_staff: StrictBool
|
|
39
39
|
is_active: StrictBool
|
|
40
40
|
is_confirmed: StrictBool
|
|
41
|
-
|
|
41
|
+
oidc_sub: Annotated[str, Field(strict=True, max_length=256)]
|
|
42
|
+
__properties: ClassVar[List[str]] = ["id", "full_name", "email", "is_superuser", "is_staff", "is_active", "is_confirmed", "oidc_sub"]
|
|
42
43
|
|
|
43
44
|
model_config = {
|
|
44
45
|
"populate_by_name": True,
|
|
@@ -94,7 +95,8 @@ class User(BaseModel):
|
|
|
94
95
|
"is_superuser": obj.get("is_superuser"),
|
|
95
96
|
"is_staff": obj.get("is_staff"),
|
|
96
97
|
"is_active": obj.get("is_active"),
|
|
97
|
-
"is_confirmed": obj.get("is_confirmed")
|
|
98
|
+
"is_confirmed": obj.get("is_confirmed"),
|
|
99
|
+
"oidc_sub": obj.get("oidc_sub")
|
|
98
100
|
})
|
|
99
101
|
return _obj
|
|
100
102
|
|
|
@@ -37,7 +37,8 @@ class UserIn(BaseModel):
|
|
|
37
37
|
is_staff: Optional[StrictBool] = False
|
|
38
38
|
is_active: Optional[StrictBool] = False
|
|
39
39
|
is_confirmed: Optional[StrictBool] = False
|
|
40
|
-
|
|
40
|
+
oidc_sub: Annotated[str, Field(strict=True, max_length=256)]
|
|
41
|
+
__properties: ClassVar[List[str]] = ["full_name", "email", "is_superuser", "is_staff", "is_active", "is_confirmed", "oidc_sub"]
|
|
41
42
|
|
|
42
43
|
model_config = {
|
|
43
44
|
"populate_by_name": True,
|
|
@@ -92,7 +93,8 @@ class UserIn(BaseModel):
|
|
|
92
93
|
"is_superuser": obj.get("is_superuser") if obj.get("is_superuser") is not None else False,
|
|
93
94
|
"is_staff": obj.get("is_staff") if obj.get("is_staff") is not None else False,
|
|
94
95
|
"is_active": obj.get("is_active") if obj.get("is_active") is not None else False,
|
|
95
|
-
"is_confirmed": obj.get("is_confirmed") if obj.get("is_confirmed") is not None else False
|
|
96
|
+
"is_confirmed": obj.get("is_confirmed") if obj.get("is_confirmed") is not None else False,
|
|
97
|
+
"oidc_sub": obj.get("oidc_sub")
|
|
96
98
|
})
|
|
97
99
|
return _obj
|
|
98
100
|
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: qi-compute-api-client
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.31.0
|
|
4
4
|
Summary: An API client for the Compute Job Manager of Quantum Inspire.
|
|
5
5
|
Home-page: https://github.com/QuTech-Delft/compute-api-client
|
|
6
6
|
License: Apache-2.0
|
|
7
7
|
Author: Quantum Inspire
|
|
8
8
|
Author-email: support@quantum-inspire.eu
|
|
9
|
-
Requires-Python: >=3.
|
|
9
|
+
Requires-Python: >=3.8,<4.0
|
|
10
10
|
Classifier: Development Status :: 3 - Alpha
|
|
11
11
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
12
12
|
Classifier: Programming Language :: Python :: 3
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.8
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.9
|
|
16
15
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
16
|
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
18
|
Requires-Dist: aiohttp (>=3.8.1,<4.0.0)
|
|
19
19
|
Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
|
|
20
20
|
Requires-Dist: urllib3 (>=1.25.3,<2.0.0)
|
|
@@ -68,11 +68,7 @@ configuration = compute_api_client.Configuration(
|
|
|
68
68
|
# Examples for each auth method are provided below, use the example that
|
|
69
69
|
# satisfies your auth use case.
|
|
70
70
|
|
|
71
|
-
|
|
72
|
-
configuration.api_key['user'] = os.environ["API_KEY"]
|
|
73
|
-
|
|
74
|
-
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
|
75
|
-
# configuration.api_key_prefix['user'] = 'Bearer'
|
|
71
|
+
configuration.access_token = os.environ["ACCESS_TOKEN"]
|
|
76
72
|
|
|
77
73
|
|
|
78
74
|
# Enter a context with an instance of the API client
|
|
@@ -158,6 +154,7 @@ Class | Method | HTTP request | Description
|
|
|
158
154
|
*ResultsApi* | [**create_result_results_post**](compute_api_client/docs/ResultsApi.md#create_result_results_post) | **POST** /results | Create result
|
|
159
155
|
*ResultsApi* | [**delete_results_by_job_id_results_job_job_id_delete**](compute_api_client/docs/ResultsApi.md#delete_results_by_job_id_results_job_job_id_delete) | **DELETE** /results/job/{job_id} | Delete results by job ID
|
|
160
156
|
*ResultsApi* | [**read_result_results_id_get**](compute_api_client/docs/ResultsApi.md#read_result_results_id_get) | **GET** /results/{id} | Retrieve result
|
|
157
|
+
*ResultsApi* | [**read_results_by_algorithm_id_results_algorithm_algorithm_id_get**](compute_api_client/docs/ResultsApi.md#read_results_by_algorithm_id_results_algorithm_algorithm_id_get) | **GET** /results/algorithm/{algorithm_id} | Retrieve results by algorithm ID
|
|
161
158
|
*ResultsApi* | [**read_results_by_job_id_results_job_job_id_get**](compute_api_client/docs/ResultsApi.md#read_results_by_job_id_results_job_job_id_get) | **GET** /results/job/{job_id} | Retrieve results by job ID
|
|
162
159
|
*TeamsApi* | [**read_team_teams_id_get**](compute_api_client/docs/TeamsApi.md#read_team_teams_id_get) | **GET** /teams/{id} | Retrieve teams
|
|
163
160
|
*TeamsApi* | [**read_teams_teams_get**](compute_api_client/docs/TeamsApi.md#read_teams_teams_get) | **GET** /teams/ | List teams
|
|
@@ -175,6 +172,7 @@ Class | Method | HTTP request | Description
|
|
|
175
172
|
- [AlgorithmIn](compute_api_client/docs/AlgorithmIn.md)
|
|
176
173
|
- [AlgorithmType](compute_api_client/docs/AlgorithmType.md)
|
|
177
174
|
- [Backend](compute_api_client/docs/Backend.md)
|
|
175
|
+
- [BackendIn](compute_api_client/docs/BackendIn.md)
|
|
178
176
|
- [BackendPatch](compute_api_client/docs/BackendPatch.md)
|
|
179
177
|
- [BackendStatus](compute_api_client/docs/BackendStatus.md)
|
|
180
178
|
- [BackendType](compute_api_client/docs/BackendType.md)
|
|
@@ -225,12 +223,13 @@ Class | Method | HTTP request | Description
|
|
|
225
223
|
|
|
226
224
|
|
|
227
225
|
Authentication schemes defined for the API:
|
|
228
|
-
<a id="
|
|
229
|
-
###
|
|
226
|
+
<a id="user_bearer"></a>
|
|
227
|
+
### user_bearer
|
|
230
228
|
|
|
231
|
-
- **Type**:
|
|
232
|
-
- **
|
|
233
|
-
- **
|
|
229
|
+
- **Type**: OAuth
|
|
230
|
+
- **Flow**: accessCode
|
|
231
|
+
- **Authorization URL**: https://auth.qi2.quantum-inspire.com/realms/oidc_staging/protocol/openid-connect/auth
|
|
232
|
+
- **Scopes**: N/A
|
|
234
233
|
|
|
235
234
|
<a id="backend"></a>
|
|
236
235
|
### backend
|