qi-compute-api-client 0.4.0__py3-none-any.whl → 0.17.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 (166) hide show
  1. compute_api_client/__init__.py +23 -20
  2. compute_api_client/api/__init__.py +5 -6
  3. compute_api_client/api/algorithms_api.py +1334 -554
  4. compute_api_client/api/backend_api.py +1501 -0
  5. compute_api_client/api/backend_types_api.py +684 -0
  6. compute_api_client/api/batch_jobs_api.py +1937 -0
  7. compute_api_client/api/commits_api.py +1069 -436
  8. compute_api_client/api/files_api.py +1076 -436
  9. compute_api_client/api/final_results_api.py +737 -339
  10. compute_api_client/api/jobs_api.py +1653 -0
  11. compute_api_client/api/languages_api.py +557 -218
  12. compute_api_client/api/members_api.py +1058 -436
  13. compute_api_client/api/metadata_api.py +737 -338
  14. compute_api_client/api/permissions_api.py +1056 -422
  15. compute_api_client/api/projects_api.py +1605 -677
  16. compute_api_client/api/reservations_api.py +1125 -428
  17. compute_api_client/api/results_api.py +739 -338
  18. compute_api_client/api/teams_api.py +568 -221
  19. compute_api_client/api/transactions_api.py +680 -219
  20. compute_api_client/api/users_api.py +1091 -436
  21. compute_api_client/api_client.py +347 -305
  22. compute_api_client/api_response.py +21 -0
  23. compute_api_client/configuration.py +55 -68
  24. compute_api_client/docs/Algorithm.md +20 -3
  25. compute_api_client/docs/AlgorithmIn.md +20 -3
  26. compute_api_client/docs/AlgorithmType.md +0 -1
  27. compute_api_client/docs/AlgorithmsApi.md +78 -77
  28. compute_api_client/docs/Backend.md +33 -0
  29. compute_api_client/docs/BackendApi.md +419 -0
  30. compute_api_client/docs/BackendPatch.md +29 -0
  31. compute_api_client/docs/{RunStatus.md → BackendStatus.md} +1 -2
  32. compute_api_client/docs/BackendType.md +36 -0
  33. compute_api_client/docs/{RuntimeTypesApi.md → BackendTypesApi.md} +58 -31
  34. compute_api_client/docs/BackendWithAuthentication.md +34 -0
  35. compute_api_client/docs/BatchJob.md +38 -0
  36. compute_api_client/docs/BatchJobIn.md +29 -0
  37. compute_api_client/docs/{RuntimeStatus.md → BatchJobStatus.md} +1 -2
  38. compute_api_client/docs/BatchJobsApi.md +524 -0
  39. compute_api_client/docs/Commit.md +18 -1
  40. compute_api_client/docs/CommitIn.md +17 -0
  41. compute_api_client/docs/CommitsApi.md +62 -71
  42. compute_api_client/docs/CompileStage.md +0 -1
  43. compute_api_client/docs/Domain.md +0 -1
  44. compute_api_client/docs/File.md +21 -4
  45. compute_api_client/docs/FileIn.md +21 -4
  46. compute_api_client/docs/FilesApi.md +65 -71
  47. compute_api_client/docs/FinalResult.md +20 -3
  48. compute_api_client/docs/FinalResultIn.md +19 -2
  49. compute_api_client/docs/FinalResultsApi.md +44 -71
  50. compute_api_client/docs/HTTPNotFoundError.md +17 -0
  51. compute_api_client/docs/HTTPValidationError.md +18 -1
  52. compute_api_client/docs/Job.md +36 -0
  53. compute_api_client/docs/JobIn.md +31 -0
  54. compute_api_client/docs/JobPatch.md +28 -0
  55. compute_api_client/docs/{BatchRunStatus.md → JobStatus.md} +1 -2
  56. compute_api_client/docs/{RunsApi.md → JobsApi.md} +137 -122
  57. compute_api_client/docs/Language.md +17 -0
  58. compute_api_client/docs/LanguagesApi.md +30 -12
  59. compute_api_client/docs/LocationInner.md +17 -0
  60. compute_api_client/docs/Member.md +19 -2
  61. compute_api_client/docs/MemberIn.md +19 -2
  62. compute_api_client/docs/MembersApi.md +59 -24
  63. compute_api_client/docs/Metadata.md +20 -3
  64. compute_api_client/docs/MetadataApi.md +49 -33
  65. compute_api_client/docs/MetadataIn.md +19 -2
  66. compute_api_client/docs/Permission.md +17 -0
  67. compute_api_client/docs/PermissionGroup.md +17 -0
  68. compute_api_client/docs/PermissionsApi.md +68 -28
  69. compute_api_client/docs/Project.md +20 -3
  70. compute_api_client/docs/ProjectIn.md +18 -1
  71. compute_api_client/docs/ProjectPatch.md +19 -2
  72. compute_api_client/docs/ProjectsApi.md +84 -36
  73. compute_api_client/docs/Reservation.md +21 -4
  74. compute_api_client/docs/ReservationIn.md +19 -2
  75. compute_api_client/docs/ReservationsApi.md +66 -24
  76. compute_api_client/docs/Result.md +23 -6
  77. compute_api_client/docs/ResultIn.md +19 -2
  78. compute_api_client/docs/ResultsApi.md +40 -74
  79. compute_api_client/docs/Role.md +0 -1
  80. compute_api_client/docs/ShareType.md +0 -1
  81. compute_api_client/docs/Team.md +18 -1
  82. compute_api_client/docs/TeamsApi.md +37 -14
  83. compute_api_client/docs/Transaction.md +21 -4
  84. compute_api_client/docs/TransactionsApi.md +50 -14
  85. compute_api_client/docs/User.md +21 -4
  86. compute_api_client/docs/UserIn.md +17 -0
  87. compute_api_client/docs/UsersApi.md +62 -24
  88. compute_api_client/docs/ValidationError.md +18 -1
  89. compute_api_client/exceptions.py +20 -17
  90. compute_api_client/models/__init__.py +17 -15
  91. compute_api_client/models/algorithm.py +79 -238
  92. compute_api_client/models/algorithm_in.py +77 -205
  93. compute_api_client/models/algorithm_type.py +22 -88
  94. compute_api_client/models/backend.py +100 -0
  95. compute_api_client/models/backend_patch.py +90 -0
  96. compute_api_client/models/backend_status.py +47 -0
  97. compute_api_client/models/backend_type.py +105 -0
  98. compute_api_client/models/backend_with_authentication.py +102 -0
  99. compute_api_client/models/batch_job.py +129 -0
  100. compute_api_client/models/batch_job_in.py +89 -0
  101. compute_api_client/models/batch_job_status.py +48 -0
  102. compute_api_client/models/commit.py +73 -231
  103. compute_api_client/models/commit_in.py +68 -170
  104. compute_api_client/models/compile_stage.py +24 -90
  105. compute_api_client/models/domain.py +23 -89
  106. compute_api_client/models/file.py +75 -289
  107. compute_api_client/models/file_in.py +73 -255
  108. compute_api_client/models/final_result.py +69 -199
  109. compute_api_client/models/final_result_in.py +64 -138
  110. compute_api_client/models/http_not_found_error.py +61 -106
  111. compute_api_client/models/http_validation_error.py +70 -106
  112. compute_api_client/models/job.py +120 -0
  113. compute_api_client/models/job_in.py +99 -0
  114. compute_api_client/models/job_patch.py +88 -0
  115. compute_api_client/models/job_status.py +48 -0
  116. compute_api_client/models/language.py +68 -173
  117. compute_api_client/models/location_inner.py +126 -85
  118. compute_api_client/models/member.py +71 -237
  119. compute_api_client/models/member_in.py +69 -204
  120. compute_api_client/models/metadata.py +69 -199
  121. compute_api_client/models/metadata_in.py +69 -138
  122. compute_api_client/models/permission.py +68 -173
  123. compute_api_client/models/permission_group.py +66 -143
  124. compute_api_client/models/project.py +75 -257
  125. compute_api_client/models/project_in.py +70 -196
  126. compute_api_client/models/project_patch.py +90 -193
  127. compute_api_client/models/reservation.py +80 -291
  128. compute_api_client/models/reservation_in.py +69 -201
  129. compute_api_client/models/result.py +102 -360
  130. compute_api_client/models/result_in.py +96 -293
  131. compute_api_client/models/role.py +22 -88
  132. compute_api_client/models/share_type.py +23 -89
  133. compute_api_client/models/team.py +70 -199
  134. compute_api_client/models/transaction.py +94 -300
  135. compute_api_client/models/user.py +76 -277
  136. compute_api_client/models/user_in.py +74 -244
  137. compute_api_client/models/validation_error.py +74 -161
  138. compute_api_client/rest.py +56 -115
  139. {qi_compute_api_client-0.4.0.dist-info → qi_compute_api_client-0.17.0.dist-info}/METADATA +47 -40
  140. qi_compute_api_client-0.17.0.dist-info/RECORD +142 -0
  141. compute_api_client/api/batch_runs_api.py +0 -862
  142. compute_api_client/api/runs_api.py +0 -723
  143. compute_api_client/api/runtime_api.py +0 -449
  144. compute_api_client/api/runtime_types_api.py +0 -303
  145. compute_api_client/docs/BatchRun.md +0 -21
  146. compute_api_client/docs/BatchRunIn.md +0 -12
  147. compute_api_client/docs/BatchRunsApi.md +0 -600
  148. compute_api_client/docs/Run.md +0 -18
  149. compute_api_client/docs/RunIn.md +0 -13
  150. compute_api_client/docs/Runtime.md +0 -16
  151. compute_api_client/docs/RuntimeApi.md +0 -229
  152. compute_api_client/docs/RuntimeType.md +0 -19
  153. compute_api_client/docs/RuntimeWithAuthentication.md +0 -17
  154. compute_api_client/models/batch_run.py +0 -423
  155. compute_api_client/models/batch_run_in.py +0 -171
  156. compute_api_client/models/batch_run_status.py +0 -114
  157. compute_api_client/models/run.py +0 -345
  158. compute_api_client/models/run_in.py +0 -202
  159. compute_api_client/models/run_status.py +0 -114
  160. compute_api_client/models/runtime.py +0 -290
  161. compute_api_client/models/runtime_status.py +0 -113
  162. compute_api_client/models/runtime_type.py +0 -357
  163. compute_api_client/models/runtime_with_authentication.py +0 -320
  164. qi_compute_api_client-0.4.0.dist-info/RECORD +0 -137
  165. {qi_compute_api_client-0.4.0.dist-info → qi_compute_api_client-0.17.0.dist-info}/LICENSE.md +0 -0
  166. {qi_compute_api_client-0.4.0.dist-info → qi_compute_api_client-0.17.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,120 @@
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
+ from datetime import datetime
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from pydantic import BaseModel, StrictInt
23
+ from compute_api_client.models.algorithm_type import AlgorithmType
24
+ from compute_api_client.models.job_status import JobStatus
25
+ try:
26
+ from typing import Self
27
+ except ImportError:
28
+ from typing_extensions import Self
29
+
30
+ class Job(BaseModel):
31
+ """
32
+ Job
33
+ """ # noqa: E501
34
+ id: StrictInt
35
+ created_on: datetime
36
+ file_id: StrictInt
37
+ algorithm_type: AlgorithmType
38
+ status: JobStatus
39
+ batch_job_id: StrictInt
40
+ queued_at: Optional[datetime]
41
+ finished_at: Optional[datetime]
42
+ number_of_shots: Optional[StrictInt]
43
+ __properties: ClassVar[List[str]] = ["id", "created_on", "file_id", "algorithm_type", "status", "batch_job_id", "queued_at", "finished_at", "number_of_shots"]
44
+
45
+ model_config = {
46
+ "populate_by_name": True,
47
+ "validate_assignment": True
48
+ }
49
+
50
+
51
+ def to_str(self) -> str:
52
+ """Returns the string representation of the model using alias"""
53
+ return pprint.pformat(self.model_dump(by_alias=True))
54
+
55
+ def to_json(self) -> str:
56
+ """Returns the JSON representation of the model using alias"""
57
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
58
+ return json.dumps(self.to_dict())
59
+
60
+ @classmethod
61
+ def from_json(cls, json_str: str) -> Self:
62
+ """Create an instance of Job from a JSON string"""
63
+ return cls.from_dict(json.loads(json_str))
64
+
65
+ def to_dict(self) -> Dict[str, Any]:
66
+ """Return the dictionary representation of the model using alias.
67
+
68
+ This has the following differences from calling pydantic's
69
+ `self.model_dump(by_alias=True)`:
70
+
71
+ * `None` is only added to the output dict for nullable fields that
72
+ were set at model initialization. Other fields with value `None`
73
+ are ignored.
74
+ """
75
+ _dict = self.model_dump(
76
+ by_alias=True,
77
+ exclude={
78
+ },
79
+ exclude_none=True,
80
+ )
81
+ # set to None if queued_at (nullable) is None
82
+ # and model_fields_set contains the field
83
+ if self.queued_at is None and "queued_at" in self.model_fields_set:
84
+ _dict['queued_at'] = None
85
+
86
+ # set to None if finished_at (nullable) is None
87
+ # and model_fields_set contains the field
88
+ if self.finished_at is None and "finished_at" in self.model_fields_set:
89
+ _dict['finished_at'] = None
90
+
91
+ # set to None if number_of_shots (nullable) is None
92
+ # and model_fields_set contains the field
93
+ if self.number_of_shots is None and "number_of_shots" in self.model_fields_set:
94
+ _dict['number_of_shots'] = None
95
+
96
+ return _dict
97
+
98
+ @classmethod
99
+ def from_dict(cls, obj: Dict) -> Self:
100
+ """Create an instance of Job from a dict"""
101
+ if obj is None:
102
+ return None
103
+
104
+ if not isinstance(obj, dict):
105
+ return cls.model_validate(obj)
106
+
107
+ _obj = cls.model_validate({
108
+ "id": obj.get("id"),
109
+ "created_on": obj.get("created_on"),
110
+ "file_id": obj.get("file_id"),
111
+ "algorithm_type": obj.get("algorithm_type"),
112
+ "status": obj.get("status"),
113
+ "batch_job_id": obj.get("batch_job_id"),
114
+ "queued_at": obj.get("queued_at"),
115
+ "finished_at": obj.get("finished_at"),
116
+ "number_of_shots": obj.get("number_of_shots")
117
+ })
118
+ return _obj
119
+
120
+
@@ -0,0 +1,99 @@
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, StrictInt
23
+ from compute_api_client.models.job_status import JobStatus
24
+ try:
25
+ from typing import Self
26
+ except ImportError:
27
+ from typing_extensions import Self
28
+
29
+ class JobIn(BaseModel):
30
+ """
31
+ JobIn
32
+ """ # noqa: E501
33
+ file_id: StrictInt
34
+ status: Optional[JobStatus] = None
35
+ batch_job_id: StrictInt
36
+ number_of_shots: Optional[StrictInt] = None
37
+ __properties: ClassVar[List[str]] = ["file_id", "status", "batch_job_id", "number_of_shots"]
38
+
39
+ model_config = {
40
+ "populate_by_name": True,
41
+ "validate_assignment": True
42
+ }
43
+
44
+
45
+ def to_str(self) -> str:
46
+ """Returns the string representation of the model using alias"""
47
+ return pprint.pformat(self.model_dump(by_alias=True))
48
+
49
+ def to_json(self) -> str:
50
+ """Returns the JSON representation of the model using alias"""
51
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
52
+ return json.dumps(self.to_dict())
53
+
54
+ @classmethod
55
+ def from_json(cls, json_str: str) -> Self:
56
+ """Create an instance of JobIn from a JSON string"""
57
+ return cls.from_dict(json.loads(json_str))
58
+
59
+ def to_dict(self) -> Dict[str, Any]:
60
+ """Return the dictionary representation of the model using alias.
61
+
62
+ This has the following differences from calling pydantic's
63
+ `self.model_dump(by_alias=True)`:
64
+
65
+ * `None` is only added to the output dict for nullable fields that
66
+ were set at model initialization. Other fields with value `None`
67
+ are ignored.
68
+ """
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude={
72
+ },
73
+ exclude_none=True,
74
+ )
75
+ # set to None if number_of_shots (nullable) is None
76
+ # and model_fields_set contains the field
77
+ if self.number_of_shots is None and "number_of_shots" in self.model_fields_set:
78
+ _dict['number_of_shots'] = None
79
+
80
+ return _dict
81
+
82
+ @classmethod
83
+ def from_dict(cls, obj: Dict) -> Self:
84
+ """Create an instance of JobIn from a dict"""
85
+ if obj is None:
86
+ return None
87
+
88
+ if not isinstance(obj, dict):
89
+ return cls.model_validate(obj)
90
+
91
+ _obj = cls.model_validate({
92
+ "file_id": obj.get("file_id"),
93
+ "status": obj.get("status"),
94
+ "batch_job_id": obj.get("batch_job_id"),
95
+ "number_of_shots": obj.get("number_of_shots")
96
+ })
97
+ return _obj
98
+
99
+
@@ -0,0 +1,88 @@
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
22
+ from pydantic import BaseModel
23
+ from compute_api_client.models.job_status import JobStatus
24
+ try:
25
+ from typing import Self
26
+ except ImportError:
27
+ from typing_extensions import Self
28
+
29
+ class JobPatch(BaseModel):
30
+ """
31
+ JobPatch
32
+ """ # noqa: E501
33
+ status: JobStatus
34
+ __properties: ClassVar[List[str]] = ["status"]
35
+
36
+ model_config = {
37
+ "populate_by_name": True,
38
+ "validate_assignment": True
39
+ }
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Self:
53
+ """Create an instance of JobPatch from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ _dict = self.model_dump(
67
+ by_alias=True,
68
+ exclude={
69
+ },
70
+ exclude_none=True,
71
+ )
72
+ return _dict
73
+
74
+ @classmethod
75
+ def from_dict(cls, obj: Dict) -> Self:
76
+ """Create an instance of JobPatch from a dict"""
77
+ if obj is None:
78
+ return None
79
+
80
+ if not isinstance(obj, dict):
81
+ return cls.model_validate(obj)
82
+
83
+ _obj = cls.model_validate({
84
+ "status": obj.get("status")
85
+ })
86
+ return _obj
87
+
88
+
@@ -0,0 +1,48 @@
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 json
17
+ import pprint
18
+ import re # noqa: F401
19
+ from enum import Enum
20
+
21
+
22
+
23
+ try:
24
+ from typing import Self
25
+ except ImportError:
26
+ from typing_extensions import Self
27
+
28
+
29
+ class JobStatus(str, Enum):
30
+ """
31
+ JobStatus
32
+ """
33
+
34
+ """
35
+ allowed enum values
36
+ """
37
+ PLANNED = 'planned'
38
+ RUNNING = 'running'
39
+ COMPLETED = 'completed'
40
+ CANCELLED = 'cancelled'
41
+ FAILED = 'failed'
42
+
43
+ @classmethod
44
+ def from_json(cls, json_str: str) -> Self:
45
+ """Create an instance of JobStatus from a JSON string"""
46
+ return cls(json.loads(json_str))
47
+
48
+
@@ -1,198 +1,93 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Compute Job Manager
4
+ Quantum Inspire 2
5
5
 
6
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
7
 
8
8
  The version of the OpenAPI document: 0.1.0
9
- Generated by: https://openapi-generator.tech
10
- """
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
10
 
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
12
13
 
