qi-compute-api-client 0.7.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 (165) hide show
  1. compute_api_client/__init__.py +22 -19
  2. compute_api_client/api/__init__.py +5 -6
  3. compute_api_client/api/algorithms_api.py +1333 -553
  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 +1068 -435
  8. compute_api_client/api/files_api.py +1075 -435
  9. compute_api_client/api/final_results_api.py +736 -338
  10. compute_api_client/api/jobs_api.py +1653 -0
  11. compute_api_client/api/languages_api.py +556 -217
  12. compute_api_client/api/members_api.py +1057 -435
  13. compute_api_client/api/metadata_api.py +736 -337
  14. compute_api_client/api/permissions_api.py +1055 -421
  15. compute_api_client/api/projects_api.py +1604 -676
  16. compute_api_client/api/reservations_api.py +1124 -427
  17. compute_api_client/api/results_api.py +738 -337
  18. compute_api_client/api/teams_api.py +567 -220
  19. compute_api_client/api/transactions_api.py +679 -218
  20. compute_api_client/api/users_api.py +1090 -435
  21. compute_api_client/api_client.py +346 -304
  22. compute_api_client/api_response.py +21 -0
  23. compute_api_client/configuration.py +54 -67
  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/{BatchRunsApi.md → BatchJobsApi.md} +170 -147
  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 +42 -26
  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 +19 -16
  90. compute_api_client/models/__init__.py +16 -14
  91. compute_api_client/models/algorithm.py +78 -237
  92. compute_api_client/models/algorithm_in.py +76 -204
  93. compute_api_client/models/algorithm_type.py +21 -87
  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 +72 -230
  103. compute_api_client/models/commit_in.py +67 -169
  104. compute_api_client/models/compile_stage.py +23 -89
  105. compute_api_client/models/domain.py +22 -88
  106. compute_api_client/models/file.py +74 -288
  107. compute_api_client/models/file_in.py +72 -254
  108. compute_api_client/models/final_result.py +68 -198
  109. compute_api_client/models/final_result_in.py +63 -137
  110. compute_api_client/models/http_not_found_error.py +60 -105
  111. compute_api_client/models/http_validation_error.py +69 -105
  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 +67 -172
  117. compute_api_client/models/location_inner.py +125 -84
  118. compute_api_client/models/member.py +70 -236
  119. compute_api_client/models/member_in.py +68 -203
  120. compute_api_client/models/metadata.py +68 -198
  121. compute_api_client/models/metadata_in.py +68 -137
  122. compute_api_client/models/permission.py +67 -172
  123. compute_api_client/models/permission_group.py +65 -142
  124. compute_api_client/models/project.py +74 -256
  125. compute_api_client/models/project_in.py +69 -195
  126. compute_api_client/models/project_patch.py +89 -192
  127. compute_api_client/models/reservation.py +79 -290
  128. compute_api_client/models/reservation_in.py +68 -200
  129. compute_api_client/models/result.py +101 -359
  130. compute_api_client/models/result_in.py +95 -291
  131. compute_api_client/models/role.py +21 -87
  132. compute_api_client/models/share_type.py +22 -88
  133. compute_api_client/models/team.py +69 -198
  134. compute_api_client/models/transaction.py +93 -299
  135. compute_api_client/models/user.py +75 -276
  136. compute_api_client/models/user_in.py +73 -243
  137. compute_api_client/models/validation_error.py +73 -160
  138. compute_api_client/rest.py +55 -114
  139. {qi_compute_api_client-0.7.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/Run.md +0 -19
  148. compute_api_client/docs/RunIn.md +0 -14
  149. compute_api_client/docs/Runtime.md +0 -16
  150. compute_api_client/docs/RuntimeApi.md +0 -229
  151. compute_api_client/docs/RuntimeType.md +0 -19
  152. compute_api_client/docs/RuntimeWithAuthentication.md +0 -17
  153. compute_api_client/models/batch_run.py +0 -423
  154. compute_api_client/models/batch_run_in.py +0 -171
  155. compute_api_client/models/batch_run_status.py +0 -114
  156. compute_api_client/models/run.py +0 -376
  157. compute_api_client/models/run_in.py +0 -233
  158. compute_api_client/models/run_status.py +0 -114
  159. compute_api_client/models/runtime.py +0 -290
  160. compute_api_client/models/runtime_status.py +0 -113
  161. compute_api_client/models/runtime_type.py +0 -357
  162. compute_api_client/models/runtime_with_authentication.py +0 -320
  163. qi_compute_api_client-0.7.0.dist-info/RECORD +0 -137
  164. {qi_compute_api_client-0.7.0.dist-info → qi_compute_api_client-0.17.0.dist-info}/LICENSE.md +0 -0
  165. {qi_compute_api_client-0.7.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
+
@@ -3,196 +3,91 @@
3
3
  """
4
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()