cosmotech-api 4.0.0.dev9__py3-none-any.whl → 5.0.0b3__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 cosmotech-api might be problematic. Click here for more details.

Files changed (280) hide show
  1. cosmotech_api/__init__.py +32 -27
  2. cosmotech_api/api/__init__.py +1 -1
  3. cosmotech_api/api/connector_api.py +19 -8
  4. cosmotech_api/api/dataset_api.py +1496 -4126
  5. cosmotech_api/api/meta_api.py +281 -0
  6. cosmotech_api/api/organization_api.py +605 -562
  7. cosmotech_api/api/run_api.py +42 -22
  8. cosmotech_api/api/runner_api.py +512 -467
  9. cosmotech_api/api/scenario_api.py +141 -121
  10. cosmotech_api/api/scenariorun_api.py +76 -66
  11. cosmotech_api/api/scenariorunresult_api.py +1 -1
  12. cosmotech_api/api/solution_api.py +2980 -795
  13. cosmotech_api/api/twingraph_api.py +83 -72
  14. cosmotech_api/api/validator_api.py +1 -1
  15. cosmotech_api/api/workspace_api.py +795 -1331
  16. cosmotech_api/api_client.py +14 -5
  17. cosmotech_api/configuration.py +167 -40
  18. cosmotech_api/exceptions.py +18 -1
  19. cosmotech_api/model/component_role_permissions.py +1 -1
  20. cosmotech_api/model/connector.py +1 -1
  21. cosmotech_api/model/connector_parameter.py +1 -1
  22. cosmotech_api/model/connector_parameter_group.py +1 -1
  23. cosmotech_api/model/container_resource_size_info.py +1 -1
  24. cosmotech_api/model/container_resource_sizing.py +1 -1
  25. cosmotech_api/model/dataset.py +1 -1
  26. cosmotech_api/model/dataset_access_control.py +1 -1
  27. cosmotech_api/model/dataset_compatibility.py +1 -1
  28. cosmotech_api/model/dataset_connector.py +1 -1
  29. cosmotech_api/model/dataset_copy_parameters.py +1 -1
  30. cosmotech_api/model/dataset_role.py +1 -1
  31. cosmotech_api/model/dataset_search.py +1 -1
  32. cosmotech_api/model/dataset_security.py +1 -1
  33. cosmotech_api/model/dataset_source_type.py +1 -1
  34. cosmotech_api/model/dataset_twin_graph_hash.py +1 -1
  35. cosmotech_api/model/dataset_twin_graph_info.py +1 -1
  36. cosmotech_api/model/dataset_twin_graph_query.py +1 -1
  37. cosmotech_api/model/delete_historical_data.py +1 -1
  38. cosmotech_api/model/file_upload_metadata.py +1 -1
  39. cosmotech_api/model/file_upload_validation.py +1 -1
  40. cosmotech_api/model/graph_properties.py +1 -1
  41. cosmotech_api/model/organization.py +1 -1
  42. cosmotech_api/model/organization_access_control.py +1 -1
  43. cosmotech_api/model/organization_role.py +1 -1
  44. cosmotech_api/model/organization_security.py +1 -1
  45. cosmotech_api/model/organization_service.py +1 -1
  46. cosmotech_api/model/organization_services.py +1 -1
  47. cosmotech_api/model/resource_size_info.py +1 -1
  48. cosmotech_api/model/run.py +1 -1
  49. cosmotech_api/model/run_container.py +1 -1
  50. cosmotech_api/model/run_container_artifact.py +1 -1
  51. cosmotech_api/model/run_container_logs.py +1 -1
  52. cosmotech_api/model/run_logs.py +1 -1
  53. cosmotech_api/model/run_resource_requested.py +1 -1
  54. cosmotech_api/model/run_search.py +1 -1
  55. cosmotech_api/model/run_start_containers.py +1 -1
  56. cosmotech_api/model/run_state.py +1 -1
  57. cosmotech_api/model/run_status.py +1 -1
  58. cosmotech_api/model/run_status_node.py +1 -1
  59. cosmotech_api/model/run_template.py +1 -1
  60. cosmotech_api/model/run_template_handler_id.py +1 -1
  61. cosmotech_api/model/run_template_orchestrator.py +1 -1
  62. cosmotech_api/model/run_template_parameter.py +1 -1
  63. cosmotech_api/model/run_template_parameter_group.py +1 -1
  64. cosmotech_api/model/run_template_parameter_value.py +1 -1
  65. cosmotech_api/model/run_template_resource_sizing.py +1 -1
  66. cosmotech_api/model/run_template_step_source.py +1 -1
  67. cosmotech_api/model/runner.py +1 -1
  68. cosmotech_api/model/runner_access_control.py +1 -1
  69. cosmotech_api/model/runner_changed_parameter_value.py +1 -1
  70. cosmotech_api/model/runner_comparison_result.py +1 -1
  71. cosmotech_api/model/runner_data_download_info.py +1 -1
  72. cosmotech_api/model/runner_data_download_job.py +1 -1
  73. cosmotech_api/model/runner_job_state.py +1 -1
  74. cosmotech_api/model/runner_last_run.py +1 -1
  75. cosmotech_api/model/runner_resource_sizing.py +1 -1
  76. cosmotech_api/model/runner_role.py +1 -1
  77. cosmotech_api/model/runner_run_template_parameter_value.py +1 -1
  78. cosmotech_api/model/runner_security.py +1 -1
  79. cosmotech_api/model/runner_validation_status.py +1 -1
  80. cosmotech_api/model/scenario.py +1 -1
  81. cosmotech_api/model/scenario_access_control.py +1 -1
  82. cosmotech_api/model/scenario_changed_parameter_value.py +1 -1
  83. cosmotech_api/model/scenario_comparison_result.py +1 -1
  84. cosmotech_api/model/scenario_data_download_info.py +1 -1
  85. cosmotech_api/model/scenario_data_download_job.py +1 -1
  86. cosmotech_api/model/scenario_job_state.py +1 -1
  87. cosmotech_api/model/scenario_last_run.py +1 -1
  88. cosmotech_api/model/scenario_resource_sizing.py +1 -1
  89. cosmotech_api/model/scenario_role.py +1 -1
  90. cosmotech_api/model/scenario_run.py +1 -1
  91. cosmotech_api/model/scenario_run_container.py +1 -1
  92. cosmotech_api/model/scenario_run_container_artifact.py +1 -1
  93. cosmotech_api/model/scenario_run_container_logs.py +1 -1
  94. cosmotech_api/model/scenario_run_logs.py +1 -1
  95. cosmotech_api/model/scenario_run_resource_requested.py +1 -1
  96. cosmotech_api/model/scenario_run_result.py +1 -1
  97. cosmotech_api/model/scenario_run_search.py +1 -1
  98. cosmotech_api/model/scenario_run_start_containers.py +1 -1
  99. cosmotech_api/model/scenario_run_state.py +1 -1
  100. cosmotech_api/model/scenario_run_status.py +1 -1
  101. cosmotech_api/model/scenario_run_status_node.py +1 -1
  102. cosmotech_api/model/scenario_run_template_parameter_value.py +1 -1
  103. cosmotech_api/model/scenario_security.py +1 -1
  104. cosmotech_api/model/scenario_validation_status.py +1 -1
  105. cosmotech_api/model/solution.py +1 -1
  106. cosmotech_api/model/solution_access_control.py +1 -1
  107. cosmotech_api/model/solution_role.py +1 -1
  108. cosmotech_api/model/solution_security.py +1 -1
  109. cosmotech_api/model/source_info.py +1 -1
  110. cosmotech_api/model/sub_dataset_graph_query.py +1 -1
  111. cosmotech_api/model/translated_labels.py +1 -1
  112. cosmotech_api/model/twin_graph_batch_result.py +1 -1
  113. cosmotech_api/model/twin_graph_hash.py +1 -1
  114. cosmotech_api/model/twin_graph_query.py +1 -1
  115. cosmotech_api/model/validator.py +1 -1
  116. cosmotech_api/model/validator_run.py +1 -1
  117. cosmotech_api/model/workspace.py +1 -1
  118. cosmotech_api/model/workspace_access_control.py +1 -1
  119. cosmotech_api/model/workspace_file.py +1 -1
  120. cosmotech_api/model/workspace_role.py +1 -1
  121. cosmotech_api/model/workspace_secret.py +1 -1
  122. cosmotech_api/model/workspace_security.py +1 -1
  123. cosmotech_api/model/workspace_solution.py +1 -1
  124. cosmotech_api/model/workspace_web_app.py +1 -1
  125. cosmotech_api/model_utils.py +1 -1
  126. cosmotech_api/models/__init__.py +31 -26
  127. cosmotech_api/models/about_info.py +92 -0
  128. cosmotech_api/models/about_info_version.py +100 -0
  129. cosmotech_api/models/component_role_permissions.py +5 -5
  130. cosmotech_api/models/connector.py +1 -1
  131. cosmotech_api/models/connector_parameter.py +1 -1
  132. cosmotech_api/models/connector_parameter_group.py +1 -1
  133. cosmotech_api/models/container_resource_size_info.py +1 -1
  134. cosmotech_api/models/container_resource_sizing.py +1 -1
  135. cosmotech_api/models/create_info.py +103 -0
  136. cosmotech_api/models/created_run.py +2 -2
  137. cosmotech_api/models/dataset.py +42 -81
  138. cosmotech_api/models/dataset_access_control.py +1 -1
  139. cosmotech_api/models/dataset_compatibility.py +1 -1
  140. cosmotech_api/models/dataset_connector.py +1 -1
  141. cosmotech_api/models/dataset_copy_parameters.py +1 -1
  142. cosmotech_api/models/dataset_create_request.py +121 -0
  143. cosmotech_api/models/dataset_part.py +130 -0
  144. cosmotech_api/models/dataset_part_create_request.py +98 -0
  145. cosmotech_api/models/dataset_part_type_enum.py +38 -0
  146. cosmotech_api/models/dataset_part_update_request.py +90 -0
  147. cosmotech_api/models/dataset_role.py +1 -1
  148. cosmotech_api/models/dataset_search.py +1 -1
  149. cosmotech_api/models/dataset_security.py +1 -1
  150. cosmotech_api/models/dataset_source_type.py +1 -1
  151. cosmotech_api/models/dataset_twin_graph_hash.py +1 -1
  152. cosmotech_api/models/dataset_twin_graph_info.py +1 -1
  153. cosmotech_api/models/dataset_twin_graph_query.py +1 -1
  154. cosmotech_api/models/dataset_update_request.py +109 -0
  155. cosmotech_api/models/delete_historical_data.py +1 -1
  156. cosmotech_api/models/edit_info.py +90 -0
  157. cosmotech_api/models/file_upload_metadata.py +1 -1
  158. cosmotech_api/models/file_upload_validation.py +1 -1
  159. cosmotech_api/models/graph_properties.py +1 -1
  160. cosmotech_api/models/ingestion_status_enum.py +1 -1
  161. cosmotech_api/models/io_types_enum.py +1 -1
  162. cosmotech_api/models/last_run_info.py +100 -0
  163. cosmotech_api/models/organization.py +18 -11
  164. cosmotech_api/models/organization_access_control.py +4 -4
  165. cosmotech_api/models/organization_create_request.py +95 -0
  166. cosmotech_api/models/organization_edit_info.py +90 -0
  167. cosmotech_api/models/organization_role.py +3 -3
  168. cosmotech_api/models/organization_security.py +4 -4
  169. cosmotech_api/models/organization_service.py +7 -7
  170. cosmotech_api/models/organization_services.py +7 -7
  171. cosmotech_api/models/organization_update_request.py +89 -0
  172. cosmotech_api/models/query_result.py +1 -1
  173. cosmotech_api/models/resource_size_info.py +1 -1
  174. cosmotech_api/models/run.py +8 -10
  175. cosmotech_api/models/run_container.py +1 -1
  176. cosmotech_api/models/run_container_artifact.py +7 -7
  177. cosmotech_api/models/run_container_logs.py +7 -7
  178. cosmotech_api/models/run_data.py +2 -2
  179. cosmotech_api/models/run_data_query.py +1 -1
  180. cosmotech_api/models/run_edit_info.py +90 -0
  181. cosmotech_api/models/run_logs.py +1 -1
  182. cosmotech_api/models/run_logs_entry.py +1 -1
  183. cosmotech_api/models/run_resource_requested.py +1 -1
  184. cosmotech_api/models/run_search.py +7 -7
  185. cosmotech_api/models/run_search_state.py +1 -1
  186. cosmotech_api/models/run_start_containers.py +10 -10
  187. cosmotech_api/models/run_state.py +2 -1
  188. cosmotech_api/models/run_status.py +8 -2
  189. cosmotech_api/models/run_status_node.py +1 -1
  190. cosmotech_api/models/run_template.py +14 -69
  191. cosmotech_api/models/run_template_create_request.py +109 -0
  192. cosmotech_api/models/run_template_handler_id.py +1 -1
  193. cosmotech_api/models/run_template_orchestrator.py +1 -1
  194. cosmotech_api/models/run_template_parameter.py +14 -11
  195. cosmotech_api/models/run_template_parameter_create_request.py +105 -0
  196. cosmotech_api/models/run_template_parameter_group.py +12 -9
  197. cosmotech_api/models/run_template_parameter_group_create_request.py +101 -0
  198. cosmotech_api/models/run_template_parameter_group_update_request.py +98 -0
  199. cosmotech_api/models/run_template_parameter_update_request.py +103 -0
  200. cosmotech_api/models/run_template_parameter_value.py +1 -1
  201. cosmotech_api/models/run_template_resource_sizing.py +2 -2
  202. cosmotech_api/models/run_template_step_source.py +1 -1
  203. cosmotech_api/models/run_template_update_request.py +107 -0
  204. cosmotech_api/models/runner.py +31 -28
  205. cosmotech_api/models/runner_access_control.py +1 -1
  206. cosmotech_api/models/runner_changed_parameter_value.py +7 -7
  207. cosmotech_api/models/runner_comparison_result.py +10 -10
  208. cosmotech_api/models/runner_create_request.py +154 -0
  209. cosmotech_api/models/runner_data_download_info.py +12 -9
  210. cosmotech_api/models/runner_data_download_job.py +7 -7
  211. cosmotech_api/models/runner_edit_info.py +90 -0
  212. cosmotech_api/models/runner_job_state.py +1 -1
  213. cosmotech_api/models/runner_last_run.py +7 -7
  214. cosmotech_api/models/runner_parent_last_run.py +7 -7
  215. cosmotech_api/models/runner_resource_sizing.py +1 -1
  216. cosmotech_api/models/runner_role.py +1 -1
  217. cosmotech_api/models/runner_root_last_run.py +7 -7
  218. cosmotech_api/models/runner_run_template_parameter_value.py +1 -1
  219. cosmotech_api/models/runner_security.py +1 -1
  220. cosmotech_api/models/runner_update_request.py +123 -0
  221. cosmotech_api/models/runner_validation_status.py +1 -1
  222. cosmotech_api/models/scenario.py +10 -10
  223. cosmotech_api/models/scenario_access_control.py +7 -7
  224. cosmotech_api/models/scenario_changed_parameter_value.py +7 -7
  225. cosmotech_api/models/scenario_comparison_result.py +10 -10
  226. cosmotech_api/models/scenario_data_download_info.py +7 -7
  227. cosmotech_api/models/scenario_data_download_job.py +7 -7
  228. cosmotech_api/models/scenario_job_state.py +1 -1
  229. cosmotech_api/models/scenario_last_run.py +7 -7
  230. cosmotech_api/models/scenario_resource_sizing.py +7 -7
  231. cosmotech_api/models/scenario_role.py +7 -7
  232. cosmotech_api/models/scenario_run.py +13 -13
  233. cosmotech_api/models/scenario_run_container.py +10 -10
  234. cosmotech_api/models/scenario_run_container_artifact.py +7 -7
  235. cosmotech_api/models/scenario_run_container_logs.py +7 -7
  236. cosmotech_api/models/scenario_run_logs.py +10 -10
  237. cosmotech_api/models/scenario_run_resource_requested.py +7 -7
  238. cosmotech_api/models/scenario_run_search.py +7 -7
  239. cosmotech_api/models/scenario_run_search_state.py +1 -1
  240. cosmotech_api/models/scenario_run_start_containers.py +10 -10
  241. cosmotech_api/models/scenario_run_state.py +1 -1
  242. cosmotech_api/models/scenario_run_status.py +10 -10
  243. cosmotech_api/models/scenario_run_status_node.py +7 -7
  244. cosmotech_api/models/scenario_run_template_parameter_value.py +7 -7
  245. cosmotech_api/models/scenario_security.py +10 -10
  246. cosmotech_api/models/scenario_validation_status.py +1 -1
  247. cosmotech_api/models/send_run_data_request.py +5 -5
  248. cosmotech_api/models/solution.py +45 -29
  249. cosmotech_api/models/solution_access_control.py +4 -4
  250. cosmotech_api/models/solution_create_request.py +139 -0
  251. cosmotech_api/models/solution_edit_info.py +90 -0
  252. cosmotech_api/models/solution_role.py +3 -3
  253. cosmotech_api/models/solution_security.py +4 -4
  254. cosmotech_api/models/solution_update_request.py +133 -0
  255. cosmotech_api/models/source_info.py +1 -1
  256. cosmotech_api/models/sub_dataset_graph_query.py +1 -1
  257. cosmotech_api/models/twin_graph_batch_result.py +1 -1
  258. cosmotech_api/models/twin_graph_hash.py +7 -7
  259. cosmotech_api/models/twin_graph_query.py +7 -7
  260. cosmotech_api/models/twincache_status_enum.py +1 -1
  261. cosmotech_api/models/validator.py +7 -7
  262. cosmotech_api/models/workspace.py +38 -30
  263. cosmotech_api/models/workspace_access_control.py +4 -4
  264. cosmotech_api/models/workspace_create_request.py +117 -0
  265. cosmotech_api/models/workspace_edit_info.py +90 -0
  266. cosmotech_api/models/workspace_file.py +4 -4
  267. cosmotech_api/models/workspace_role.py +3 -3
  268. cosmotech_api/models/workspace_secret.py +7 -7
  269. cosmotech_api/models/workspace_security.py +4 -4
  270. cosmotech_api/models/workspace_solution.py +14 -6
  271. cosmotech_api/models/workspace_update_request.py +109 -0
  272. cosmotech_api/models/workspace_web_app.py +4 -4
  273. cosmotech_api/rest.py +3 -2
  274. cosmotech_api-5.0.0b3.dist-info/METADATA +27 -0
  275. cosmotech_api-5.0.0b3.dist-info/RECORD +293 -0
  276. {cosmotech_api-4.0.0.dev9.dist-info → cosmotech_api-5.0.0b3.dist-info}/WHEEL +1 -1
  277. {cosmotech_api-4.0.0.dev9.dist-info → cosmotech_api-5.0.0b3.dist-info/licenses}/LICENSE +1 -1
  278. cosmotech_api-4.0.0.dev9.dist-info/METADATA +0 -18
  279. cosmotech_api-4.0.0.dev9.dist-info/RECORD +0 -262
  280. {cosmotech_api-4.0.0.dev9.dist-info → cosmotech_api-5.0.0b3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,103 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Cosmo Tech Platform API
5
+
6
+ Cosmo Tech Platform API
7
+
8
+ The version of the OpenAPI document: 5.0.0-beta3
9
+ Contact: platform@cosmotech.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing_extensions import Annotated
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class CreateInfo(BaseModel):
28
+ """
29
+ CreateInfo
30
+ """ # noqa: E501
31
+ timestamp: StrictInt = Field(description="The timestamp of the creation in millisecond")
32
+ user_id: StrictStr = Field(description="The id of the user who did the creation", alias="userId")
33
+ runner_id: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="The runner id which has created the dataset (nullable)", alias="runnerId")
34
+ __properties: ClassVar[List[str]] = ["timestamp", "userId", "runnerId"]
35
+
36
+ @field_validator('runner_id')
37
+ def runner_id_validate_regular_expression(cls, value):
38
+ """Validates the regular expression"""
39
+ if value is None:
40
+ return value
41
+
42
+ if not re.match(r"^r-\w{10,20}", value):
43
+ raise ValueError(r"must validate the regular expression /^r-\w{10,20}/")
44
+ return value
45
+
46
+ model_config = ConfigDict(
47
+ populate_by_name=True,
48
+ validate_assignment=True,
49
+ protected_namespaces=(),
50
+ )
51
+
52
+
53
+ def to_str(self) -> str:
54
+ """Returns the string representation of the model using alias"""
55
+ return pprint.pformat(self.model_dump(by_alias=True))
56
+
57
+ def to_json(self) -> str:
58
+ """Returns the JSON representation of the model using alias"""
59
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
60
+ return json.dumps(self.to_dict())
61
+
62
+ @classmethod
63
+ def from_json(cls, json_str: str) -> Optional[Self]:
64
+ """Create an instance of CreateInfo from a JSON string"""
65
+ return cls.from_dict(json.loads(json_str))
66
+
67
+ def to_dict(self) -> Dict[str, Any]:
68
+ """Return the dictionary representation of the model using alias.
69
+
70
+ This has the following differences from calling pydantic's
71
+ `self.model_dump(by_alias=True)`:
72
+
73
+ * `None` is only added to the output dict for nullable fields that
74
+ were set at model initialization. Other fields with value `None`
75
+ are ignored.
76
+ """
77
+ excluded_fields: Set[str] = set([
78
+ ])
79
+
80
+ _dict = self.model_dump(
81
+ by_alias=True,
82
+ exclude=excluded_fields,
83
+ exclude_none=True,
84
+ )
85
+ return _dict
86
+
87
+ @classmethod
88
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
89
+ """Create an instance of CreateInfo from a dict"""
90
+ if obj is None:
91
+ return None
92
+
93
+ if not isinstance(obj, dict):
94
+ return cls.model_validate(obj)
95
+
96
+ _obj = cls.model_validate({
97
+ "timestamp": obj.get("timestamp"),
98
+ "userId": obj.get("userId"),
99
+ "runnerId": obj.get("runnerId")
100
+ })
101
+ return _obj
102
+
103
+
@@ -5,7 +5,7 @@
5
5
 
