qi-compute-api-client 0.49.0__py3-none-any.whl → 0.51.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 (68) hide show
  1. compute_api_client/__init__.py +1 -4
  2. compute_api_client/api/__init__.py +0 -1
  3. compute_api_client/api/backend_types_api.py +302 -3
  4. compute_api_client/api/results_api.py +0 -17
  5. compute_api_client/docs/BackendType.md +2 -1
  6. compute_api_client/docs/BackendTypePatch.md +41 -0
  7. compute_api_client/docs/BackendTypesApi.md +87 -3
  8. compute_api_client/docs/File.md +1 -1
  9. compute_api_client/docs/FileIn.md +1 -1
  10. compute_api_client/docs/FinalResult.md +1 -1
  11. compute_api_client/docs/FinalResultIn.md +1 -1
  12. compute_api_client/docs/Job.md +1 -1
  13. compute_api_client/docs/JobPatch.md +1 -1
  14. compute_api_client/docs/PageAlgorithm.md +1 -1
  15. compute_api_client/docs/PageBackend.md +1 -1
  16. compute_api_client/docs/PageBackendType.md +1 -1
  17. compute_api_client/docs/PageBatchJob.md +1 -1
  18. compute_api_client/docs/PageCommit.md +1 -1
  19. compute_api_client/docs/PageFile.md +1 -1
  20. compute_api_client/docs/PageJob.md +1 -1
  21. compute_api_client/docs/PageLanguage.md +1 -1
  22. compute_api_client/docs/PageMember.md +1 -1
  23. compute_api_client/docs/PagePermission.md +1 -1
  24. compute_api_client/docs/PagePermissionGroup.md +1 -1
  25. compute_api_client/docs/PageProject.md +1 -1
  26. compute_api_client/docs/PageReservation.md +1 -1
  27. compute_api_client/docs/PageResult.md +1 -1
  28. compute_api_client/docs/PageTeam.md +1 -1
  29. compute_api_client/docs/PageTransaction.md +1 -1
  30. compute_api_client/docs/PageUser.md +1 -1
  31. compute_api_client/docs/Result.md +1 -2
  32. compute_api_client/docs/ResultIn.md +1 -2
  33. compute_api_client/docs/ResultsApi.md +2 -4
  34. compute_api_client/models/__init__.py +1 -3
  35. compute_api_client/models/backend_type.py +6 -4
  36. compute_api_client/models/backend_type_patch.py +185 -0
  37. compute_api_client/models/file.py +2 -2
  38. compute_api_client/models/file_in.py +2 -2
  39. compute_api_client/models/final_result.py +2 -2
  40. compute_api_client/models/final_result_in.py +2 -2
  41. compute_api_client/models/job.py +3 -2
  42. compute_api_client/models/job_patch.py +1 -1
  43. compute_api_client/models/page_algorithm.py +1 -1
  44. compute_api_client/models/page_backend.py +1 -1
  45. compute_api_client/models/page_backend_type.py +1 -1
  46. compute_api_client/models/page_batch_job.py +1 -1
  47. compute_api_client/models/page_commit.py +1 -1
  48. compute_api_client/models/page_file.py +1 -1
  49. compute_api_client/models/page_job.py +1 -1
  50. compute_api_client/models/page_language.py +1 -1
  51. compute_api_client/models/page_member.py +1 -1
  52. compute_api_client/models/page_permission.py +1 -1
  53. compute_api_client/models/page_permission_group.py +1 -1
  54. compute_api_client/models/page_project.py +1 -1
  55. compute_api_client/models/page_reservation.py +1 -1
  56. compute_api_client/models/page_result.py +1 -1
  57. compute_api_client/models/page_team.py +1 -1
  58. compute_api_client/models/page_transaction.py +1 -1
  59. compute_api_client/models/page_user.py +1 -1
  60. compute_api_client/models/result.py +2 -4
  61. compute_api_client/models/result_in.py +2 -9
  62. {qi_compute_api_client-0.49.0.dist-info → qi_compute_api_client-0.51.0.dist-info}/METADATA +15 -21
  63. {qi_compute_api_client-0.49.0.dist-info → qi_compute_api_client-0.51.0.dist-info}/RECORD +72 -73
  64. {qi_compute_api_client-0.49.0.dist-info → qi_compute_api_client-0.51.0.dist-info}/WHEEL +1 -1
  65. compute_api_client/docs/Metadata.md +0 -31
  66. compute_api_client/docs/MetadataApi.md +0 -250
  67. compute_api_client/docs/MetadataIn.md +0 -29
  68. {qi_compute_api_client-0.49.0.dist-info → qi_compute_api_client-0.51.0.dist-info/licenses}/LICENSE.md +0 -0