13
- try:
14
- from inspect import getfullargspec
15
- except ImportError:
16
- from inspect import getargspec as getfullargspec
14
+
15
+ from __future__ import annotations
17
16
  import pprint
18
17
  import re # noqa: F401
19
- import six
18
+ import json
20
19
 
21
- from compute_api_client.configuration import Configuration
22
20
 
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
+ try:
26
+ from typing import Self
27
+ except ImportError:
28
+ from typing_extensions import Self
23
29
 
24
- class Language(object):
25
- """NOTE: This class is auto generated by OpenAPI Generator.
26
- Ref: https://openapi-generator.tech
27
-
28
- Do not edit the class manually.
29
- """
30
-
30
+ class Language(BaseModel):
31
31
  """
32
- Attributes:
33
- openapi_types (dict): The key is attribute name
34
- and the value is attribute type.
35
- attribute_map (dict): The key is attribute name
36
- and the value is json key in definition.
37
- """
38
- openapi_types = {
39
- 'id': 'int',
40
- 'name': 'str',
41
- 'version': 'str'
42
- }
43
-
44
- attribute_map = {
45
- 'id': 'id',
46
- 'name': 'name',
47
- 'version': 'version'
32
+ Language
33
+ """ # noqa: E501
34
+ id: StrictInt
35
+ name: Annotated[str, Field(strict=True, max_length=64)]
36
+ version: Annotated[str, Field(strict=True, max_length=16)]
37
+ __properties: ClassVar[List[str]] = ["id", "name", "version"]
38
+
39
+ model_config = {
40
+ "populate_by_name": True,
41
+ "validate_assignment": True
48
42
  }
49
43
 
50
- def __init__(self, id=None, name=None, version=None, local_vars_configuration=None): # noqa: E501
51
- """Language - a model defined in OpenAPI""" # noqa: E501
52
- if local_vars_configuration is None:
53
- local_vars_configuration = Configuration.get_default_copy()
54
- self.local_vars_configuration = local_vars_configuration
55
-
56
- self._id = None
57
- self._name = None
58
- self._version = None
59
- self.discriminator = None
60
44
 
61
- self.id = id
62
- self.name = name
63
- self.version = version
45
+ def to_str(self) -> str:
46
+ """Returns the string representation of the model using alias"""
47
+ return pprint.pformat(self.model_dump(by_alias=True))
64
48
 
65
- @property
66
- def id(self):
67
- """Gets the id of this Language. # noqa: E501
49
+ def to_json(self) -> str:
50
+ """Returns the JSON representation of the model using alias"""
51
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
52
+ return json.dumps(self.to_dict())
68
53
 
54
+ @classmethod
55
+ def from_json(cls, json_str: str) -> Self:
56
+ """Create an instance of Language from a JSON string"""
57
+ return cls.from_dict(json.loads(json_str))
69
58
 
70
- :return: The id of this Language. # noqa: E501
71
- :rtype: int
72
- """
73
- return self._id
74
-
75
- @id.setter
76
- def id(self, id):
77
- """Sets the id of this Language.
59
+ def to_dict(self) -> Dict[str, Any]:
60
+ """Return the dictionary representation of the model using alias.
78
61
 
62
+ This has the following differences from calling pydantic's
63
+ `self.model_dump(by_alias=True)`:
79
64
 
80
- :param id: The id of this Language. # noqa: E501
81
- :type id: int
65
+ * `None` is only added to the output dict for nullable fields that
66
+ were set at model initialization. Other fields with value `None`
67
+ are ignored.
82
68
  """
83
- if self.local_vars_configuration.client_side_validation and id is None: # noqa: E501
84
- raise ValueError("Invalid value for `id`, must not be `None`") # noqa: E501
85
- if (self.local_vars_configuration.client_side_validation and
86
- id is not None and id > 2147483647): # noqa: E501
87
- raise ValueError("Invalid value for `id`, must be a value less than or equal to `2147483647`") # noqa: E501
88
- if (self.local_vars_configuration.client_side_validation and
89
- id is not None and id < 1): # noqa: E501
90
- raise ValueError("Invalid value for `id`, must be a value greater than or equal to `1`") # noqa: E501
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude={
72
+ },
73
+ exclude_none=True,
74
+ )
75
+ return _dict
76
+
77
+ @classmethod
78
+ def from_dict(cls, obj: Dict) -> Self:
79
+ """Create an instance of Language from a dict"""
80
+ if obj is None:
81
+ return None
82
+
83
+ if not isinstance(obj, dict):
84
+ return cls.model_validate(obj)
85
+
86
+ _obj = cls.model_validate({
87
+ "id": obj.get("id"),
88
+ "name": obj.get("name"),
89
+ "version": obj.get("version")
90
+ })
91
+ return _obj
91
92
 
