octostar-python-client 0.1.759__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.
Files changed (257) hide show
  1. octostar/__init__.py +9 -0
  2. octostar/api/__init__.py +1 -0
  3. octostar/api/apps/__init__.py +0 -0
  4. octostar/api/apps/deploy_app.py +210 -0
  5. octostar/api/apps/execute_app_job.py +188 -0
  6. octostar/api/apps/get_app_logs.py +210 -0
  7. octostar/api/apps/get_apps_url.py +188 -0
  8. octostar/api/apps/get_job_logs.py +210 -0
  9. octostar/api/apps/get_job_progress.py +162 -0
  10. octostar/api/apps/kill_job.py +160 -0
  11. octostar/api/apps/list_app_jobs.py +276 -0
  12. octostar/api/apps/list_apps.py +251 -0
  13. octostar/api/apps/set_job_progress.py +216 -0
  14. octostar/api/apps/undeploy_app.py +160 -0
  15. octostar/api/metadata/__init__.py +0 -0
  16. octostar/api/metadata/get_version.py +232 -0
  17. octostar/api/metadata/get_whoami.py +232 -0
  18. octostar/api/notifications/__init__.py +0 -0
  19. octostar/api/notifications/delete_stream.py +222 -0
  20. octostar/api/notifications/get_subscriptions.py +240 -0
  21. octostar/api/notifications/publish_notification.py +275 -0
  22. octostar/api/notifications/pull_events_from_stream.py +282 -0
  23. octostar/api/notifications/push_event_to_stream.py +265 -0
  24. octostar/api/notifications/toast.py +264 -0
  25. octostar/api/ontology/__init__.py +0 -0
  26. octostar/api/ontology/fetch_ontology_data.py +275 -0
  27. octostar/api/ontology/get_ontologies.py +237 -0
  28. octostar/api/ontology/multi_query.py +297 -0
  29. octostar/api/ontology/query.py +276 -0
  30. octostar/api/pipeline/__init__.py +1 -0
  31. octostar/api/pipeline/get_processing_status.py +185 -0
  32. octostar/api/pipeline/update_processing_status.py +164 -0
  33. octostar/api/search/__init__.py +0 -0
  34. octostar/api/search/get_annotations.py +153 -0
  35. octostar/api/workspace_data/__init__.py +0 -0
  36. octostar/api/workspace_data/delete_blob.py +212 -0
  37. octostar/api/workspace_data/delete_entities.py +326 -0
  38. octostar/api/workspace_data/download_blob.py +235 -0
  39. octostar/api/workspace_data/get_attachment.py +336 -0
  40. octostar/api/workspace_data/get_files_tree.py +397 -0
  41. octostar/api/workspace_data/upload_blob.py +235 -0
  42. octostar/api/workspace_data/upsert_entities.py +284 -0
  43. octostar/api/workspace_permissions/__init__.py +0 -0
  44. octostar/api/workspace_permissions/get_permissions.py +325 -0
  45. octostar/api/workspace_tags/__init__.py +0 -0
  46. octostar/api/workspace_tags/delete_tag_from_entities.py +141 -0
  47. octostar/api/workspace_tags/tag_entities.py +180 -0
  48. octostar/client.py +492 -0
  49. octostar/errors.py +50 -0
  50. octostar/models/__init__.py +249 -0
  51. octostar/models/acknowledgement.py +74 -0
  52. octostar/models/acknowledgement_with_data.py +82 -0
  53. octostar/models/app_status.py +239 -0
  54. octostar/models/app_status_annotations.py +66 -0
  55. octostar/models/app_status_labels.py +69 -0
  56. octostar/models/app_with_url.py +82 -0
  57. octostar/models/child_processing_status.py +118 -0
  58. octostar/models/delete_entities_response_401.py +74 -0
  59. octostar/models/delete_entities_response_409.py +82 -0
  60. octostar/models/delete_entities_response_500.py +82 -0
  61. octostar/models/delete_stream_response_401.py +74 -0
  62. octostar/models/delete_tag_from_entities_response_401.py +74 -0
  63. octostar/models/deploy_app_json_body.py +90 -0
  64. octostar/models/deploy_app_json_body_secrets.py +65 -0
  65. octostar/models/deploy_app_response_200.py +98 -0
  66. octostar/models/deploy_app_response_200_data.py +60 -0
  67. octostar/models/deploy_app_response_400.py +82 -0
  68. octostar/models/deploy_app_response_403.py +82 -0
  69. octostar/models/deploy_app_response_404.py +82 -0
  70. octostar/models/deploy_app_response_409.py +82 -0
  71. octostar/models/deploy_app_response_500.py +82 -0
  72. octostar/models/entity.py +80 -0
  73. octostar/models/entity_response.py +99 -0
  74. octostar/models/entity_response_s3_urls.py +93 -0
  75. octostar/models/entity_response_s3_urls_additional_property.py +105 -0
  76. octostar/models/entity_response_s3_urls_additional_property_fields.py +114 -0
  77. octostar/models/execute_app_job_json_body.py +151 -0
  78. octostar/models/execute_app_job_json_body_annotation.py +65 -0
  79. octostar/models/execute_app_job_response_401.py +74 -0
  80. octostar/models/fetch_ontology_data_response_200.py +60 -0
  81. octostar/models/fetch_ontology_data_response_401.py +74 -0
  82. octostar/models/fetch_ontology_data_response_500.py +82 -0
  83. octostar/models/get_app_logs_response_401.py +74 -0
  84. octostar/models/get_app_logs_response_404.py +74 -0
  85. octostar/models/get_app_logs_response_500.py +82 -0
  86. octostar/models/get_apps_url_json_body.py +76 -0
  87. octostar/models/get_apps_url_response_401.py +74 -0
  88. octostar/models/get_apps_url_response_500.py +82 -0
  89. octostar/models/get_attachment_response_200.py +74 -0
  90. octostar/models/get_attachment_response_401.py +74 -0
  91. octostar/models/get_files_tree_response_200.py +106 -0
  92. octostar/models/get_files_tree_response_200_status.py +8 -0
  93. octostar/models/get_files_tree_response_400.py +111 -0
  94. octostar/models/get_files_tree_response_400_data.py +60 -0
  95. octostar/models/get_files_tree_response_400_status.py +8 -0
  96. octostar/models/get_files_tree_response_401.py +74 -0
  97. octostar/models/get_files_tree_response_500.py +111 -0
  98. octostar/models/get_files_tree_response_500_data.py +60 -0
  99. octostar/models/get_files_tree_response_500_status.py +8 -0
  100. octostar/models/get_job_logs_response_401.py +74 -0
  101. octostar/models/get_job_logs_response_404.py +74 -0
  102. octostar/models/get_job_logs_response_500.py +82 -0
  103. octostar/models/get_job_progress_response_401.py +74 -0
  104. octostar/models/get_object_response_401.py +74 -0
  105. octostar/models/get_ontologies_response_401.py +74 -0
  106. octostar/models/get_ontologies_response_500.py +81 -0
  107. octostar/models/get_permissions_response_200.py +98 -0
  108. octostar/models/get_permissions_response_400.py +82 -0
  109. octostar/models/get_permissions_response_401.py +74 -0
  110. octostar/models/get_permissions_response_500.py +82 -0
  111. octostar/models/get_processing_status_response_200.py +104 -0
  112. octostar/models/get_processing_status_response_200_data.py +87 -0
  113. octostar/models/get_processing_status_response_400.py +82 -0
  114. octostar/models/get_processing_status_response_500.py +82 -0
  115. octostar/models/get_subscriptions_response_200_item.py +74 -0
  116. octostar/models/get_version_response_200.py +74 -0
  117. octostar/models/get_version_response_404.py +74 -0
  118. octostar/models/get_whoami_response_200.py +129 -0
  119. octostar/models/get_whoami_response_401.py +74 -0
  120. octostar/models/insert_entity.py +114 -0
  121. octostar/models/insert_entity_base.py +266 -0
  122. octostar/models/insert_entity_relationships_item.py +107 -0
  123. octostar/models/insert_entity_request.py +94 -0
  124. octostar/models/internal_server_error.py +82 -0
  125. octostar/models/job_execution_result.py +146 -0
  126. octostar/models/job_status.py +196 -0
  127. octostar/models/job_status_labels.py +60 -0
  128. octostar/models/job_with_url.py +82 -0
  129. octostar/models/kill_job_response_401.py +74 -0
  130. octostar/models/list_app_jobs_response_401.py +74 -0
  131. octostar/models/list_app_jobs_response_500.py +82 -0
  132. octostar/models/list_apps_response_401.py +74 -0
  133. octostar/models/list_apps_response_500.py +82 -0
  134. octostar/models/multi_query_json_body.py +100 -0
  135. octostar/models/multi_query_json_body_queries_item.py +80 -0
  136. octostar/models/multi_query_response_400.py +82 -0
  137. octostar/models/multi_query_response_401.py +74 -0
  138. octostar/models/not_found_error.py +74 -0
  139. octostar/models/octostar_event.py +96 -0
  140. octostar/models/octostar_event_octostar_payload.py +100 -0
  141. octostar/models/octostar_event_octostar_payload_level.py +11 -0
  142. octostar/models/os_notification.py +122 -0
  143. octostar/models/processing_status.py +262 -0
  144. octostar/models/processing_status_code.py +14 -0
  145. octostar/models/progress_request.py +73 -0
  146. octostar/models/publish_notification_response_401.py +74 -0
  147. octostar/models/pull_events_from_stream_response_401.py +74 -0
  148. octostar/models/push_event_to_stream_response_401.py +74 -0
  149. octostar/models/query_json_body.py +101 -0
  150. octostar/models/query_json_body_params.py +60 -0
  151. octostar/models/query_response_400.py +82 -0
  152. octostar/models/query_response_401.py +74 -0
  153. octostar/models/set_job_progress_response_401.py +74 -0
  154. octostar/models/string_to_value_label_map.py +99 -0
  155. octostar/models/string_to_value_label_map_data.py +89 -0
  156. octostar/models/string_to_value_label_map_data_additional_property.py +80 -0
  157. octostar/models/successful_get_tags.py +103 -0
  158. octostar/models/successful_insertion.py +98 -0
  159. octostar/models/tag_entities_response_401.py +74 -0
  160. octostar/models/toast_level.py +11 -0
  161. octostar/models/toast_response_401.py +74 -0
  162. octostar/models/undeploy_app_response_401.py +74 -0
  163. octostar/models/update_processing_status_response_200.py +82 -0
  164. octostar/models/update_processing_status_response_400.py +82 -0
  165. octostar/models/update_processing_status_response_500.py +82 -0
  166. octostar/models/upsert_entities_response_401.py +74 -0
  167. octostar/models/upsert_entity.py +114 -0
  168. octostar/models/upsert_entity_base.py +266 -0
  169. octostar/models/upsert_entity_relationships_item.py +107 -0
  170. octostar/py.typed +1 -0
  171. octostar/types.py +54 -0
  172. octostar/utils/__init__.py +15 -0
  173. octostar/utils/chat/__init__.py +0 -0
  174. octostar/utils/chat/chat.py +513 -0
  175. octostar/utils/chat/detokenize.py +105 -0
  176. octostar/utils/chat/get_default_model.py +50 -0
  177. octostar/utils/chat/list_models.py +91 -0
  178. octostar/utils/chat/tokenize.py +105 -0
  179. octostar/utils/commons.py +226 -0
  180. octostar/utils/exceptions.py +134 -0
  181. octostar/utils/jobs/__init__.py +0 -0
  182. octostar/utils/jobs/apps/__init__.py +0 -0
  183. octostar/utils/jobs/apps/deploy_app.py +81 -0
  184. octostar/utils/jobs/apps/execute_app_job.py +114 -0
  185. octostar/utils/jobs/apps/get_app_logs.py +113 -0
  186. octostar/utils/jobs/apps/get_app_secret.py +102 -0
  187. octostar/utils/jobs/apps/get_apps_url.py +73 -0
  188. octostar/utils/jobs/apps/list_app_jobs.py +62 -0
  189. octostar/utils/jobs/apps/list_apps.py +126 -0
  190. octostar/utils/jobs/apps/undeploy_app.py +48 -0
  191. octostar/utils/jobs/get_job_logs.py +113 -0
  192. octostar/utils/jobs/get_job_progress.py +76 -0
  193. octostar/utils/jobs/kill_job.py +47 -0
  194. octostar/utils/jobs/set_job_progress.py +67 -0
  195. octostar/utils/meta/__init__.py +0 -0
  196. octostar/utils/meta/get_version.py +30 -0
  197. octostar/utils/meta/get_whoami.py +30 -0
  198. octostar/utils/notifications/__init__.py +0 -0
  199. octostar/utils/notifications/delete_stream.py +58 -0
  200. octostar/utils/notifications/get_my_subscriptions.py +49 -0
  201. octostar/utils/notifications/publish_notification.py +73 -0
  202. octostar/utils/notifications/pull_event_from_stream.py +63 -0
  203. octostar/utils/notifications/pull_events_from_stream.py +64 -0
  204. octostar/utils/notifications/push_event_to_stream.py +109 -0
  205. octostar/utils/notifications/push_events_to_stream.py +137 -0
  206. octostar/utils/notifications/toast.py +92 -0
  207. octostar/utils/ontology/__init__.py +10 -0
  208. octostar/utils/ontology/fetch_ontology_data.py +141 -0
  209. octostar/utils/ontology/get_ontologies.py +55 -0
  210. octostar/utils/ontology/multiquery_ontology.py +287 -0
  211. octostar/utils/ontology/query_ontology.py +186 -0
  212. octostar/utils/pipeline/__init__.py +1 -0
  213. octostar/utils/pipeline/get_processing_status.py +230 -0
  214. octostar/utils/pipeline/update_processing_status.py +286 -0
  215. octostar/utils/search/__init__.py +11 -0
  216. octostar/utils/search/bulk_update.py +138 -0
  217. octostar/utils/search/count.py +117 -0
  218. octostar/utils/search/get_entity_annotations.py +304 -0
  219. octostar/utils/search/get_index_definition.py +111 -0
  220. octostar/utils/search/multi_search.py +129 -0
  221. octostar/utils/workspace/__init__.py +0 -0
  222. octostar/utils/workspace/delete_entities.py +247 -0
  223. octostar/utils/workspace/delete_entity.py +81 -0
  224. octostar/utils/workspace/delete_relationship.py +78 -0
  225. octostar/utils/workspace/delete_relationships.py +85 -0
  226. octostar/utils/workspace/delete_temporary_blob.py +85 -0
  227. octostar/utils/workspace/extract_entities.py +140 -0
  228. octostar/utils/workspace/get_filepath_from_item.py +85 -0
  229. octostar/utils/workspace/get_filepaths_from_items.py +100 -0
  230. octostar/utils/workspace/get_files_tree.py +102 -0
  231. octostar/utils/workspace/get_item_from_filepath.py +102 -0
  232. octostar/utils/workspace/get_items_from_filepaths.py +108 -0
  233. octostar/utils/workspace/linkcharts/__init__.py +0 -0
  234. octostar/utils/workspace/linkcharts/create_linkchart.py +241 -0
  235. octostar/utils/workspace/permissions/PermissionLevel.py +8 -0
  236. octostar/utils/workspace/permissions/__init__.py +1 -0
  237. octostar/utils/workspace/permissions/get_permissions.py +81 -0
  238. octostar/utils/workspace/read_attachment.py +284 -0
  239. octostar/utils/workspace/read_file.py +113 -0
  240. octostar/utils/workspace/read_temporary_blob.py +428 -0
  241. octostar/utils/workspace/saved_searches/__init__.py +0 -0
  242. octostar/utils/workspace/saved_searches/create_saved_search.py +183 -0
  243. octostar/utils/workspace/tags/__init__.py +0 -0
  244. octostar/utils/workspace/tags/delete_tag_from_entities.py +96 -0
  245. octostar/utils/workspace/tags/tag_entities.py +175 -0
  246. octostar/utils/workspace/upsert_entities.py +268 -0
  247. octostar/utils/workspace/upsert_entity.py +110 -0
  248. octostar/utils/workspace/upsert_relationship.py +128 -0
  249. octostar/utils/workspace/upsert_relationships.py +194 -0
  250. octostar/utils/workspace/write_attachment.py +263 -0
  251. octostar/utils/workspace/write_file.py +335 -0
  252. octostar/utils/workspace/write_temporary_blob.py +218 -0
  253. octostar_python_client-0.1.759.dist-info/METADATA +159 -0
  254. octostar_python_client-0.1.759.dist-info/RECORD +257 -0
  255. octostar_python_client-0.1.759.dist-info/WHEEL +5 -0
  256. octostar_python_client-0.1.759.dist-info/licenses/LICENSE +21 -0
  257. octostar_python_client-0.1.759.dist-info/top_level.txt +1 -0