@@ -0,0 +1,185 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Quantum Inspire 2
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
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
+
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from pydantic import BaseModel, StrictBool, StrictInt, StrictStr
23
+ from pydantic import Field
24
+ from typing_extensions import Annotated
25
+ try:
26
+ from typing import Self
27
+ except ImportError:
28
+ from typing_extensions import Self
29
+
30
+ class BackendTypePatch(BaseModel):
31
+ """
32
+ BackendTypePatch
33
+ """ # noqa: E501
34
+ name: Optional[Annotated[str, Field(strict=True, max_length=32)]] = None
35
+ infrastructure: Optional[Annotated[str, Field(strict=True, max_length=32)]] = None
36
+ description: Optional[StrictStr] = None
37
+ image_id: Optional[Annotated[str, Field(strict=True, max_length=16)]] = None
38
+ is_hardware: Optional[StrictBool] = None
39
+ supports_raw_data: Optional[StrictBool] = None
40
+ features: Optional[List[StrictStr]] = None
41
+ default_compiler_config: Optional[Dict[str, Any]] = None
42
+ gateset: Optional[List[StrictStr]] = None
43
+ topology: Optional[List[List[StrictInt]]] = None
44
+ nqubits: Optional[StrictInt] = None
45
+ default_number_of_shots: Optional[StrictInt] = None
46
+ max_number_of_shots: Optional[StrictInt] = None
47
+ enabled: Optional[StrictBool] = None
48
+ __properties: ClassVar[List[str]] = ["name", "infrastructure", "description", "image_id", "is_hardware", "supports_raw_data", "features", "default_compiler_config", "gateset", "topology", "nqubits", "default_number_of_shots", "max_number_of_shots", "enabled"]
49
+
50
+ model_config = {
51
+ "populate_by_name": True,
52
+ "validate_assignment": True
53
+ }
54
+
55
+
56
+ def to_str(self) -> str:
57
+ """Returns the string representation of the model using alias"""
58
+ return pprint.pformat(self.model_dump(by_alias=True))
59
+
60
+ def to_json(self) -> str:
61
+ """Returns the JSON representation of the model using alias"""
62
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
63
+ return json.dumps(self.to_dict())
64
+
65
+ @classmethod
66
+ def from_json(cls, json_str: str) -> Self:
67
+ """Create an instance of BackendTypePatch from a JSON string"""
68
+ return cls.from_dict(json.loads(json_str))
69
+
70
+ def to_dict(self) -> Dict[str, Any]:
71
+ """Return the dictionary representation of the model using alias.
72
+
73
+ This has the following differences from calling pydantic's
74
+ `self.model_dump(by_alias=True)`:
75
+
76
+ * `None` is only added to the output dict for nullable fields that
77
+ were set at model initialization. Other fields with value `None`
78
+ are ignored.
79
+ """
80
+ _dict = self.model_dump(
81
+ by_alias=True,
82
+ exclude={
83
+ },
84
+ exclude_none=True,
85
+ )
86
+ # set to None if name (nullable) is None
87
+ # and model_fields_set contains the field
88
+ if self.name is None and "name" in self.model_fields_set:
89
+ _dict['name'] = None
90
+
91
+ # set to None if infrastructure (nullable) is None
92
+ # and model_fields_set contains the field
93
+ if self.infrastructure is None and "infrastructure" in self.model_fields_set:
94
+ _dict['infrastructure'] = None
95
+
96
+ # set to None if description (nullable) is None
97
+ # and model_fields_set contains the field
98
+ if self.description is None and "description" in self.model_fields_set:
99
+ _dict['description'] = None
100
+
101
+ # set to None if image_id (nullable) is None
102
+ # and model_fields_set contains the field
103
+ if self.image_id is None and "image_id" in self.model_fields_set:
104
+ _dict['image_id'] = None
105
+
106
+ # set to None if is_hardware (nullable) is None
107
+ # and model_fields_set contains the field
108
+ if self.is_hardware is None and "is_hardware" in self.model_fields_set:
109
+ _dict['is_hardware'] = None
110
+
111
+ # set to None if supports_raw_data (nullable) is None
112
+ # and model_fields_set contains the field
113
+ if self.supports_raw_data is None and "supports_raw_data" in self.model_fields_set:
114
+ _dict['supports_raw_data'] = None
115
+
116
+ # set to None if features (nullable) is None
117
+ # and model_fields_set contains the field
118
+ if self.features is None and "features" in self.model_fields_set:
119
+ _dict['features'] = None
120
+
121
+ # set to None if default_compiler_config (nullable) is None
122
+ # and model_fields_set contains the field
123
+ if self.default_compiler_config is None and "default_compiler_config" in self.model_fields_set:
124
+ _dict['default_compiler_config'] = None
125
+
126
+ # set to None if gateset (nullable) is None
127
+ # and model_fields_set contains the field
128
+ if self.gateset is None and "gateset" in self.model_fields_set:
129
+ _dict['gateset'] = None
130
+
131
+ # set to None if topology (nullable) is None
132
+ # and model_fields_set contains the field
133
+ if self.topology is None and "topology" in self.model_fields_set:
134
+ _dict['topology'] = None
135
+
136
+ # set to None if nqubits (nullable) is None
137
+ # and model_fields_set contains the field
138
+ if self.nqubits is None and "nqubits" in self.model_fields_set:
139
+ _dict['nqubits'] = None
140
+
141
+ # set to None if default_number_of_shots (nullable) is None
142
+ # and model_fields_set contains the field
143
+ if self.default_number_of_shots is None and "default_number_of_shots" in self.model_fields_set:
144
+ _dict['default_number_of_shots'] = None
145
+
146
+ # set to None if max_number_of_shots (nullable) is None
147
+ # and model_fields_set contains the field
148
+ if self.max_number_of_shots is None and "max_number_of_shots" in self.model_fields_set:
149
+ _dict['max_number_of_shots'] = None
150
+
151
+ # set to None if enabled (nullable) is None
152
+ # and model_fields_set contains the field
153
+ if self.enabled is None and "enabled" in self.model_fields_set:
154
+ _dict['enabled'] = None
155
+
156
+ return _dict
157
+
158
+ @classmethod
159
+ def from_dict(cls, obj: Dict) -> Self:
160
+ """Create an instance of BackendTypePatch from a dict"""
161
+ if obj is None:
162
+ return None
163
+
164
+ if not isinstance(obj, dict):
165
+ return cls.model_validate(obj)
166
+
167
+ _obj = cls.model_validate({
168
+ "name": obj.get("name"),
169
+ "infrastructure": obj.get("infrastructure"),
170
+ "description": obj.get("description"),
171
+ "image_id": obj.get("image_id"),
172
+ "is_hardware": obj.get("is_hardware"),
173
+ "supports_raw_data": obj.get("supports_raw_data"),
174
+ "features": obj.get("features"),
175
+ "default_compiler_config": obj.get("default_compiler_config"),
176
+ "gateset": obj.get("gateset"),
177
+ "topology": obj.get("topology"),
178
+ "nqubits": obj.get("nqubits"),
179
+ "default_number_of_shots": obj.get("default_number_of_shots"),
180
+ "max_number_of_shots": obj.get("max_number_of_shots"),
181
+ "enabled": obj.get("enabled")
182
+ })
183
+ return _obj
184
+
185
+
@@ -18,7 +18,7 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
 
