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.

Files changed (60) hide show
  1. compute_api_client/__init__.py +1 -0
  2. compute_api_client/api/algorithms_api.py +25 -23
  3. compute_api_client/api/backend_api.py +19 -18
  4. compute_api_client/api/backend_types_api.py +54 -2
  5. compute_api_client/api/batch_jobs_api.py +5 -22
  6. compute_api_client/api/commits_api.py +5 -5
  7. compute_api_client/api/files_api.py +5 -5
  8. compute_api_client/api/final_results_api.py +4 -4
  9. compute_api_client/api/jobs_api.py +8 -8
  10. compute_api_client/api/languages_api.py +2 -2
  11. compute_api_client/api/members_api.py +4 -21
  12. compute_api_client/api/metadata_api.py +2 -2
  13. compute_api_client/api/permissions_api.py +4 -4
  14. compute_api_client/api/projects_api.py +28 -9
  15. compute_api_client/api/reservations_api.py +4 -4
  16. compute_api_client/api/results_api.py +566 -4
  17. compute_api_client/api/teams_api.py +2 -2
  18. compute_api_client/api/transactions_api.py +32 -32
  19. compute_api_client/api/users_api.py +21 -4
  20. compute_api_client/configuration.py +5 -7
  21. compute_api_client/docs/AlgorithmIn.md +1 -1
  22. compute_api_client/docs/AlgorithmsApi.md +20 -40
  23. compute_api_client/docs/BackendApi.md +14 -26
  24. compute_api_client/docs/BackendIn.md +32 -0
  25. compute_api_client/docs/BackendType.md +3 -0
  26. compute_api_client/docs/BackendTypesApi.md +15 -16
  27. compute_api_client/docs/BatchJobIn.md +0 -1
  28. compute_api_client/docs/BatchJobsApi.md +15 -33
  29. compute_api_client/docs/CommitsApi.md +13 -29
  30. compute_api_client/docs/FilesApi.md +13 -29
  31. compute_api_client/docs/FinalResultsApi.md +10 -22
  32. compute_api_client/docs/JobIn.md +0 -1
  33. compute_api_client/docs/JobsApi.md +18 -38
  34. compute_api_client/docs/LanguagesApi.md +6 -14
  35. compute_api_client/docs/MembersApi.md +14 -32
  36. compute_api_client/docs/MetadataApi.md +6 -14
  37. compute_api_client/docs/PermissionsApi.md +12 -28
  38. compute_api_client/docs/ProjectsApi.md +23 -45
  39. compute_api_client/docs/ReservationsApi.md +12 -28
  40. compute_api_client/docs/ResultsApi.md +115 -14
  41. compute_api_client/docs/TeamsApi.md +6 -14
  42. compute_api_client/docs/Transaction.md +1 -1
  43. compute_api_client/docs/TransactionsApi.md +12 -20
  44. compute_api_client/docs/User.md +1 -0
  45. compute_api_client/docs/UserIn.md +1 -0
  46. compute_api_client/docs/UsersApi.md +16 -30
  47. compute_api_client/models/__init__.py +1 -0
  48. compute_api_client/models/algorithm.py +1 -6
  49. compute_api_client/models/algorithm_in.py +1 -6
  50. compute_api_client/models/backend_in.py +98 -0
  51. compute_api_client/models/backend_type.py +9 -2
  52. compute_api_client/models/batch_job_in.py +1 -3
  53. compute_api_client/models/job_in.py +1 -4
  54. compute_api_client/models/transaction.py +6 -6
  55. compute_api_client/models/user.py +4 -2
  56. compute_api_client/models/user_in.py +4 -2
  57. {qi_compute_api_client-0.21.0.dist-info → qi_compute_api_client-0.31.0.dist-info}/METADATA +12 -13
  58. {qi_compute_api_client-0.21.0.dist-info → qi_compute_api_client-0.31.0.dist-info}/RECORD +60 -58
  59. {qi_compute_api_client-0.21.0.dist-info → qi_compute_api_client-0.31.0.dist-info}/LICENSE.md +0 -0
  60. {qi_compute_api_client-0.21.0.dist-info → qi_compute_api_client-0.31.0.dist-info}/WHEEL +0 -0
@@ -11,6 +11,7 @@ Name | Type | Description | Notes
11
11
  **is_staff** | **bool** | |
12
12
  **is_active** | **bool** | |
13
13
  **is_confirmed** | **bool** | |
14
+ **oidc_sub** | **str** | |
14
15
 
15
16
  ## Example
16
17
 
@@ -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
- * Api Key Authentication (user):
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
- # Configure API key authorization: user
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
- [user](../README.md#user)
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
- * Api Key Authentication (user):
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
- # Configure API key authorization: user
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
- [user](../README.md#user)
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
- * Api Key Authentication (user):
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
- # Configure API key authorization: user
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
- [user](../README.md#user)
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
- * Api Key Authentication (user):
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
- # Configure API key authorization: user
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
- [user](../README.md#user)
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: Optional[Annotated[str, Field(strict=True, max_length=255)]]
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: Optional[Annotated[str, Field(strict=True, max_length=255)]] = None
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
- __properties: ClassVar[List[str]] = ["id", "name", "infrastructure", "description", "image_id", "is_hardware", "features", "default_compiler_config", "native_gateset"]
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]] = ["user_id", "backend_type_id"]
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", "status", "batch_job_id", "number_of_shots"]
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
- user_id: Optional[StrictInt]
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", "user_id", "change", "timestamp"]
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 user_id (nullable) is None
90
+ # set to None if member_id (nullable) is None
91
91
  # and model_fields_set contains the field
92
- if self.user_id is None and "user_id" in self.model_fields_set:
93
- _dict['user_id'] = None
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
- "user_id": obj.get("user_id"),
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
- __properties: ClassVar[List[str]] = ["id", "full_name", "email", "is_superuser", "is_staff", "is_active", "is_confirmed"]
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
- __properties: ClassVar[List[str]] = ["full_name", "email", "is_superuser", "is_staff", "is_active", "is_confirmed"]
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.21.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.7,<4.0
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
- # Configure API key authorization: user
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="user"></a>
229
- ### user
226
+ <a id="user_bearer"></a>
227
+ ### user_bearer
230
228
 
231
- - **Type**: API key
232
- - **API key parameter name**: X-userid
233
- - **Location**: HTTP header
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