@@ -0,0 +1,397 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Dict, List, Optional, Union, cast
3
+ from warnings import warn
4
+
5
+ import httpx
6
+
7
+ from ...client import AuthenticatedClient, Client, get_default_client
8
+ from ...types import Response, UNSET
9
+ from ... import errors
10
+
11
+ from typing import Dict
12
+ from ...models.get_files_tree_response_500 import GetFilesTreeResponse500
13
+ from ...types import UNSET, Unset
14
+ from ...models.get_files_tree_response_400 import GetFilesTreeResponse400
15
+ from typing import Union
16
+ from typing import cast
17
+ from typing import Optional
18
+ from ...models.get_files_tree_response_200 import GetFilesTreeResponse200
19
+ from ...models.get_files_tree_response_401 import GetFilesTreeResponse401
20
+
21
+
22
+ client_missing_msg = """No client was passed to this function. The default admin client will be used, but this is deprecated and will be removed soon.
23
+ Please create a client using octostar.client.make_client() and run the function via client.execute()."""
24
+
25
+
26
+ def _get_kwargs(
27
+ *,
28
+ client: Client = None,
29
+ os_workspace: Union[Unset, None, str] = UNSET,
30
+ root: Union[Unset, None, str] = UNSET,
31
+ recurse: Union[Unset, None, bool] = UNSET,
32
+ exclude_root: Union[Unset, None, bool] = UNSET,
33
+ flat: Union[Unset, None, bool] = UNSET,
34
+ minimal: Union[Unset, None, bool] = UNSET,
35
+ structure: Union[Unset, None, bool] = UNSET,
36
+ accept: Union[Unset, str] = "application/json",
37
+ ) -> Dict[str, Any]:
38
+ if not client:
39
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
40
+ client = get_default_client()
41
+ # raise RuntimeError("Missing client!")
42
+
43
+ base_url = client.get_base_url_v1()
44
+ url = "{}/api/v1/files/tree".format(base_url)
45
+
46
+ headers: Dict[str, str] = client.get_headers()
47
+ cookies: Dict[str, Any] = client.get_cookies()
48
+
49
+ if not isinstance(accept, Unset):
50
+ headers["Accept"] = accept
51
+
52
+ params: Dict[str, Any] = {}
53
+ params["os_workspace"] = os_workspace
54
+
55
+ params["root"] = root
56
+
57
+ params["recurse"] = recurse
58
+
59
+ params["exclude_root"] = exclude_root
60
+
61
+ params["flat"] = flat
62
+
63
+ params["minimal"] = minimal
64
+
65
+ params["structure"] = structure
66
+
67
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
68
+
69
+ return {
70
+ "method": "get",
71
+ "url": url,
72
+ "headers": headers,
73
+ "cookies": cookies,
74
+ "timeout": client.get_timeout(),
75
+ "follow_redirects": client.follow_redirects,
76
+ "params": params,
77
+ }
78
+
79
+
80
+ def _parse_response(*, client: Client = None, response: httpx.Response) -> Optional[
81
+ Union[
82
+ GetFilesTreeResponse200,
83
+ GetFilesTreeResponse400,
84
+ GetFilesTreeResponse401,
85
+ GetFilesTreeResponse500,
86
+ ]
87
+ ]:
88
+ if not client:
89
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
90
+ client = get_default_client()
91
+ # raise RuntimeError("Missing client!")
92
+ if response.status_code == HTTPStatus.OK:
93
+ response_200 = GetFilesTreeResponse200.from_dict(response.json())
94
+
95
+ return response_200
96
+ if response.status_code == HTTPStatus.BAD_REQUEST:
97
+ response_400 = GetFilesTreeResponse400.from_dict(response.json())
98
+
99
+ return response_400
100
+ if response.status_code == HTTPStatus.UNAUTHORIZED:
101
+ response_401 = GetFilesTreeResponse401.from_dict(response.json())
102
+
103
+ return response_401
104
+ if response.status_code == HTTPStatus.INTERNAL_SERVER_ERROR:
105
+ response_500 = GetFilesTreeResponse500.from_dict(response.json())
106
+
107
+ return response_500
108
+ if client.raise_on_unexpected_status:
109
+ raise errors.UnexpectedStatus(response.status_code, response.content)
110
+ else:
111
+ return None
112
+
113
+
114
+ def _build_response(*, client: Client = None, response: httpx.Response) -> Response[
115
+ Union[
116
+ GetFilesTreeResponse200,
117
+ GetFilesTreeResponse400,
118
+ GetFilesTreeResponse401,
119
+ GetFilesTreeResponse500,
120
+ ]
121
+ ]:
122
+ if not client:
123
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
124
+ client = get_default_client()
125
+ # raise RuntimeError("Missing client!")
126
+ response_kwargs = {
127
+ "status_code": HTTPStatus(response.status_code),
128
+ "content": response.content,
129
+ "headers": response.headers,
130
+ "parsed": _parse_response(client=client, response=response),
131
+ }
132
+ return Response(**response_kwargs)
133
+
134
+
135
+ def _build_chunk_response(
136
+ *, client: Client = None, response: httpx.Response, chunk: bytes
137
+ ) -> Response[
138
+ Union[
139
+ GetFilesTreeResponse200,
140
+ GetFilesTreeResponse400,
141
+ GetFilesTreeResponse401,
142
+ GetFilesTreeResponse500,
143
+ ]
144
+ ]:
145
+ if not client:
146
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
147
+ client = get_default_client()
148
+ # raise RuntimeError("Missing client!")
149
+ response_kwargs = {
150
+ "status_code": HTTPStatus(response.status_code),
151
+ "content": chunk,
152
+ "headers": response.headers,
153
+ "parsed": None, # cannot parse incomplete chunks of data, we leave it to the user
154
+ }
155
+ return Response(**response_kwargs)
156
+
157
+
158
+ def sync_detailed(
159
+ *,
160
+ client: Client = None,
161
+ os_workspace: Union[Unset, None, str] = UNSET,
162
+ root: Union[Unset, None, str] = UNSET,
163
+ recurse: Union[Unset, None, bool] = UNSET,
164
+ exclude_root: Union[Unset, None, bool] = UNSET,
165
+ flat: Union[Unset, None, bool] = UNSET,
166
+ minimal: Union[Unset, None, bool] = UNSET,
167
+ structure: Union[Unset, None, bool] = UNSET,
168
+ accept: Union[Unset, str] = "application/json",
169
+ ) -> Response[
170
+ Union[
171
+ GetFilesTreeResponse200,
172
+ GetFilesTreeResponse400,
173
+ GetFilesTreeResponse401,
174
+ GetFilesTreeResponse500,
175
+ ]
176
+ ]:
177
+ """## Get a view (subtree) of a workspace filesystem.
178
+
179
+ Get a view (subtree) of a workspace filesystem.
180
+
181
+ ### Args:
182
+ * `os_workspace`: os_workspace (Union[Unset, None, str]):
183
+ * `root`: root (Union[Unset, None, str]):
184
+ * `recurse`: recurse (Union[Unset, None, bool]):
185
+ * `exclude_root`: exclude_root (Union[Unset, None, bool]):
186
+ * `flat`: flat (Union[Unset, None, bool]):
187
+ * `minimal`: minimal (Union[Unset, None, bool]):
188
+ * `structure`: structure (Union[Unset, None, bool]):
189
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
190
+
191
+ ### Raises:
192
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
193
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
194
+
195
+ ## Returns:
196
+ * `Response[Union[GetFilesTreeResponse200, GetFilesTreeResponse400, GetFilesTreeResponse401, GetFilesTreeResponse500]]`
197
+ """
198
+
199
+ if not client:
200
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
201
+ client = get_default_client()
202
+ # raise RuntimeError("Missing client!")
203
+ kwargs = _get_kwargs(
204
+ client=client,
205
+ os_workspace=os_workspace,
206
+ root=root,
207
+ recurse=recurse,
208
+ exclude_root=exclude_root,
209
+ flat=flat,
210
+ minimal=minimal,
211
+ structure=structure,
212
+ accept=accept,
213
+ )
214
+
215
+ response = httpx.request(
216
+ verify=client.verify_ssl,
217
+ **kwargs,
218
+ )
219
+ if response.is_error:
220
+ print(
221
+ f"{str(response.status_code)} Error: {response.text} for request",
222
+ str(kwargs),
223
+ )
224
+ return _build_response(client=client, response=response)
225
+
226
+
227
+ def sync(
228
+ *,
229
+ client: Client = None,
230
+ os_workspace: Union[Unset, None, str] = UNSET,
231
+ root: Union[Unset, None, str] = UNSET,
232
+ recurse: Union[Unset, None, bool] = UNSET,
233
+ exclude_root: Union[Unset, None, bool] = UNSET,
234
+ flat: Union[Unset, None, bool] = UNSET,
235
+ minimal: Union[Unset, None, bool] = UNSET,
236
+ structure: Union[Unset, None, bool] = UNSET,
237
+ accept: Union[Unset, str] = "application/json",
238
+ ) -> Optional[
239
+ Union[
240
+ GetFilesTreeResponse200,
241
+ GetFilesTreeResponse400,
242
+ GetFilesTreeResponse401,
243
+ GetFilesTreeResponse500,
244
+ ]
245
+ ]:
246
+ """## Get a view (subtree) of a workspace filesystem.
247
+
248
+ Get a view (subtree) of a workspace filesystem.
249
+
250
+ ### Args:
251
+ * `os_workspace`: os_workspace (Union[Unset, None, str]):
252
+ * `root`: root (Union[Unset, None, str]):
253
+ * `recurse`: recurse (Union[Unset, None, bool]):
254
+ * `exclude_root`: exclude_root (Union[Unset, None, bool]):
255
+ * `flat`: flat (Union[Unset, None, bool]):
256
+ * `minimal`: minimal (Union[Unset, None, bool]):
257
+ * `structure`: structure (Union[Unset, None, bool]):
258
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
259
+
260
+ ### Raises:
261
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
262
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
263
+
264
+ ## Returns:
265
+ * `Union[GetFilesTreeResponse200, GetFilesTreeResponse400, GetFilesTreeResponse401, GetFilesTreeResponse500]`
266
+ """
267
+
268
+ return sync_detailed(
269
+ client=client,
270
+ os_workspace=os_workspace,
271
+ root=root,
272
+ recurse=recurse,
273
+ exclude_root=exclude_root,
274
+ flat=flat,
275
+ minimal=minimal,
276
+ structure=structure,
277
+ accept=accept,
278
+ ).parsed
279
+
280
+
281
+ async def asyncio_detailed(
282
+ *,
283
+ client: Client = None,
284
+ os_workspace: Union[Unset, None, str] = UNSET,
285
+ root: Union[Unset, None, str] = UNSET,
286
+ recurse: Union[Unset, None, bool] = UNSET,
287
+ exclude_root: Union[Unset, None, bool] = UNSET,
288
+ flat: Union[Unset, None, bool] = UNSET,
289
+ minimal: Union[Unset, None, bool] = UNSET,
290
+ structure: Union[Unset, None, bool] = UNSET,
291
+ accept: Union[Unset, str] = "application/json",
292
+ ) -> Response[
293
+ Union[
294
+ GetFilesTreeResponse200,
295
+ GetFilesTreeResponse400,
296
+ GetFilesTreeResponse401,
297
+ GetFilesTreeResponse500,
298
+ ]
299
+ ]:
300
+ """## Get a view (subtree) of a workspace filesystem.
301
+
302
+ Get a view (subtree) of a workspace filesystem.
303
+
304
+ ### Args:
305
+ * `os_workspace`: os_workspace (Union[Unset, None, str]):
306
+ * `root`: root (Union[Unset, None, str]):
307
+ * `recurse`: recurse (Union[Unset, None, bool]):
308
+ * `exclude_root`: exclude_root (Union[Unset, None, bool]):
309
+ * `flat`: flat (Union[Unset, None, bool]):
310
+ * `minimal`: minimal (Union[Unset, None, bool]):
311
+ * `structure`: structure (Union[Unset, None, bool]):
312
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
313
+
314
+ ### Raises:
315
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
316
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
317
+
318
+ ## Returns:
319
+ * `Response[Union[GetFilesTreeResponse200, GetFilesTreeResponse400, GetFilesTreeResponse401, GetFilesTreeResponse500]]`
320
+ """
321
+
322
+ if not client:
323
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
324
+ client = get_default_client()
325
+ # raise RuntimeError("Missing client!")
326
+ kwargs = _get_kwargs(
327
+ client=client,
328
+ os_workspace=os_workspace,
329
+ root=root,
330
+ recurse=recurse,
331
+ exclude_root=exclude_root,
332
+ flat=flat,
333
+ minimal=minimal,
334
+ structure=structure,
335
+ accept=accept,
336
+ )
337
+
338
+ async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
339
+ response = await _client.request(**kwargs)
340
+
341
+ return _build_response(client=client, response=response)
342
+
343
+
344
+ async def asyncio(
345
+ *,
346
+ client: Client = None,
347
+ os_workspace: Union[Unset, None, str] = UNSET,
348
+ root: Union[Unset, None, str] = UNSET,
349
+ recurse: Union[Unset, None, bool] = UNSET,
350
+ exclude_root: Union[Unset, None, bool] = UNSET,
351
+ flat: Union[Unset, None, bool] = UNSET,
352
+ minimal: Union[Unset, None, bool] = UNSET,
353
+ structure: Union[Unset, None, bool] = UNSET,
354
+ accept: Union[Unset, str] = "application/json",
355
+ ) -> Optional[
356
+ Union[
357
+ GetFilesTreeResponse200,
358
+ GetFilesTreeResponse400,
359
+ GetFilesTreeResponse401,
360
+ GetFilesTreeResponse500,
361
+ ]
362
+ ]:
363
+ """## Get a view (subtree) of a workspace filesystem.
364
+
365
+ Get a view (subtree) of a workspace filesystem.
366
+
367
+ ### Args:
368
+ * `os_workspace`: os_workspace (Union[Unset, None, str]):
369
+ * `root`: root (Union[Unset, None, str]):
370
+ * `recurse`: recurse (Union[Unset, None, bool]):
371
+ * `exclude_root`: exclude_root (Union[Unset, None, bool]):
372
+ * `flat`: flat (Union[Unset, None, bool]):
373
+ * `minimal`: minimal (Union[Unset, None, bool]):
374
+ * `structure`: structure (Union[Unset, None, bool]):
375
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
376
+
377
+ ### Raises:
378
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
379
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
380
+
381
+ ## Returns:
382
+ * `Union[GetFilesTreeResponse200, GetFilesTreeResponse400, GetFilesTreeResponse401, GetFilesTreeResponse500]`
383
+ """
384
+
385
+ return (
386
+ await asyncio_detailed(
387
+ client=client,
388
+ os_workspace=os_workspace,
389
+ root=root,
390
+ recurse=recurse,
391
+ exclude_root=exclude_root,
392
+ flat=flat,
393
+ minimal=minimal,
394
+ structure=structure,
395
+ accept=accept,
396
+ )
397
+ ).parsed
@@ -0,0 +1,235 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Dict, Optional, Union
3
+ from urllib.parse import quote
4
+ from warnings import warn
5
+
6
+ import httpx
7
+
8
+ from ...client import Client, get_default_client
9
+ from ...types import Response, UNSET, Unset
10
+ from ... import errors
11
+
12
+
13
+ client_missing_msg = """No client was passed to this function. The default admin client will be used, but this is deprecated and will be removed soon.
14
+ Please create a client using octostar.client.make_client() and run the function via client.execute()."""
15
+
16
+
17
+ def _get_kwargs(
18
+ filename: str,
19
+ *,
20
+ client: Client = None,
21
+ external_url: Union[Unset, None, bool] = UNSET,
22
+ accept: Union[Unset, str] = "application/json",
23
+ ) -> Dict[str, Any]:
24
+ if not client:
25
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
26
+ client = get_default_client()
27
+
28
+ base_url = client.get_base_url_v1()
29
+ url = "{}/api/v1/files/upload-blob/{}".format(base_url, quote(filename, safe=""))
30
+
31
+ headers: Dict[str, str] = client.get_headers()
32
+ cookies: Dict[str, Any] = client.get_cookies()
33
+
34
+ if not isinstance(accept, Unset):
35
+ headers["Accept"] = accept
36
+
37
+ params: Dict[str, Any] = {}
38
+ params["external_url"] = external_url
39
+
40
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
41
+
42
+ return {
43
+ "method": "get",
44
+ "url": url,
45
+ "headers": headers,
46
+ "cookies": cookies,
47
+ "timeout": client.get_timeout(),
48
+ "follow_redirects": client.follow_redirects,
49
+ "params": params,
50
+ }
51
+
52
+
53
+ def _parse_response(
54
+ *, client: Client = None, response: httpx.Response
55
+ ) -> Optional[Dict[str, Any]]:
56
+ if not client:
57
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
58
+ client = get_default_client()
59
+ if response.status_code == HTTPStatus.OK:
60
+ return response.json()
61
+ if client.raise_on_unexpected_status:
62
+ raise errors.UnexpectedStatus(response.status_code, response.content)
63
+ else:
64
+ return None
65
+
66
+
67
+ def _build_response(
68
+ *, client: Client = None, response: httpx.Response
69
+ ) -> Response[Dict[str, Any]]:
70
+ if not client:
71
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
72
+ client = get_default_client()
73
+ response_kwargs = {
74
+ "status_code": HTTPStatus(response.status_code),
75
+ "content": response.content,
76
+ "headers": response.headers,
77
+ "parsed": _parse_response(client=client, response=response),
78
+ }
79
+ return Response(**response_kwargs)
80
+
81
+
82
+ def sync_detailed(
83
+ filename: str,
84
+ *,
85
+ client: Client = None,
86
+ external_url: Union[Unset, None, bool] = UNSET,
87
+ accept: Union[Unset, str] = "application/json",
88
+ ) -> Response[Dict[str, Any]]:
89
+ """## Request upload to temp bucket
90
+
91
+ Generate presigned POST metadata for uploading a file to a temporary S3 bucket.
92
+ The file will be uploaded to a temporary bucket specific to the authenticated user.
93
+
94
+ ### Args:
95
+ * `filename`: filename (str): Name of the file to upload
96
+ * `external_url`: external_url (Union[Unset, None, bool]): Whether to use the external endpoint URL
97
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
98
+
99
+ ### Raises:
100
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
101
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
102
+
103
+ ## Returns:
104
+ * `Response[Dict[str, Any]]` containing 'url' and 'fields' for presigned POST
105
+ """
106
+
107
+ if not client:
108
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
109
+ client = get_default_client()
110
+ kwargs = _get_kwargs(
111
+ filename,
112
+ client=client,
113
+ external_url=external_url,
114
+ accept=accept,
115
+ )
116
+
117
+ response = httpx.request(
118
+ verify=client.verify_ssl,
119
+ **kwargs,
120
+ )
121
+ if response.is_error:
122
+ print(
123
+ f"{str(response.status_code)} Error: {response.text} for request",
124
+ str(kwargs),
125
+ )
126
+ return _build_response(client=client, response=response)
127
+
128
+
129
+ def sync(
130
+ filename: str,
131
+ *,
132
+ client: Client = None,
133
+ external_url: Union[Unset, None, bool] = UNSET,
134
+ accept: Union[Unset, str] = "application/json",
135
+ ) -> Optional[Dict[str, Any]]:
136
+ """## Request upload to temp bucket
137
+
138
+ Generate presigned POST metadata for uploading a file to a temporary S3 bucket.
139
+ The file will be uploaded to a temporary bucket specific to the authenticated user.
140
+
141
+ ### Args:
142
+ * `filename`: filename (str): Name of the file to upload
143
+ * `external_url`: external_url (Union[Unset, None, bool]): Whether to use the external endpoint URL
144
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
145
+
146
+ ### Raises:
147
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
148
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
149
+
150
+ ## Returns:
151
+ * `Optional[Dict[str, Any]]` containing 'url' and 'fields' for presigned POST
152
+ """
153
+
154
+ return sync_detailed(
155
+ filename,
156
+ client=client,
157
+ external_url=external_url,
158
+ accept=accept,
159
+ ).parsed
160
+
161
+
162
+ async def asyncio_detailed(
163
+ filename: str,
164
+ *,
165
+ client: Client = None,
166
+ external_url: Union[Unset, None, bool] = UNSET,
167
+ accept: Union[Unset, str] = "application/json",
168
+ ) -> Response[Dict[str, Any]]:
169
+ """## Request upload to temp bucket
170
+
171
+ Generate presigned POST metadata for uploading a file to a temporary S3 bucket.
172
+ The file will be uploaded to a temporary bucket specific to the authenticated user.
173
+
174
+ ### Args:
175
+ * `filename`: filename (str): Name of the file to upload
176
+ * `external_url`: external_url (Union[Unset, None, bool]): Whether to use the external endpoint URL
177
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
178
+
179
+ ### Raises:
180
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
181
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
182
+
183
+ ## Returns:
184
+ * `Response[Dict[str, Any]]` containing 'url' and 'fields' for presigned POST
185
+ """
186
+
187
+ if not client:
188
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
189
+ client = get_default_client()
190
+ kwargs = _get_kwargs(
191
+ filename,
192
+ client=client,
193
+ external_url=external_url,
194
+ accept=accept,
195
+ )
196
+
197
+ async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
198
+ response = await _client.request(**kwargs)
199
+
200
+ return _build_response(client=client, response=response)
201
+
202
+
203
+ async def asyncio(
204
+ filename: str,
205
+ *,
206
+ client: Client = None,
207
+ external_url: Union[Unset, None, bool] = UNSET,
208
+ accept: Union[Unset, str] = "application/json",
209
+ ) -> Optional[Dict[str, Any]]:
210
+ """## Request upload to temp bucket
211
+
212
+ Generate presigned POST metadata for uploading a file to a temporary S3 bucket.
213
+ The file will be uploaded to a temporary bucket specific to the authenticated user.
214
+
215
+ ### Args:
216
+ * `filename`: filename (str): Name of the file to upload
217
+ * `external_url`: external_url (Union[Unset, None, bool]): Whether to use the external endpoint URL
218
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
219
+
220
+ ### Raises:
221
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
222
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
223
+
224
+ ## Returns:
225
+ * `Optional[Dict[str, Any]]` containing 'url' and 'fields' for presigned POST
226
+ """
227
+
228
+ return (
229
+ await asyncio_detailed(
230
+ filename,
231
+ client=client,
232
+ external_url=external_url,
233
+ accept=accept,
234
+ )
235
+ ).parsed