21
- from typing import Any, ClassVar, Dict, List, Optional, Union
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
22
  from pydantic import BaseModel, StrictBool, StrictInt, StrictStr
23
23
  from pydantic import Field
24
24
  from typing_extensions import Annotated
@@ -37,7 +37,7 @@ class File(BaseModel):
37
37
  content: StrictStr
38
38
  language_id: StrictInt
39
39
  compile_stage: CompileStage
40
- compile_properties: Union[str, Any]
40
+ compile_properties: Dict[str, Any]
41
41
  generated: StrictBool
42
42
  name: Optional[Annotated[str, Field(strict=True, max_length=255)]] = None
43
43
  __properties: ClassVar[List[str]] = ["id", "commit_id", "content", "language_id", "compile_stage", "compile_properties", "generated", "name"]
@@ -18,7 +18,7 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
 
21
- from typing import Any, ClassVar, Dict, List, Optional, Union
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
22
  from pydantic import BaseModel, StrictBool, StrictInt, StrictStr
23
23
  from pydantic import Field
24
24
  from typing_extensions import Annotated
@@ -36,7 +36,7 @@ class FileIn(BaseModel):
36
36
  content: StrictStr
37
37
  language_id: StrictInt
38
38
  compile_stage: CompileStage
39
- compile_properties: Union[str, Any]
39
+ compile_properties: Dict[str, Any]
40
40
  generated: Optional[StrictBool] = False
41
41
  name: Optional[Annotated[str, Field(strict=True, max_length=255)]] = None
42
42
  __properties: ClassVar[List[str]] = ["commit_id", "content", "language_id", "compile_stage", "compile_properties", "generated", "name"]
@@ -18,7 +18,7 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
  from datetime import datetime
21
- from typing import Any, ClassVar, Dict, List, Union
21
+ from typing import Any, ClassVar, Dict, List
22
22
  from pydantic import BaseModel, StrictInt