6
6
  Cosmo Tech Platform API
7
7
 
8
- The version of the OpenAPI document: 4.0.0-onprem.9
8
+ The version of the OpenAPI document: 5.0.0-beta3
9
9
  Contact: platform@cosmotech.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -25,7 +25,7 @@ from typing_extensions import Self
25
25
 
26
26
  class CreatedRun(BaseModel):
27
27
  """
28
- Newle created Run info
28
+ Newly created Run info
29
29
  """ # noqa: E501
30
30
  id: StrictStr = Field(description="Run id")
31
31
  __properties: ClassVar[List[str]] = ["id"]
@@ -5,7 +5,7 @@
5
5
 
6
6
  Cosmo Tech Platform API
7
7
 
8
- The version of the OpenAPI document: 4.0.0-onprem.9
8
+ The version of the OpenAPI document: 5.0.0-beta3
9
9
  Contact: platform@cosmotech.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -18,46 +18,38 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
- from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
- from cosmotech_api.models.dataset_compatibility import DatasetCompatibility
24
- from cosmotech_api.models.dataset_connector import DatasetConnector
23
+ from typing_extensions import Annotated
24
+ from cosmotech_api.models.create_info import CreateInfo
25
+ from cosmotech_api.models.dataset_part import DatasetPart
25
26
  from cosmotech_api.models.dataset_security import DatasetSecurity