92
- self._id = id
93
93
 
94
- @property
95
- def name(self):
96
- """Gets the name of this Language. # noqa: E501
97
-
98
-
99
- :return: The name of this Language. # noqa: E501
100
- :rtype: str
101
- """
102
- return self._name
103
-
104
- @name.setter
105
- def name(self, name):
106
- """Sets the name of this Language.
107
-
108
-
109
- :param name: The name of this Language. # noqa: E501
110
- :type name: str
111
- """
112
- if self.local_vars_configuration.client_side_validation and name is None: # noqa: E501
113
- raise ValueError("Invalid value for `name`, must not be `None`") # noqa: E501
114
- if (self.local_vars_configuration.client_side_validation and
115
- name is not None and len(name) > 64):
116
- raise ValueError("Invalid value for `name`, length must be less than or equal to `64`") # noqa: E501
117
-
118
- self._name = name
119
-
120
- @property
121
- def version(self):
122
- """Gets the version of this Language. # noqa: E501
123
-
124
-
125
- :return: The version of this Language. # noqa: E501
126
- :rtype: str
127
- """
128
- return self._version
129
-
130
- @version.setter
131
- def version(self, version):
132
- """Sets the version of this Language.
133
-
134
-
135
- :param version: The version of this Language. # noqa: E501
136
- :type version: str
137
- """
138
- if self.local_vars_configuration.client_side_validation and version is None: # noqa: E501
139
- raise ValueError("Invalid value for `version`, must not be `None`") # noqa: E501
140
- if (self.local_vars_configuration.client_side_validation and
141
- version is not None and len(version) > 16):
142
- raise ValueError("Invalid value for `version`, length must be less than or equal to `16`") # noqa: E501
143
-
144
- self._version = version
145
-
146
- def to_dict(self, serialize=False):
147
- """Returns the model properties as a dict"""
148
- result = {}
149
-
150
- def convert(x):
151
- if hasattr(x, "to_dict"):
152
- args = getfullargspec(x.to_dict).args
153
- if len(args) == 1:
154
- return x.to_dict()
155
- else:
156
- return x.to_dict(serialize)
157
- else:
158
- return x
159
-
160
- for attr, _ in six.iteritems(self.openapi_types):
161
- value = getattr(self, attr)
162
- attr = self.attribute_map.get(attr, attr) if serialize else attr
163
- if isinstance(value, list):
164
- result[attr] = list(map(
165
- lambda x: convert(x),
166
- value
167
- ))
168
- elif isinstance(value, dict):
169
- result[attr] = dict(map(
170
- lambda item: (item[0], convert(item[1])),
171
- value.items()
172
- ))
173
- else:
174
- result[attr] = convert(value)
175
-
176
- return result
177
-
178
- def to_str(self):
179
- """Returns the string representation of the model"""
180
- return pprint.pformat(self.to_dict())
181
-
182
- def __repr__(self):
183
- """For `print` and `pprint`"""
184
- return self.to_str()
185
-
186
- def __eq__(self, other):
187
- """Returns true if both objects are equal"""
188
- if not isinstance(other, Language):
189
- return False
190
-
191
- return self.to_dict() == other.to_dict()
192
-
193
- def __ne__(self, other):
194
- """Returns true if both objects are not equal"""
195
- if not isinstance(other, Language):
196
- return True
197
-
198
- return self.to_dict() != other.to_dict()