23
23
  try:
24
24
  from typing import Self
@@ -32,7 +32,7 @@ class FinalResult(BaseModel):
32
32
  id: StrictInt
33
33
  created_on: datetime
34
34
  job_id: StrictInt
35
- final_result: Union[str, Any]
35
+ final_result: Dict[str, Any]
36
36
  __properties: ClassVar[List[str]] = ["id", "created_on", "job_id", "final_result"]
37
37
 
38
38
  model_config = {
@@ -18,7 +18,7 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
 
21
- from typing import Any, ClassVar, Dict, List, Union
21
+ from typing import Any, ClassVar, Dict, List
22
22
  from pydantic import BaseModel, StrictInt
23
23
  try:
24
24
  from typing import Self
@@ -30,7 +30,7 @@ class FinalResultIn(BaseModel):
30
30
  FinalResultIn
31
31
  """ # noqa: E501
32
32
  job_id: StrictInt
33
- final_result: Union[str, Any]
33
+ final_result: Dict[str, Any]
34
34
  __properties: ClassVar[List[str]] = ["job_id", "final_result"]
35
35
 
36
36
  model_config = {
@@ -20,6 +20,7 @@ import json
20
20
  from datetime import datetime
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
22
  from pydantic import BaseModel, StrictBool, StrictInt, StrictStr
23
+ from pydantic import Field
23
24
  from compute_api_client.models.algorithm_type import AlgorithmType
24
25
  from compute_api_client.models.job_status import JobStatus
25
26
  try:
@@ -44,7 +45,7 @@ class Job(BaseModel):
44
45
  session_id: StrictStr
45
46
  trace_id: StrictStr
46
47
  message: StrictStr
47
- source: StrictStr
48
+ source: Optional[StrictStr] = Field(default='', description="The source application of an exception that caused a job to fail (if applicable).")
48
49
  __properties: ClassVar[List[str]] = ["id", "created_on", "file_id", "algorithm_type", "status", "batch_job_id", "queued_at", "finished_at", "number_of_shots", "raw_data_enabled", "session_id", "trace_id", "message", "source"]
49
50
 
50
51
  model_config = {
@@ -123,7 +124,7 @@ class Job(BaseModel):
123
124
  "session_id": obj.get("session_id"),
124
125
  "trace_id": obj.get("trace_id"),
125
126
  "message": obj.get("message"),
126
- "source": obj.get("source")
127
+ "source": obj.get("source") if obj.get("source") is not None else ''
127
128
  })
128
129
  return _obj
129
130
 
@@ -36,7 +36,7 @@ class JobPatch(BaseModel):
36
36
  session_id: Optional[Annotated[str, Field(strict=True, max_length=255)]] = ''
37
37
  trace_id: Optional[Annotated[str, Field(strict=True, max_length=255)]] = ''
38
38
  message: Optional[StrictStr] = ''
39
- source: Optional[StrictStr] = ''
39
+ source: Optional[StrictStr] = Field(default='', description="The source application of an exception that caused a job to fail (if applicable).")
40
40
  traceback: Optional[StrictStr] = ''
41
41
  __properties: ClassVar[List[str]] = ["status", "session_id", "trace_id", "message", "source", "traceback"]
42
42
 
@@ -33,7 +33,7 @@ class PageAlgorithm(BaseModel):
33
33
  PageAlgorithm
34
34
  """ # noqa: E501
35
35
  items: List[Algorithm]
36
- total: Optional[Annotated[int, Field(strict=True, ge=0)]]
36
+ total: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
37
37
  page: Optional[Annotated[int, Field(strict=True, ge=1)]]
38
38
  size: Optional[Annotated[int, Field(strict=True, ge=1)]]
39
39
  pages: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
@@ -33,7 +33,7 @@ class PageBackend(BaseModel):
33
33
  PageBackend
34
34
  """ # noqa: E501
35
35
  items: List[Backend]
36
- total: Optional[Annotated[int, Field(strict=True, ge=0)]]
36
+ total: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
37
37
  page: Optional[Annotated[int, Field(strict=True, ge=1)]]
38
38
  size: Optional[Annotated[int, Field(strict=True, ge=1)]]
39
39
  pages: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
@@ -33,7 +33,7 @@ class PageBackendType(BaseModel):
33
33
  PageBackendType
34
34
  """ # noqa: E501
35
35
  items: List[BackendType]
36
- total: Optional[Annotated[int, Field(strict=True, ge=0)]]
36
+ total: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
37
37
  page: Optional[Annotated[int, Field(strict=True, ge=1)]]
38
38
  size: Optional[Annotated[int, Field(strict=True, ge=1)]]
39
39
  pages: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
@@ -33,7 +33,7 @@ class PageBatchJob(BaseModel):
33
33
  PageBatchJob
34
34
  """ # noqa: E501
35
35
  items: List[BatchJob]
36
- total: Optional[Annotated[int, Field(strict=True, ge=0)]]
36
+ total: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
37
37
  page: Optional[Annotated[int, Field(strict=True, ge=1)]]
38
38
  size: Optional[Annotated[int, Field(strict=True, ge=1)]]
39
39
  pages: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
@@ -33,7 +33,7 @@ class PageCommit(BaseModel):
33
33
  PageCommit
34
34
  """ # noqa: E501
35
35
  items: List[Commit]
36
- total: Optional[Annotated[int, Field(strict=True, ge=0)]]
36
+ total: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
37
37
  page: Optional[Annotated[int, Field(strict=True, ge=1)]]
38
38
  size: Optional[Annotated[int, Field(strict=True, ge=1)]]
39
39
  pages: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
@@ -33,7 +33,7 @@ class PageFile(BaseModel):
33
33
  PageFile
34
34
  """ # noqa: E501
35
35
  items: List[File]
36
- total: Optional[Annotated[int, Field(strict=True, ge=0)]]
36
+ total: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
37
37
  page: Optional[Annotated[int, Field(strict=True, ge=1)]]
38
38
  size: Optional[Annotated[int, Field(strict=True, ge=1)]]
39
39
  pages: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
@@ -33,7 +33,7 @@ class PageJob(BaseModel):
33
33
  PageJob
34
34
  """ # noqa: E501
35
35
  items: List[Job]
36
- total: Optional[Annotated[int, Field(strict=True, ge=0)]]
36
+ total: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
37
37
  page: Optional[Annotated[int, Field(strict=True, ge=1)]]
38
38
  size: Optional[Annotated[int, Field(strict=True, ge=1)]]
39
39
  pages: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
@@ -33,7 +33,7 @@ class PageLanguage(BaseModel):
33
33
  PageLanguage
34
34
  """ # noqa: E501
35
35
  items: List[Language]
36
- total: Optional[Annotated[int, Field(strict=True, ge=0)]]
36
+ total: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
37
37
  page: Optional[Annotated[int, Field(strict=True, ge=1)]]
38
38
  size: Optional[Annotated[int, Field(strict=True, ge=1)]]
39
39
  pages: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
@@ -33,7 +33,7 @@ class PageMember(BaseModel):
33
33
  PageMember
34
34
  """ # noqa: E501
35
35
  items: List[Member]
36
- total: Optional[Annotated[int, Field(strict=True, ge=0)]]
36
+ total: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
37
37
  page: Optional[Annotated[int, Field(strict=True, ge=1)]]
38
38
  size: Optional[Annotated[int, Field(strict=True, ge=1)]]
39
39
  pages: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
@@ -33,7 +33,7 @@ class PagePermission(BaseModel):
33
33
  PagePermission
34
34
  """ # noqa: E501
35
35
  items: List[Permission]
36
- total: Optional[Annotated[int, Field(strict=True, ge=0)]]
36
+ total: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
37
37
  page: Optional[Annotated[int, Field(strict=True, ge=1)]]
38
38
  size: Optional[Annotated[int, Field(strict=True, ge=1)]]
39
39
  pages: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
@@ -33,7 +33,7 @@ class PagePermissionGroup(BaseModel):
33
33
  PagePermissionGroup
34
34
  """ # noqa: E501
35
35
  items: List[PermissionGroup]
36
- total: Optional[Annotated[int, Field(strict=True, ge=0)]]
36
+ total: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
37
37
  page: Optional[Annotated[int, Field(strict=True, ge=1)]]
38
38
  size: Optional[Annotated[int, Field(strict=True, ge=1)]]
39
39
  pages: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
@@ -33,7 +33,7 @@ class PageProject(BaseModel):
33
33
  PageProject
34
34
  """ # noqa: E501
35
35
  items: List[Project]
36
- total: Optional[Annotated[int, Field(strict=True, ge=0)]]
36
+ total: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
37
37
  page: Optional[Annotated[int, Field(strict=True, ge=1)]]
38
38
  size: Optional[Annotated[int, Field(strict=True, ge=1)]]
39
39
  pages: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
@@ -33,7 +33,7 @@ class PageReservation(BaseModel):
33
33
  PageReservation
34
34
  """ # noqa: E501
35
35
  items: List[Reservation]
36
- total: Optional[Annotated[int, Field(strict=True, ge=0)]]
36
+ total: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
37
37
  page: Optional[Annotated[int, Field(strict=True, ge=1)]]
38
38
  size: Optional[Annotated[int, Field(strict=True, ge=1)]]
39
39
  pages: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
@@ -33,7 +33,7 @@ class PageResult(BaseModel):
33
33
  PageResult
34
34
  """ # noqa: E501
35
35
  items: List[Result]
36
- total: Optional[Annotated[int, Field(strict=True, ge=0)]]
36
+ total: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
37
37
  page: Optional[Annotated[int, Field(strict=True, ge=1)]]
38
38
  size: Optional[Annotated[int, Field(strict=True, ge=1)]]
39
39
  pages: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
@@ -33,7 +33,7 @@ class PageTeam(BaseModel):
33
33
  PageTeam
34
34
  """ # noqa: E501
35
35
  items: List[Team]
36
- total: Optional[Annotated[int, Field(strict=True, ge=0)]]
36
+ total: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
37
37
  page: Optional[Annotated[int, Field(strict=True, ge=1)]]
38
38
  size: Optional[Annotated[int, Field(strict=True, ge=1)]]
39
39
  pages: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
@@ -33,7 +33,7 @@ class PageTransaction(BaseModel):
33
33
  PageTransaction
34
34
  """ # noqa: E501
35
35
  items: List[Transaction]
36
- total: Optional[Annotated[int, Field(strict=True, ge=0)]]
36
+ total: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
37
37
  page: Optional[Annotated[int, Field(strict=True, ge=1)]]
38
38
  size: Optional[Annotated[int, Field(strict=True, ge=1)]]
39
39
  pages: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
@@ -33,7 +33,7 @@ class PageUser(BaseModel):
33
33
  PageUser
34
34
  """ # noqa: E501
35
35
  items: List[User]
36
- total: Optional[Annotated[int, Field(strict=True, ge=0)]]
36
+ total: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
37
37
  page: Optional[Annotated[int, Field(strict=True, ge=1)]]
38
38
  size: Optional[Annotated[int, Field(strict=True, ge=1)]]
39
39
  pages: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
@@ -32,13 +32,12 @@ class Result(BaseModel):
32
32
  id: StrictInt
33
33
  created_on: datetime
34
34
  job_id: StrictInt
35
- metadata_id: StrictInt
36
35
  execution_time_in_seconds: Union[StrictFloat, StrictInt]
37
36
  shots_requested: Optional[StrictInt]
38
37
  shots_done: Optional[StrictInt]
39
- results: Optional[Union[str, Any]]
38
+ results: Optional[Dict[str, Any]]
40
39
  raw_data: Optional[List[StrictStr]]
41
- __properties: ClassVar[List[str]] = ["id", "created_on", "job_id", "metadata_id", "execution_time_in_seconds", "shots_requested", "shots_done", "results", "raw_data"]
40
+ __properties: ClassVar[List[str]] = ["id", "created_on", "job_id", "execution_time_in_seconds", "shots_requested", "shots_done", "results", "raw_data"]
42
41
 
43
42
  model_config = {
44
43
  "populate_by_name": True,
@@ -111,7 +110,6 @@ class Result(BaseModel):
111
110
  "id": obj.get("id"),
112
111
  "created_on": obj.get("created_on"),
113
112
  "job_id": obj.get("job_id"),
114
- "metadata_id": obj.get("metadata_id"),
115
113
  "execution_time_in_seconds": obj.get("execution_time_in_seconds"),
116
114
  "shots_requested": obj.get("shots_requested"),
117
115
  "shots_done": obj.get("shots_done"),
@@ -30,13 +30,12 @@ class ResultIn(BaseModel):
30
30
  ResultIn
31
31
  """ # noqa: E501
32
32
  job_id: StrictInt
33
- metadata_id: Optional[StrictInt] = None
34
33
  execution_time_in_seconds: Union[StrictFloat, StrictInt]
35
34
  shots_requested: Optional[StrictInt] = None
36
35
  shots_done: Optional[StrictInt] = None
37
- results: Optional[Union[str, Any]] = None
36
+ results: Optional[Dict[str, Any]] = None
38
37
  raw_data: Optional[List[StrictStr]] = None
39
- __properties: ClassVar[List[str]] = ["job_id", "metadata_id", "execution_time_in_seconds", "shots_requested", "shots_done", "results", "raw_data"]
38
+ __properties: ClassVar[List[str]] = ["job_id", "execution_time_in_seconds", "shots_requested", "shots_done", "results", "raw_data"]
40
39
 
41
40
  model_config = {
42
41
  "populate_by_name": True,
@@ -74,11 +73,6 @@ class ResultIn(BaseModel):
74
73
  },
75
74
  exclude_none=True,
76
75
  )
77
- # set to None if metadata_id (nullable) is None
78
- # and model_fields_set contains the field
79
- if self.metadata_id is None and "metadata_id" in self.model_fields_set:
80
- _dict['metadata_id'] = None
81
-
82
76
  # set to None if shots_requested (nullable) is None
83
77
  # and model_fields_set contains the field
84
78
  if self.shots_requested is None and "shots_requested" in self.model_fields_set:
@@ -112,7 +106,6 @@ class ResultIn(BaseModel):
112
106
 
113
107
  _obj = cls.model_validate({
114
108
  "job_id": obj.get("job_id"),
115
- "metadata_id": obj.get("metadata_id"),
116
109
  "execution_time_in_seconds": obj.get("execution_time_in_seconds"),
117
110
  "shots_requested": obj.get("shots_requested"),
118
111
  "shots_done": obj.get("shots_done"),
@@ -1,11 +1,11 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: qi-compute-api-client
3
- Version: 0.49.0
3
+ Version: 0.51.0
4
4
  Summary: An API client for the Compute Job Manager of Quantum Inspire.
5
- License: Apache-2.0
6
- Author: Quantum Inspire
7
- Author-email: support@quantum-inspire.eu
8
- Requires-Python: >=3.9,<4.0
5
+ Project-URL: Repository, https://github.com/QuTech-Delft/compute-api-client
6
+ Author-email: Quantum Inspire <support@quantum-inspire.eu>
7
+ License-Expression: Apache-2.0
8
+ License-File: LICENSE.md
9
9
  Classifier: Development Status :: 3 - Alpha
10
10
  Classifier: License :: OSI Approved :: Apache Software License
11
11
  Classifier: Programming Language :: Python :: 3
@@ -13,14 +13,13 @@ Classifier: Programming Language :: Python :: 3.9
13
13
  Classifier: Programming Language :: Python :: 3.10
14
14
  Classifier: Programming Language :: Python :: 3.11
15
15
  Classifier: Programming Language :: Python :: 3.12
16
- Classifier: Programming Language :: Python :: 3.13
17
- Requires-Dist: aiohttp (>=3.10.5,<4.0.0)
18
- Requires-Dist: pydantic (>=2.10.4,<3.0.0)
19
- Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
20
- Requires-Dist: requests (>=2.31.0,<3.0.0)
21
- Requires-Dist: typing-extensions (>=4.12.2,<5.0.0)
22
- Requires-Dist: urllib3 (>=2.0.0,<3.0.0)
23
- Project-URL: Repository, https://github.com/QuTech-Delft/compute-api-client
16
+ Requires-Python: ~=3.9
17
+ Requires-Dist: aiohttp<4,>=3.10.5
18
+ Requires-Dist: pydantic<3,>=2.10.4
19
+ Requires-Dist: python-dateutil<3,>=2.8.2
20
+ Requires-Dist: requests<3,>=2.31.0
21
+ Requires-Dist: typing-extensions<5,>=4.12.2
22
+ Requires-Dist: urllib3<3,>=2.0.0
24
23
  Description-Content-Type: text/markdown
25
24
 
26
25
  # compute-api-client
@@ -109,6 +108,7 @@ All URIs are relative to _http://localhost_
109
108
  | _BackendApi_ | [**update_backend_self_backends_me_patch**](compute_api_client/docs/BackendApi.md#update_backend_self_backends_me_patch) | **PATCH** /backends/me | Update backend |
110
109
  | _BackendTypesApi_ | [**read_backend_type_backend_types_id_get**](compute_api_client/docs/BackendTypesApi.md#read_backend_type_backend_types_id_get) | **GET** /backend_types/{id} | Retrieve backend type |
111
110
  | _BackendTypesApi_ | [**read_backend_types_backend_types_get**](compute_api_client/docs/BackendTypesApi.md#read_backend_types_backend_types_get) | **GET** /backend_types/ | List backend types |
111
+ | _BackendTypesApi_ | [**update_backend_type_backend_types_me_patch**](compute_api_client/docs/BackendTypesApi.md#update_backend_type_backend_types_me_patch) | **PATCH** /backend_types/me | Update backend type |
112
112
  | _BatchJobsApi_ | [**create_batch_job_batch_jobs_post**](compute_api_client/docs/BatchJobsApi.md#create_batch_job_batch_jobs_post) | **POST** /batch_jobs | Create batch job |
113
113
  | _BatchJobsApi_ | [**enqueue_batch_job_batch_jobs_id_enqueue_patch**](compute_api_client/docs/BatchJobsApi.md#enqueue_batch_job_batch_jobs_id_enqueue_patch) | **PATCH** /batch_jobs/{id}/enqueue | Enqueue batch job for execution |
114
114
  | _BatchJobsApi_ | [**finish_batch_job_batch_jobs_id_finish_patch**](compute_api_client/docs/BatchJobsApi.md#finish_batch_job_batch_jobs_id_finish_patch) | **PATCH** /batch_jobs/{id}/finish | Finish batch job |
@@ -140,9 +140,6 @@ All URIs are relative to _http://localhost_
140
140
  | _MembersApi_ | [**delete_member_members_id_delete**](compute_api_client/docs/MembersApi.md#delete_member_members_id_delete) | **DELETE** /members/{id} | Destroy member |
141
141
  | _MembersApi_ | [**read_member_members_id_get**](compute_api_client/docs/MembersApi.md#read_member_members_id_get) | **GET** /members/{id} | Retrieve member |
142
142
  | _MembersApi_ | [**read_members_members_get**](compute_api_client/docs/MembersApi.md#read_members_members_get) | **GET** /members | List members |
143
- | _MetadataApi_ | [**create_metadata_self_metadata_post**](compute_api_client/docs/MetadataApi.md#create_metadata_self_metadata_post) | **POST** /metadata | Create metadata |
144
- | _MetadataApi_ | [**read_metadata_by_backend_id_metadata_backend_backend_id_get**](compute_api_client/docs/MetadataApi.md#read_metadata_by_backend_id_metadata_backend_backend_id_get) | **GET** /metadata/backend/{backend_id} | Retrieve metadata by backend ID |
145
- | _MetadataApi_ | [**read_metadata_metadata_id_get**](compute_api_client/docs/MetadataApi.md#read_metadata_metadata_id_get) | **GET** /metadata/{id} | Get metadata by ID |
146
143
  | _PermissionsApi_ | [**read_permission_group_permission_groups_id_get**](compute_api_client/docs/PermissionsApi.md#read_permission_group_permission_groups_id_get) | **GET** /permission_groups/{id} | Retrieve permission groups |
147
144
  | _PermissionsApi_ | [**read_permission_groups_permission_groups_get**](compute_api_client/docs/PermissionsApi.md#read_permission_groups_permission_groups_get) | **GET** /permission_groups/ | List permission groups |
148
145
  | _PermissionsApi_ | [**read_permission_permissions_id_get**](compute_api_client/docs/PermissionsApi.md#read_permission_permissions_id_get) | **GET** /permissions/{id} | Retrieve permissions |
@@ -182,6 +179,7 @@ All URIs are relative to _http://localhost_
182
179
  - [BackendPatch](compute_api_client/docs/BackendPatch.md)
183
180
  - [BackendStatus](compute_api_client/docs/BackendStatus.md)
184
181
  - [BackendType](compute_api_client/docs/BackendType.md)
182
+ - [BackendTypePatch](compute_api_client/docs/BackendTypePatch.md)
185
183
  - [BackendWithAuthentication](compute_api_client/docs/BackendWithAuthentication.md)
186
184
  - [BatchJob](compute_api_client/docs/BatchJob.md)
187
185
  - [BatchJobIn](compute_api_client/docs/BatchJobIn.md)
@@ -206,8 +204,6 @@ All URIs are relative to _http://localhost_
206
204
  - [LocationInner](compute_api_client/docs/LocationInner.md)
207
205
  - [Member](compute_api_client/docs/Member.md)
208
206
  - [MemberIn](compute_api_client/docs/MemberIn.md)
209
- - [Metadata](compute_api_client/docs/Metadata.md)
210
- - [MetadataIn](compute_api_client/docs/MetadataIn.md)
211
207
  - [PageAlgorithm](compute_api_client/docs/PageAlgorithm.md)
212
208
  - [PageBackend](compute_api_client/docs/PageBackend.md)
213
209
  - [PageBackendType](compute_api_client/docs/PageBackendType.md)
@@ -217,7 +213,6 @@ All URIs are relative to _http://localhost_
217
213
  - [PageJob](compute_api_client/docs/PageJob.md)
218
214
  - [PageLanguage](compute_api_client/docs/PageLanguage.md)
219
215
  - [PageMember](compute_api_client/docs/PageMember.md)
220
- - [PageMetadata](compute_api_client/docs/PageMetadata.md)
221
216
  - [PagePermission](compute_api_client/docs/PagePermission.md)
222
217
  - [PagePermissionGroup](compute_api_client/docs/PagePermissionGroup.md)
223
218
  - [PageProject](compute_api_client/docs/PageProject.md)
@@ -265,4 +260,3 @@ Authentication schemes defined for the API: <a id="user_bearer"></a>
265
260
  - **Location**: HTTP header
266
261
 
267
262
  ## Author
268
-