26
- from cosmotech_api.models.dataset_source_type import DatasetSourceType
27
- from cosmotech_api.models.ingestion_status_enum import IngestionStatusEnum
28
- from cosmotech_api.models.source_info import SourceInfo
29
- from cosmotech_api.models.twincache_status_enum import TwincacheStatusEnum
27
+ from cosmotech_api.models.edit_info import EditInfo
30
28
  from typing import Optional, Set
31
29
  from typing_extensions import Self
32
30
 
33
31
  class Dataset(BaseModel):
34
32
  """
35
- a Dataset
33
+ Dataset object
36
34
  """ # noqa: E501
37
- id: Optional[StrictStr] = Field(default=None, description="the Dataset unique identifier")
38
- name: Optional[StrictStr] = Field(default=None, description="the Dataset name")
39
- description: Optional[StrictStr] = Field(default=None, description="the Dataset description")
40
- owner_id: Optional[StrictStr] = Field(default=None, description="the User id which own this Dataset", alias="ownerId")
41
- owner_name: Optional[StrictStr] = Field(default=None, description="the name of the owner", alias="ownerName")
42
- organization_id: Optional[StrictStr] = Field(default=None, description="the Organization Id related to this Dataset", alias="organizationId")
43
- parent_id: Optional[StrictStr] = Field(default=None, description="the Dataset id which is the parent of this Dataset", alias="parentId")
44
- linked_workspace_id_list: Optional[List[StrictStr]] = Field(default=None, description="list of workspace linked to this dataset", alias="linkedWorkspaceIdList")
45
- twingraph_id: Optional[StrictStr] = Field(default=None, description="the twin graph id", alias="twingraphId")
46
- main: Optional[StrictBool] = Field(default=None, description="is this the main dataset")
47
- creation_date: Optional[StrictInt] = Field(default=None, description="the Dataset creation date", alias="creationDate")
48
- refresh_date: Optional[StrictInt] = Field(default=None, description="the last time a refresh was done", alias="refreshDate")
49
- source_type: Optional[DatasetSourceType] = Field(default=None, alias="sourceType")
50
- source: Optional[SourceInfo] = None
51
- ingestion_status: Optional[IngestionStatusEnum] = Field(default=None, alias="ingestionStatus")
52
- twincache_status: Optional[TwincacheStatusEnum] = Field(default=None, alias="twincacheStatus")
53
- queries: Optional[List[StrictStr]] = Field(default=None, description="the list of queries")
54
- tags: Optional[List[StrictStr]] = Field(default=None, description="the list of tags")
55
- connector: Optional[DatasetConnector] = None
56
- fragments_ids: Optional[List[StrictStr]] = Field(default=None, description="the list of other Datasets ids to compose as fragments", alias="fragmentsIds")
57
- validator_id: Optional[StrictStr] = Field(default=None, description="the validator id", alias="validatorId")
58
- compatibility: Optional[List[DatasetCompatibility]] = Field(default=None, description="the list of compatible Solutions versions")
59
- security: Optional[DatasetSecurity] = None
60
- __properties: ClassVar[List[str]] = ["id", "name", "description", "ownerId", "ownerName", "organizationId", "parentId", "linkedWorkspaceIdList", "twingraphId", "main", "creationDate", "refreshDate", "sourceType", "source", "ingestionStatus", "twincacheStatus", "queries", "tags", "connector", "fragmentsIds", "validatorId", "compatibility", "security"]
35
+ id: Annotated[str, Field(strict=True)]
36
+ name: Annotated[str, Field(min_length=1, strict=True, max_length=50)]
37
+ description: Optional[StrictStr] = None
38
+ organization_id: StrictStr = Field(description="the associated Organization Id", alias="organizationId")
39
+ workspace_id: StrictStr = Field(description="the associated Workspace Id", alias="workspaceId")
40
+ tags: List[StrictStr] = Field(description="the list of tags")
41
+ parts: List[DatasetPart]
42
+ create_info: CreateInfo = Field(description="The details of the Dataset creation", alias="createInfo")
43
+ update_info: EditInfo = Field(description="The details of the Dataset last update", alias="updateInfo")
44
+ security: DatasetSecurity
45
+ __properties: ClassVar[List[str]] = ["id", "name", "description", "organizationId", "workspaceId", "tags", "parts", "createInfo", "updateInfo", "security"]
46
+
47
+ @field_validator('id')
48
+ def id_validate_regular_expression(cls, value):
49
+ """Validates the regular expression"""
50
+ if not re.match(r"^d-\w{10,20}", value):
51
+ raise ValueError(r"must validate the regular expression /^d-\w{10,20}/")
52
+ return value
61
53
 
