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,276 @@
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, Unset
9
+ from ... import errors
10
+ from ...models.list_app_jobs_response_401 import ListAppJobsResponse401
11
+ from ...models.list_app_jobs_response_500 import ListAppJobsResponse500
12
+ from ...models.app_status import AppStatus
13
+
14
+
15
+ 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.
16
+ Please create a client using octostar.client.make_client() and run the function via client.execute()."""
17
+
18
+
19
+ def _get_kwargs(
20
+ app_id: str,
21
+ *,
22
+ client: Client = None,
23
+ accept: Union[Unset, str] = "application/json",
24
+ ) -> Dict[str, Any]:
25
+ if not client:
26
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
27
+ client = get_default_client()
28
+ # raise RuntimeError("Missing client!")
29
+
30
+ base_url = client.get_base_url_v1()
31
+ url = "{}/api/v1/apps/jobs/by-app/{}".format(base_url, app_id)
32
+
33
+ headers: Dict[str, str] = client.get_headers()
34
+ cookies: Dict[str, Any] = client.get_cookies()
35
+
36
+ if not isinstance(accept, Unset):
37
+ headers["Accept"] = accept
38
+
39
+ return {
40
+ "method": "get",
41
+ "url": url,
42
+ "headers": headers,
43
+ "cookies": cookies,
44
+ "timeout": client.get_timeout(),
45
+ "follow_redirects": client.follow_redirects,
46
+ }
47
+
48
+
49
+ def _parse_response(
50
+ *, client: Client = None, response: httpx.Response
51
+ ) -> Optional[Union[ListAppJobsResponse401, ListAppJobsResponse500, List["AppStatus"]]]:
52
+ if not client:
53
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
54
+ client = get_default_client()
55
+ # raise RuntimeError("Missing client!")
56
+ if response.status_code == HTTPStatus.OK:
57
+ response_200 = []
58
+ _response_200 = response.json()
59
+
60
+ # New API returns { "jobs": [...] }, extract the jobs list
61
+ jobs_list = (
62
+ _response_200.get("jobs", _response_200)
63
+ if isinstance(_response_200, dict)
64
+ else _response_200
65
+ )
66
+
67
+ for job_data in jobs_list:
68
+ # Map new JobResponse format to old AppStatus format for backward compatibility
69
+ # JobResponse: job_id, ancestor, status, namespace, creation_timestamp, start_time, completion_time, active, succeeded, failed
70
+ # AppStatus: name, uid, namespace, app_state, state, active, ready, failed, succeeded, creation_timestamp, start_time, completion_time
71
+ mapped_data = {
72
+ "name": job_data.get("job_id", job_data.get("name")),
73
+ "uid": job_data.get("job_id", job_data.get("uid")),
74
+ "namespace": job_data.get("namespace"),
75
+ "app_state": job_data.get("status", job_data.get("app_state")),
76
+ "state": job_data.get("status", job_data.get("state")),
77
+ "active": job_data.get("active"),
78
+ "ready": job_data.get("ready", 0),
79
+ "failed": job_data.get("failed"),
80
+ "succeeded": job_data.get("succeeded"),
81
+ "creation_timestamp": job_data.get("creation_timestamp"),
82
+ "start_time": job_data.get("start_time"),
83
+ "completion_time": job_data.get("completion_time"),
84
+ }
85
+ componentsschemas_app_or_job_status_list_item = AppStatus.from_dict(
86
+ mapped_data
87
+ )
88
+ response_200.append(componentsschemas_app_or_job_status_list_item)
89
+
90
+ return response_200
91
+ if response.status_code == HTTPStatus.UNAUTHORIZED:
92
+ response_401 = ListAppJobsResponse401.from_dict(response.json())
93
+
94
+ return response_401
95
+ if response.status_code == HTTPStatus.INTERNAL_SERVER_ERROR:
96
+ response_500 = ListAppJobsResponse500.from_dict(response.json())
97
+
98
+ return response_500
99
+ if client.raise_on_unexpected_status:
100
+ raise errors.UnexpectedStatus(response.status_code, response.content)
101
+ else:
102
+ return None
103
+
104
+
105
+ def _build_response(
106
+ *, client: Client = None, response: httpx.Response
107
+ ) -> Response[Union[ListAppJobsResponse401, ListAppJobsResponse500, List["AppStatus"]]]:
108
+ if not client:
109
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
110
+ client = get_default_client()
111
+ # raise RuntimeError("Missing client!")
112
+ response_kwargs = {
113
+ "status_code": HTTPStatus(response.status_code),
114
+ "content": response.content,
115
+ "headers": response.headers,
116
+ "parsed": _parse_response(client=client, response=response),
117
+ }
118
+ return Response(**response_kwargs)
119
+
120
+
121
+ def _build_chunk_response(
122
+ *, client: Client = None, response: httpx.Response, chunk: bytes
123
+ ) -> Response[Union[ListAppJobsResponse401, ListAppJobsResponse500, List["AppStatus"]]]:
124
+ if not client:
125
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
126
+ client = get_default_client()
127
+ # raise RuntimeError("Missing client!")
128
+ response_kwargs = {
129
+ "status_code": HTTPStatus(response.status_code),
130
+ "content": chunk,
131
+ "headers": response.headers,
132
+ "parsed": None, # cannot parse incomplete chunks of data, we leave it to the user
133
+ }
134
+ return Response(**response_kwargs)
135
+
136
+
137
+ def sync_detailed(
138
+ app_id: str,
139
+ *,
140
+ client: Client = None,
141
+ accept: Union[Unset, str] = "application/json",
142
+ ) -> Response[Union[ListAppJobsResponse401, ListAppJobsResponse500, List["AppStatus"]]]:
143
+ """## List running jobs for a given parent app
144
+
145
+ List all active jobs that were created by this app.
146
+
147
+ ### Args:
148
+ * `app_id`: app_id (str):
149
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
150
+
151
+ ### Raises:
152
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
153
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
154
+
155
+ ## Returns:
156
+ * `Response[Union[ListAppJobsResponse401, ListAppJobsResponse500, List['AppStatus']]]`
157
+ """
158
+
159
+ if not client:
160
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
161
+ client = get_default_client()
162
+ # raise RuntimeError("Missing client!")
163
+ kwargs = _get_kwargs(
164
+ app_id=app_id,
165
+ client=client,
166
+ accept=accept,
167
+ )
168
+
169
+ response = httpx.request(
170
+ verify=client.verify_ssl,
171
+ **kwargs,
172
+ )
173
+ if response.is_error:
174
+ print(
175
+ f"{str(response.status_code)} Error: {response.text} for request",
176
+ str(kwargs),
177
+ )
178
+ return _build_response(client=client, response=response)
179
+
180
+
181
+ def sync(
182
+ app_id: str,
183
+ *,
184
+ client: Client = None,
185
+ accept: Union[Unset, str] = "application/json",
186
+ ) -> Optional[Union[ListAppJobsResponse401, ListAppJobsResponse500, List["AppStatus"]]]:
187
+ """## List running jobs for a given parent app
188
+
189
+ List all active jobs that were created by this app.
190
+
191
+ ### Args:
192
+ * `app_id`: app_id (str):
193
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
194
+
195
+ ### Raises:
196
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
197
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
198
+
199
+ ## Returns:
200
+ * `Union[ListAppJobsResponse401, ListAppJobsResponse500, List['AppStatus']]`
201
+ """
202
+
203
+ return sync_detailed(
204
+ app_id=app_id,
205
+ client=client,
206
+ accept=accept,
207
+ ).parsed
208
+
209
+
210
+ async def asyncio_detailed(
211
+ app_id: str,
212
+ *,
213
+ client: Client = None,
214
+ accept: Union[Unset, str] = "application/json",
215
+ ) -> Response[Union[ListAppJobsResponse401, ListAppJobsResponse500, List["AppStatus"]]]:
216
+ """## List running jobs for a given parent app
217
+
218
+ List all active jobs that were created by this app.
219
+
220
+ ### Args:
221
+ * `app_id`: app_id (str):
222
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
223
+
224
+ ### Raises:
225
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
226
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
227
+
228
+ ## Returns:
229
+ * `Response[Union[ListAppJobsResponse401, ListAppJobsResponse500, List['AppStatus']]]`
230
+ """
231
+
232
+ if not client:
233
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
234
+ client = get_default_client()
235
+ # raise RuntimeError("Missing client!")
236
+ kwargs = _get_kwargs(
237
+ app_id=app_id,
238
+ client=client,
239
+ accept=accept,
240
+ )
241
+
242
+ async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
243
+ response = await _client.request(**kwargs)
244
+
245
+ return _build_response(client=client, response=response)
246
+
247
+
248
+ async def asyncio(
249
+ app_id: str,
250
+ *,
251
+ client: Client = None,
252
+ accept: Union[Unset, str] = "application/json",
253
+ ) -> Optional[Union[ListAppJobsResponse401, ListAppJobsResponse500, List["AppStatus"]]]:
254
+ """## List running jobs for a given parent app
255
+
256
+ List all active jobs that were created by this app.
257
+
258
+ ### Args:
259
+ * `app_id`: app_id (str):
260
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
261
+
262
+ ### Raises:
263
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
264
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
265
+
266
+ ## Returns:
267
+ * `Union[ListAppJobsResponse401, ListAppJobsResponse500, List['AppStatus']]`
268
+ """
269
+
270
+ return (
271
+ await asyncio_detailed(
272
+ app_id=app_id,
273
+ client=client,
274
+ accept=accept,
275
+ )
276
+ ).parsed
@@ -0,0 +1,251 @@
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 ...types import UNSET, Unset
12
+ from ...models.list_apps_response_401 import ListAppsResponse401
13
+ from typing import cast, List
14
+ from ...models.app_status import AppStatus
15
+ from typing import Union
16
+ from typing import cast
17
+ from ...models.list_apps_response_500 import ListAppsResponse500
18
+ from typing import Dict
19
+
20
+
21
+ 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.
22
+ Please create a client using octostar.client.make_client() and run the function via client.execute()."""
23
+
24
+
25
+ def _get_kwargs(
26
+ *,
27
+ client: Client = None,
28
+ accept: Union[Unset, str] = "application/json",
29
+ ) -> Dict[str, Any]:
30
+ if not client:
31
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
32
+ client = get_default_client()
33
+ # raise RuntimeError("Missing client!")
34
+
35
+ base_url = client.get_base_url_v1()
36
+ url = "{}/api/v1/apps/".format(base_url)
37
+
38
+ headers: Dict[str, str] = client.get_headers()
39
+ cookies: Dict[str, Any] = client.get_cookies()
40
+
41
+ if not isinstance(accept, Unset):
42
+ headers["Accept"] = accept
43
+
44
+ return {
45
+ "method": "get",
46
+ "url": url,
47
+ "headers": headers,
48
+ "cookies": cookies,
49
+ "timeout": client.get_timeout(),
50
+ "follow_redirects": client.follow_redirects,
51
+ }
52
+
53
+
54
+ def _parse_response(
55
+ *, client: Client = None, response: httpx.Response
56
+ ) -> Optional[Union[ListAppsResponse401, ListAppsResponse500, List["AppStatus"]]]:
57
+ if not client:
58
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
59
+ client = get_default_client()
60
+ # raise RuntimeError("Missing client!")
61
+ if response.status_code == HTTPStatus.OK:
62
+ response_200 = []
63
+ _response_200 = response.json()
64
+ apps_list = (
65
+ _response_200.get("apps", _response_200)
66
+ if isinstance(_response_200, dict)
67
+ else _response_200
68
+ )
69
+
70
+ for componentsschemas_app_or_job_status_list_item_data in apps_list:
71
+ componentsschemas_app_or_job_status_list_item = AppStatus.from_dict(
72
+ componentsschemas_app_or_job_status_list_item_data
73
+ )
74
+
75
+ response_200.append(componentsschemas_app_or_job_status_list_item)
76
+
77
+ return response_200
78
+ if response.status_code == HTTPStatus.UNAUTHORIZED:
79
+ response_401 = ListAppsResponse401.from_dict(response.json())
80
+
81
+ return response_401
82
+ if response.status_code == HTTPStatus.INTERNAL_SERVER_ERROR:
83
+ response_500 = ListAppsResponse500.from_dict(response.json())
84
+
85
+ return response_500
86
+ if client.raise_on_unexpected_status:
87
+ raise errors.UnexpectedStatus(response.status_code, response.content)
88
+ else:
89
+ return None
90
+
91
+
92
+ def _build_response(
93
+ *, client: Client = None, response: httpx.Response
94
+ ) -> Response[Union[ListAppsResponse401, ListAppsResponse500, List["AppStatus"]]]:
95
+ if not client:
96
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
97
+ client = get_default_client()
98
+ # raise RuntimeError("Missing client!")
99
+ response_kwargs = {
100
+ "status_code": HTTPStatus(response.status_code),
101
+ "content": response.content,
102
+ "headers": response.headers,
103
+ "parsed": _parse_response(client=client, response=response),
104
+ }
105
+ return Response(**response_kwargs)
106
+
107
+
108
+ def _build_chunk_response(
109
+ *, client: Client = None, response: httpx.Response, chunk: bytes
110
+ ) -> Response[Union[ListAppsResponse401, ListAppsResponse500, List["AppStatus"]]]:
111
+ if not client:
112
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
113
+ client = get_default_client()
114
+ # raise RuntimeError("Missing client!")
115
+ response_kwargs = {
116
+ "status_code": HTTPStatus(response.status_code),
117
+ "content": chunk,
118
+ "headers": response.headers,
119
+ "parsed": None, # cannot parse incomplete chunks of data, we leave it to the user
120
+ }
121
+ return Response(**response_kwargs)
122
+
123
+
124
+ def sync_detailed(
125
+ *,
126
+ client: Client = None,
127
+ accept: Union[Unset, str] = "application/json",
128
+ ) -> Response[Union[ListAppsResponse401, ListAppsResponse500, List["AppStatus"]]]:
129
+ """## List running apps
130
+
131
+ list all the apps you are authorized to see. If you are an admin, you will see all the apps.
132
+
133
+ ### Args:
134
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
135
+
136
+ ### Raises:
137
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
138
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
139
+
140
+ ## Returns:
141
+ * `Response[Union[ListAppsResponse401, ListAppsResponse500, List['AppStatus']]]`
142
+ """
143
+
144
+ if not client:
145
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
146
+ client = get_default_client()
147
+ # raise RuntimeError("Missing client!")
148
+ kwargs = _get_kwargs(
149
+ client=client,
150
+ accept=accept,
151
+ )
152
+
153
+ response = httpx.request(
154
+ verify=client.verify_ssl,
155
+ **kwargs,
156
+ )
157
+ if response.is_error:
158
+ print(
159
+ f"{str(response.status_code)} Error: {response.text} for request",
160
+ str(kwargs),
161
+ )
162
+ return _build_response(client=client, response=response)
163
+
164
+
165
+ def sync(
166
+ *,
167
+ client: Client = None,
168
+ accept: Union[Unset, str] = "application/json",
169
+ ) -> Optional[Union[ListAppsResponse401, ListAppsResponse500, List["AppStatus"]]]:
170
+ """## List running apps
171
+
172
+ list all the apps you are authorized to see. If you are an admin, you will see all the apps.
173
+
174
+ ### Args:
175
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
176
+
177
+ ### Raises:
178
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
179
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
180
+
181
+ ## Returns:
182
+ * `Union[ListAppsResponse401, ListAppsResponse500, List['AppStatus']]`
183
+ """
184
+
185
+ return sync_detailed(
186
+ client=client,
187
+ accept=accept,
188
+ ).parsed
189
+
190
+
191
+ async def asyncio_detailed(
192
+ *,
193
+ client: Client = None,
194
+ accept: Union[Unset, str] = "application/json",
195
+ ) -> Response[Union[ListAppsResponse401, ListAppsResponse500, List["AppStatus"]]]:
196
+ """## List running apps
197
+
198
+ list all the apps you are authorized to see. If you are an admin, you will see all the apps.
199
+
200
+ ### Args:
201
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
202
+
203
+ ### Raises:
204
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
205
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
206
+
207
+ ## Returns:
208
+ * `Response[Union[ListAppsResponse401, ListAppsResponse500, List['AppStatus']]]`
209
+ """
210
+
211
+ if not client:
212
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
213
+ client = get_default_client()
214
+ # raise RuntimeError("Missing client!")
215
+ kwargs = _get_kwargs(
216
+ client=client,
217
+ accept=accept,
218
+ )
219
+
220
+ async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
221
+ response = await _client.request(**kwargs)
222
+
223
+ return _build_response(client=client, response=response)
224
+
225
+
226
+ async def asyncio(
227
+ *,
228
+ client: Client = None,
229
+ accept: Union[Unset, str] = "application/json",
230
+ ) -> Optional[Union[ListAppsResponse401, ListAppsResponse500, List["AppStatus"]]]:
231
+ """## List running apps
232
+
233
+ list all the apps you are authorized to see. If you are an admin, you will see all the apps.
234
+
235
+ ### Args:
236
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
237
+
238
+ ### Raises:
239
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
240
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
241
+
242
+ ## Returns:
243
+ * `Union[ListAppsResponse401, ListAppsResponse500, List['AppStatus']]`
244
+ """
245
+
246
+ return (
247
+ await asyncio_detailed(
248
+ client=client,
249
+ accept=accept,
250
+ )
251
+ ).parsed