62
54
  model_config = ConfigDict(
63
55
  populate_by_name=True,
@@ -91,18 +83,10 @@ class Dataset(BaseModel):
91
83
  are ignored.
92
84
  * OpenAPI `readOnly` fields are excluded.
93
85
  * OpenAPI `readOnly` fields are excluded.
94
- * OpenAPI `readOnly` fields are excluded.
95
- * OpenAPI `readOnly` fields are excluded.
96
- * OpenAPI `readOnly` fields are excluded.
97
- * OpenAPI `readOnly` fields are excluded.
98
86
  """
99
87
  excluded_fields: Set[str] = set([
100
- "id",
101
- "owner_id",
102
- "owner_name",
103
88
  "organization_id",
104
- "creation_date",
105
- "refresh_date",
89
+ "workspace_id",
106
90
  ])
107
91
 
108
92
  _dict = self.model_dump(
@@ -110,32 +94,22 @@ class Dataset(BaseModel):
110
94
  exclude=excluded_fields,
111
95
  exclude_none=True,
112
96
  )
113
- # override the default output from pydantic by calling `to_dict()` of source
114
- if self.source:
115
- _dict['source'] = self.source.to_dict()
116
- # override the default output from pydantic by calling `to_dict()` of connector
117
- if self.connector:
118
- _dict['connector'] = self.connector.to_dict()
119
- # override the default output from pydantic by calling `to_dict()` of each item in compatibility (list)
97
+ # override the default output from pydantic by calling `to_dict()` of each item in parts (list)
120
98
  _items = []
121
- if self.compatibility:
122
- for _item_compatibility in self.compatibility:
123
- if _item_compatibility:
124
- _items.append(_item_compatibility.to_dict())
125
- _dict['compatibility'] = _items
99
+ if self.parts:
100
+ for _item_parts in self.parts:
101
+ if _item_parts:
102
+ _items.append(_item_parts.to_dict())
103
+ _dict['parts'] = _items
104
+ # override the default output from pydantic by calling `to_dict()` of create_info
105
+ if self.create_info:
106
+ _dict['createInfo'] = self.create_info.to_dict()
107
+ # override the default output from pydantic by calling `to_dict()` of update_info
108
+ if self.update_info:
109
+ _dict['updateInfo'] = self.update_info.to_dict()
126
110
  # override the default output from pydantic by calling `to_dict()` of security
127
111
  if self.security:
128
112
  _dict['security'] = self.security.to_dict()
129
- # set to None if ingestion_status (nullable) is None
130
- # and model_fields_set contains the field
131
- if self.ingestion_status is None and "ingestion_status" in self.model_fields_set:
132
- _dict['ingestionStatus'] = None
133
-
134
- # set to None if twincache_status (nullable) is None
135
- # and model_fields_set contains the field
136
- if self.twincache_status is None and "twincache_status" in self.model_fields_set:
137
- _dict['twincacheStatus'] = None
138
-
139
113
  return _dict
140
114
 
141
115
  @classmethod
@@ -151,25 +125,12 @@ class Dataset(BaseModel):
151
125
  "id": obj.get("id"),
152
126
  "name": obj.get("name"),
153
127
  "description": obj.get("description"),
154
- "ownerId": obj.get("ownerId"),
155
- "ownerName": obj.get("ownerName"),
156
128
  "organizationId": obj.get("organizationId"),
157
- "parentId": obj.get("parentId"),
158
- "linkedWorkspaceIdList": obj.get("linkedWorkspaceIdList"),
159
- "twingraphId": obj.get("twingraphId"),
160
- "main": obj.get("main"),
161
- "creationDate": obj.get("creationDate"),
162
- "refreshDate": obj.get("refreshDate"),
163
- "sourceType": obj.get("sourceType"),
164
- "source": SourceInfo.from_dict(obj["source"]) if obj.get("source") is not None else None,
165
- "ingestionStatus": obj.get("ingestionStatus"),
166
- "twincacheStatus": obj.get("twincacheStatus"),
167
- "queries": obj.get("queries"),
129
+ "workspaceId": obj.get("workspaceId"),
168
130
  "tags": obj.get("tags"),
169
- "connector": DatasetConnector.from_dict(obj["connector"]) if obj.get("connector") is not None else None,
170
- "fragmentsIds": obj.get("fragmentsIds"),
171
- "validatorId": obj.get("validatorId"),
172
- "compatibility": [DatasetCompatibility.from_dict(_item) for _item in obj["compatibility"]] if obj.get("compatibility") is not None else None,
131
+ "parts": [DatasetPart.from_dict(_item) for _item in obj["parts"]] if obj.get("parts") is not None else None,
132
+ "createInfo": CreateInfo.from_dict(obj["createInfo"]) if obj.get("createInfo") is not None else None,
133
+ "updateInfo": EditInfo.from_dict(obj["updateInfo"]) if obj.get("updateInfo") is not None else None,
173
134
  "security": DatasetSecurity.from_dict(obj["security"]) if obj.get("security") is not None else None
174
135
  })
175
136
  return _obj
@@ -5,7 +5,7 @@
5
5
 
6
6
  Cosmo Tech Platform API
7
7
 
8
- The version of the OpenAPI document: 4.0.0-onprem.9
8
+ The version of the OpenAPI document: 5.0.0-beta3
9
9
  Contact: platform@cosmotech.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Cosmo Tech Platform API
7
7
 
8
- The version of the OpenAPI document: 4.0.0-onprem.9
8
+ The version of the OpenAPI document: 5.0.1-SNAPSHOT
9
9
  Contact: platform@cosmotech.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Cosmo Tech Platform API
7
7
 
8
- The version of the OpenAPI document: 4.0.0-onprem.9
8
+ The version of the OpenAPI document: 5.0.1-SNAPSHOT
9
9
  Contact: platform@cosmotech.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Cosmo Tech Platform API
7
7
 
8
- The version of the OpenAPI document: 4.0.0-onprem.9
8
+ The version of the OpenAPI document: 5.0.1-SNAPSHOT
9
9
  Contact: platform@cosmotech.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -0,0 +1,121 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Cosmo Tech Platform API
5
+
6
+ Cosmo Tech Platform API
7
+
8
+ The version of the OpenAPI document: 5.0.0-beta3
9
+ Contact: platform@cosmotech.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing_extensions import Annotated
24
+ from cosmotech_api.models.dataset_part_create_request import DatasetPartCreateRequest
25
+ from cosmotech_api.models.dataset_security import DatasetSecurity
26
+ from typing import Optional, Set
27
+ from typing_extensions import Self
28
+
29
+ class DatasetCreateRequest(BaseModel):
30
+ """
31
+ Dataset creation request
32
+ """ # noqa: E501
33
+ name: Annotated[str, Field(min_length=1, strict=True, max_length=50)]
34
+ description: Optional[StrictStr] = None
35
+ tags: Optional[List[StrictStr]] = None
36
+ parts: Optional[List[DatasetPartCreateRequest]] = None
37
+ security: Optional[DatasetSecurity] = None
38
+ runner_id: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, alias="runnerId")
39
+ __properties: ClassVar[List[str]] = ["name", "description", "tags", "parts", "security", "runnerId"]
40
+
41
+ @field_validator('runner_id')
42
+ def runner_id_validate_regular_expression(cls, value):
43
+ """Validates the regular expression"""
44
+ if value is None:
45
+ return value
46
+
47
+ if not re.match(r"^r-\w{10,20}", value):
48
+ raise ValueError(r"must validate the regular expression /^r-\w{10,20}/")
49
+ return value
50
+
51
+ model_config = ConfigDict(
52
+ populate_by_name=True,
53
+ validate_assignment=True,
54
+ protected_namespaces=(),
55
+ )
56
+
57
+
58
+ def to_str(self) -> str:
59
+ """Returns the string representation of the model using alias"""
60
+ return pprint.pformat(self.model_dump(by_alias=True))
61
+
62
+ def to_json(self) -> str:
63
+ """Returns the JSON representation of the model using alias"""
64
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
65
+ return json.dumps(self.to_dict())
66
+
67
+ @classmethod
68
+ def from_json(cls, json_str: str) -> Optional[Self]:
69
+ """Create an instance of DatasetCreateRequest from a JSON string"""
70
+ return cls.from_dict(json.loads(json_str))
71
+
72
+ def to_dict(self) -> Dict[str, Any]:
73
+ """Return the dictionary representation of the model using alias.
74
+
75
+ This has the following differences from calling pydantic's
76
+ `self.model_dump(by_alias=True)`:
77
+
78
+ * `None` is only added to the output dict for nullable fields that
79
+ were set at model initialization. Other fields with value `None`
80
+ are ignored.
81
+ """
82
+ excluded_fields: Set[str] = set([
83
+ ])
84
+
85
+ _dict = self.model_dump(
86
+ by_alias=True,
87
+ exclude=excluded_fields,
88
+ exclude_none=True,
89
+ )
90
+ # override the default output from pydantic by calling `to_dict()` of each item in parts (list)
91
+ _items = []
92
+ if self.parts:
93
+ for _item_parts in self.parts:
94
+ if _item_parts:
95
+ _items.append(_item_parts.to_dict())
96
+ _dict['parts'] = _items
97
+ # override the default output from pydantic by calling `to_dict()` of security
98
+ if self.security:
99
+ _dict['security'] = self.security.to_dict()
100
+ return _dict
101
+
102
+ @classmethod
103
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
104
+ """Create an instance of DatasetCreateRequest from a dict"""
105
+ if obj is None:
106
+ return None
107
+
108
+ if not isinstance(obj, dict):
109
+ return cls.model_validate(obj)
110
+
111
+ _obj = cls.model_validate({
112
+ "name": obj.get("name"),
113
+ "description": obj.get("description"),
114
+ "tags": obj.get("tags"),
115
+ "parts": [DatasetPartCreateRequest.from_dict(_item) for _item in obj["parts"]] if obj.get("parts") is not None else None,
116
+ "security": DatasetSecurity.from_dict(obj["security"]) if obj.get("security") is not None else None,
117
+ "runnerId": obj.get("runnerId")
118
+ })
119
+ return _obj
120
+
121
+
@@ -0,0 +1,130 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Cosmo Tech Platform API
5
+
6
+ Cosmo Tech Platform API
7
+
8
+ The version of the OpenAPI document: 5.0.0-beta3
9
+ Contact: platform@cosmotech.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing_extensions import Annotated
24
+ from cosmotech_api.models.dataset_part_type_enum import DatasetPartTypeEnum
25
+ from cosmotech_api.models.edit_info import EditInfo
26
+ from typing import Optional, Set
27
+ from typing_extensions import Self
28
+
29
+ class DatasetPart(BaseModel):
30
+ """
31
+ Dataset part object
32
+ """ # noqa: E501
33
+ id: Annotated[str, Field(strict=True)]
34
+ name: Annotated[str, Field(min_length=1, strict=True, max_length=50)]
35
+ source_name: Annotated[str, Field(min_length=1, strict=True, max_length=50)] = Field(description="the source data name (e.g. filename associated to the dataset part)", alias="sourceName")
36
+ description: Optional[StrictStr] = None
37
+ tags: List[StrictStr]
38
+ type: DatasetPartTypeEnum
39
+ organization_id: StrictStr = Field(description="the associated Organization Id", alias="organizationId")
40
+ workspace_id: StrictStr = Field(description="the associated Workspace Id", alias="workspaceId")
41
+ dataset_id: StrictStr = Field(description="the associated Dataset Id", alias="datasetId")
42
+ create_info: EditInfo = Field(description="The details of the Dataset creation", alias="createInfo")
43
+ update_info: EditInfo = Field(description="The details of the Dataset last update", alias="updateInfo")
44
+ __properties: ClassVar[List[str]] = ["id", "name", "sourceName", "description", "tags", "type", "organizationId", "workspaceId", "datasetId", "createInfo", "updateInfo"]
45
+
46
+ @field_validator('id')
47
+ def id_validate_regular_expression(cls, value):
48
+ """Validates the regular expression"""
49
+ if not re.match(r"^dp-\w{10,20}", value):
50
+ raise ValueError(r"must validate the regular expression /^dp-\w{10,20}/")
51
+ return value
52
+
53
+ model_config = ConfigDict(
54
+ populate_by_name=True,
55
+ validate_assignment=True,
56
+ protected_namespaces=(),
57
+ )
58
+
59
+
60
+ def to_str(self) -> str:
61
+ """Returns the string representation of the model using alias"""
62
+ return pprint.pformat(self.model_dump(by_alias=True))
63
+
64
+ def to_json(self) -> str:
65
+ """Returns the JSON representation of the model using alias"""
66
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
67
+ return json.dumps(self.to_dict())
68
+
69
+ @classmethod
70
+ def from_json(cls, json_str: str) -> Optional[Self]:
71
+ """Create an instance of DatasetPart from a JSON string"""
72
+ return cls.from_dict(json.loads(json_str))
73
+
74
+ def to_dict(self) -> Dict[str, Any]:
75
+ """Return the dictionary representation of the model using alias.
76
+
77
+ This has the following differences from calling pydantic's
78
+ `self.model_dump(by_alias=True)`:
79
+
80
+ * `None` is only added to the output dict for nullable fields that
81
+ were set at model initialization. Other fields with value `None`
82
+ are ignored.
83
+ * OpenAPI `readOnly` fields are excluded.
84
+ * OpenAPI `readOnly` fields are excluded.
85
+ * OpenAPI `readOnly` fields are excluded.
86
+ """
87
+ excluded_fields: Set[str] = set([
88
+ "organization_id",
89
+ "workspace_id",
90
+ "dataset_id",
91
+ ])
92
+
93
+ _dict = self.model_dump(
94
+ by_alias=True,
95
+ exclude=excluded_fields,
96
+ exclude_none=True,
97
+ )
98
+ # override the default output from pydantic by calling `to_dict()` of create_info
99
+ if self.create_info:
100
+ _dict['createInfo'] = self.create_info.to_dict()
101
+ # override the default output from pydantic by calling `to_dict()` of update_info
102
+ if self.update_info:
103
+ _dict['updateInfo'] = self.update_info.to_dict()
104
+ return _dict
105
+
106
+ @classmethod
107
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
108
+ """Create an instance of DatasetPart from a dict"""
109
+ if obj is None:
110
+ return None
111
+
112
+ if not isinstance(obj, dict):
113
+ return cls.model_validate(obj)
114
+
115
+ _obj = cls.model_validate({
116
+ "id": obj.get("id"),
117
+ "name": obj.get("name"),
118
+ "sourceName": obj.get("sourceName"),
119
+ "description": obj.get("description"),
120
+ "tags": obj.get("tags"),
121
+ "type": obj.get("type") if obj.get("type") is not None else DatasetPartTypeEnum.RELATIONAL,
122
+ "organizationId": obj.get("organizationId"),
123
+ "workspaceId": obj.get("workspaceId"),
124
+ "datasetId": obj.get("datasetId"),
125
+ "createInfo": EditInfo.from_dict(obj["createInfo"]) if obj.get("createInfo") is not None else None,
126
+ "updateInfo": EditInfo.from_dict(obj["updateInfo"]) if obj.get("updateInfo") is not None else None
127
+ })
128
+ return _obj
129
+
130
+