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,275 @@
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 ...models.os_notification import OsNotification
12
+
13
+
14
+ def wrap_list_as_object(items: List, key: str) -> Dict[str, Any]:
15
+ """Wrap a list of items in an object with the given key.
16
+
17
+ This bridges SDK list format to API object format.
18
+ """
19
+ return {
20
+ key: [item.to_dict() if hasattr(item, "to_dict") else item for item in items]
21
+ }
22
+
23
+
24
+ from ...types import UNSET, Unset
25
+ from typing import cast, List
26
+ from typing import Union
27
+ from typing import cast
28
+ from ...models.acknowledgement import Acknowledgement
29
+ from typing import Dict
30
+ from ...models.publish_notification_response_401 import PublishNotificationResponse401
31
+
32
+
33
+ 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.
34
+ Please create a client using octostar.client.make_client() and run the function via client.execute()."""
35
+
36
+
37
+ def _get_kwargs(
38
+ *,
39
+ client: Client = None,
40
+ json_body: List["OsNotification"],
41
+ accept: Union[Unset, str] = "application/json",
42
+ ) -> Dict[str, Any]:
43
+ if not client:
44
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
45
+ client = get_default_client()
46
+ # raise RuntimeError("Missing client!")
47
+
48
+ base_url = client.get_base_url_v1()
49
+ url = "{}/api/v1/notifications/".format(base_url)
50
+
51
+ headers: Dict[str, str] = client.get_headers()
52
+ cookies: Dict[str, Any] = client.get_cookies()
53
+
54
+ if not isinstance(accept, Unset):
55
+ headers["Accept"] = accept
56
+
57
+ # Bridge SDK list format to API object format
58
+ json_json_body = wrap_list_as_object(json_body, "notifications")
59
+
60
+ return {
61
+ "method": "post",
62
+ "url": url,
63
+ "headers": headers,
64
+ "cookies": cookies,
65
+ "timeout": client.get_timeout(),
66
+ "follow_redirects": client.follow_redirects,
67
+ "json": json_json_body,
68
+ }
69
+
70
+
71
+ def _parse_response(
72
+ *, client: Client = None, response: httpx.Response
73
+ ) -> Optional[Union[Acknowledgement, PublishNotificationResponse401]]:
74
+ if not client:
75
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
76
+ client = get_default_client()
77
+ # raise RuntimeError("Missing client!")
78
+ if response.status_code == HTTPStatus.OK:
79
+ response_200 = Acknowledgement.from_dict(response.json())
80
+
81
+ return response_200
82
+ if response.status_code == HTTPStatus.CREATED:
83
+ response_201 = Acknowledgement.from_dict(response.json())
84
+
85
+ return response_201
86
+ if response.status_code == HTTPStatus.BAD_REQUEST:
87
+ response_400 = Acknowledgement.from_dict(response.json())
88
+
89
+ return response_400
90
+ if response.status_code == HTTPStatus.UNAUTHORIZED:
91
+ response_401 = PublishNotificationResponse401.from_dict(response.json())
92
+
93
+ return response_401
94
+ if response.status_code == HTTPStatus.INTERNAL_SERVER_ERROR:
95
+ response_500 = Acknowledgement.from_dict(response.json())
96
+
97
+ return response_500
98
+ if client.raise_on_unexpected_status:
99
+ raise errors.UnexpectedStatus(response.status_code, response.content)
100
+ else:
101
+ return None
102
+
103
+
104
+ def _build_response(
105
+ *, client: Client = None, response: httpx.Response
106
+ ) -> Response[Union[Acknowledgement, PublishNotificationResponse401]]:
107
+ if not client:
108
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
109
+ client = get_default_client()
110
+ # raise RuntimeError("Missing client!")
111
+ response_kwargs = {
112
+ "status_code": HTTPStatus(response.status_code),
113
+ "content": response.content,
114
+ "headers": response.headers,
115
+ "parsed": _parse_response(client=client, response=response),
116
+ }
117
+ return Response(**response_kwargs)
118
+
119
+
120
+ def _build_chunk_response(
121
+ *, client: Client = None, response: httpx.Response, chunk: bytes
122
+ ) -> Response[Union[Acknowledgement, PublishNotificationResponse401]]:
123
+ if not client:
124
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
125
+ client = get_default_client()
126
+ # raise RuntimeError("Missing client!")
127
+ response_kwargs = {
128
+ "status_code": HTTPStatus(response.status_code),
129
+ "content": chunk,
130
+ "headers": response.headers,
131
+ "parsed": None, # cannot parse incomplete chunks of data, we leave it to the user
132
+ }
133
+ return Response(**response_kwargs)
134
+
135
+
136
+ def sync_detailed(
137
+ *,
138
+ client: Client = None,
139
+ json_body: List["OsNotification"],
140
+ accept: Union[Unset, str] = "application/json",
141
+ ) -> Response[Union[Acknowledgement, PublishNotificationResponse401]]:
142
+ """## Get the list of notifications for the session
143
+
144
+ Get the list of notifications for the session
145
+
146
+ ### Args:
147
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
148
+ * `json_body`: json_body (List['OsNotification']):
149
+
150
+ ### Raises:
151
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
152
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
153
+
154
+ ## Returns:
155
+ * `Response[Union[Acknowledgement, PublishNotificationResponse401]]`
156
+ """
157
+
158
+ if not client:
159
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
160
+ client = get_default_client()
161
+ # raise RuntimeError("Missing client!")
162
+ kwargs = _get_kwargs(
163
+ client=client,
164
+ json_body=json_body,
165
+ accept=accept,
166
+ )
167
+
168
+ response = httpx.request(
169
+ verify=client.verify_ssl,
170
+ **kwargs,
171
+ )
172
+ if response.is_error:
173
+ print(
174
+ f"{str(response.status_code)} Error: {response.text} for request",
175
+ str(kwargs),
176
+ )
177
+ return _build_response(client=client, response=response)
178
+
179
+
180
+ def sync(
181
+ *,
182
+ client: Client = None,
183
+ json_body: List["OsNotification"],
184
+ accept: Union[Unset, str] = "application/json",
185
+ ) -> Optional[Union[Acknowledgement, PublishNotificationResponse401]]:
186
+ """## Get the list of notifications for the session
187
+
188
+ Get the list of notifications for the session
189
+
190
+ ### Args:
191
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
192
+ * `json_body`: json_body (List['OsNotification']):
193
+
194
+ ### Raises:
195
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
196
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
197
+
198
+ ## Returns:
199
+ * `Union[Acknowledgement, PublishNotificationResponse401]`
200
+ """
201
+
202
+ return sync_detailed(
203
+ client=client,
204
+ json_body=json_body,
205
+ accept=accept,
206
+ ).parsed
207
+
208
+
209
+ async def asyncio_detailed(
210
+ *,
211
+ client: Client = None,
212
+ json_body: List["OsNotification"],
213
+ accept: Union[Unset, str] = "application/json",
214
+ ) -> Response[Union[Acknowledgement, PublishNotificationResponse401]]:
215
+ """## Get the list of notifications for the session
216
+
217
+ Get the list of notifications for the session
218
+
219
+ ### Args:
220
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
221
+ * `json_body`: json_body (List['OsNotification']):
222
+
223
+ ### Raises:
224
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
225
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
226
+
227
+ ## Returns:
228
+ * `Response[Union[Acknowledgement, PublishNotificationResponse401]]`
229
+ """
230
+
231
+ if not client:
232
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
233
+ client = get_default_client()
234
+ # raise RuntimeError("Missing client!")
235
+ kwargs = _get_kwargs(
236
+ client=client,
237
+ json_body=json_body,
238
+ accept=accept,
239
+ )
240
+
241
+ async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
242
+ response = await _client.request(**kwargs)
243
+
244
+ return _build_response(client=client, response=response)
245
+
246
+
247
+ async def asyncio(
248
+ *,
249
+ client: Client = None,
250
+ json_body: List["OsNotification"],
251
+ accept: Union[Unset, str] = "application/json",
252
+ ) -> Optional[Union[Acknowledgement, PublishNotificationResponse401]]:
253
+ """## Get the list of notifications for the session
254
+
255
+ Get the list of notifications for the session
256
+
257
+ ### Args:
258
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
259
+ * `json_body`: json_body (List['OsNotification']):
260
+
261
+ ### Raises:
262
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
263
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
264
+
265
+ ## Returns:
266
+ * `Union[Acknowledgement, PublishNotificationResponse401]`
267
+ """
268
+
269
+ return (
270
+ await asyncio_detailed(
271
+ client=client,
272
+ json_body=json_body,
273
+ accept=accept,
274
+ )
275
+ ).parsed
@@ -0,0 +1,282 @@
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 typing import cast, List
13
+ from typing import Union
14
+ from typing import cast
15
+ from typing import Optional
16
+ from ...models.octostar_event import OctostarEvent
17
+ from ...models.pull_events_from_stream_response_401 import (
18
+ PullEventsFromStreamResponse401,
19
+ )
20
+ from typing import Dict
21
+
22
+
23
+ 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.
24
+ Please create a client using octostar.client.make_client() and run the function via client.execute()."""
25
+
26
+
27
+ def _get_kwargs(
28
+ stream_id: str,
29
+ *,
30
+ client: Client = None,
31
+ count: Union[Unset, None, int] = 10,
32
+ accept: Union[Unset, str] = "application/json",
33
+ ) -> Dict[str, Any]:
34
+ if not client:
35
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
36
+ client = get_default_client()
37
+ # raise RuntimeError("Missing client!")
38
+
39
+ base_url = client.get_base_url_v1()
40
+ url = "{}/api/v1/streams/{stream_id}".format(base_url, stream_id=stream_id)
41
+
42
+ headers: Dict[str, str] = client.get_headers()
43
+ cookies: Dict[str, Any] = client.get_cookies()
44
+
45
+ if not isinstance(accept, Unset):
46
+ headers["Accept"] = accept
47
+
48
+ params: Dict[str, Any] = {}
49
+ params["count"] = count
50
+
51
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
52
+
53
+ return {
54
+ "method": "get",
55
+ "url": url,
56
+ "headers": headers,
57
+ "cookies": cookies,
58
+ "timeout": client.get_timeout(),
59
+ "follow_redirects": client.follow_redirects,
60
+ "params": params,
61
+ }
62
+
63
+
64
+ def _parse_response(
65
+ *, client: Client = None, response: httpx.Response
66
+ ) -> Optional[Union[Any, List["OctostarEvent"], PullEventsFromStreamResponse401]]:
67
+ if not client:
68
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
69
+ client = get_default_client()
70
+ # raise RuntimeError("Missing client!")
71
+ if response.status_code == HTTPStatus.OK:
72
+ response_200 = []
73
+ _response_json = response.json()
74
+ # New FastAPI endpoint wraps events in {"events": [...], "count": N}
75
+ _response_200 = (
76
+ _response_json.get("events", _response_json)
77
+ if isinstance(_response_json, dict)
78
+ else _response_json
79
+ )
80
+ for response_200_item_data in _response_200:
81
+ response_200_item = OctostarEvent.from_dict(response_200_item_data)
82
+
83
+ response_200.append(response_200_item)
84
+
85
+ return response_200
86
+ if response.status_code == HTTPStatus.UNAUTHORIZED:
87
+ response_401 = PullEventsFromStreamResponse401.from_dict(response.json())
88
+
89
+ return response_401
90
+ if response.status_code == HTTPStatus.INTERNAL_SERVER_ERROR:
91
+ response_500 = cast(Any, None)
92
+ return response_500
93
+ if client.raise_on_unexpected_status:
94
+ raise errors.UnexpectedStatus(response.status_code, response.content)
95
+ else:
96
+ return None
97
+
98
+
99
+ def _build_response(
100
+ *, client: Client = None, response: httpx.Response
101
+ ) -> Response[Union[Any, List["OctostarEvent"], PullEventsFromStreamResponse401]]:
102
+ if not client:
103
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
104
+ client = get_default_client()
105
+ # raise RuntimeError("Missing client!")
106
+ response_kwargs = {
107
+ "status_code": HTTPStatus(response.status_code),
108
+ "content": response.content,
109
+ "headers": response.headers,
110
+ "parsed": _parse_response(client=client, response=response),
111
+ }
112
+ return Response(**response_kwargs)
113
+
114
+
115
+ def _build_chunk_response(
116
+ *, client: Client = None, response: httpx.Response, chunk: bytes
117
+ ) -> Response[Union[Any, List["OctostarEvent"], PullEventsFromStreamResponse401]]:
118
+ if not client:
119
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
120
+ client = get_default_client()
121
+ # raise RuntimeError("Missing client!")
122
+ response_kwargs = {
123
+ "status_code": HTTPStatus(response.status_code),
124
+ "content": chunk,
125
+ "headers": response.headers,
126
+ "parsed": None, # cannot parse incomplete chunks of data, we leave it to the user
127
+ }
128
+ return Response(**response_kwargs)
129
+
130
+
131
+ def sync_detailed(
132
+ stream_id: str,
133
+ *,
134
+ client: Client = None,
135
+ count: Union[Unset, None, int] = 10,
136
+ accept: Union[Unset, str] = "application/json",
137
+ ) -> Response[Union[Any, List["OctostarEvent"], PullEventsFromStreamResponse401]]:
138
+ """## Pulls events from a stream
139
+
140
+ Pulls events from a stream
141
+
142
+ ### Args:
143
+ * `stream_id`: stream_id (str):
144
+ * `count`: count (Union[Unset, None, int]): Default: 10.
145
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
146
+
147
+ ### Raises:
148
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
149
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
150
+
151
+ ## Returns:
152
+ * `Response[Union[Any, List['OctostarEvent'], PullEventsFromStreamResponse401]]`
153
+ """
154
+
155
+ if not client:
156
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
157
+ client = get_default_client()
158
+ # raise RuntimeError("Missing client!")
159
+ kwargs = _get_kwargs(
160
+ stream_id=stream_id,
161
+ client=client,
162
+ count=count,
163
+ accept=accept,
164
+ )
165
+
166
+ response = httpx.request(
167
+ verify=client.verify_ssl,
168
+ **kwargs,
169
+ )
170
+ if response.is_error:
171
+ print(
172
+ f"{str(response.status_code)} Error: {response.text} for request",
173
+ str(kwargs),
174
+ )
175
+ return _build_response(client=client, response=response)
176
+
177
+
178
+ def sync(
179
+ stream_id: str,
180
+ *,
181
+ client: Client = None,
182
+ count: Union[Unset, None, int] = 10,
183
+ accept: Union[Unset, str] = "application/json",
184
+ ) -> Optional[Union[Any, List["OctostarEvent"], PullEventsFromStreamResponse401]]:
185
+ """## Pulls events from a stream
186
+
187
+ Pulls events from a stream
188
+
189
+ ### Args:
190
+ * `stream_id`: stream_id (str):
191
+ * `count`: count (Union[Unset, None, int]): Default: 10.
192
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
193
+
194
+ ### Raises:
195
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
196
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
197
+
198
+ ## Returns:
199
+ * `Union[Any, List['OctostarEvent'], PullEventsFromStreamResponse401]`
200
+ """
201
+
202
+ return sync_detailed(
203
+ stream_id=stream_id,
204
+ client=client,
205
+ count=count,
206
+ accept=accept,
207
+ ).parsed
208
+
209
+
210
+ async def asyncio_detailed(
211
+ stream_id: str,
212
+ *,
213
+ client: Client = None,
214
+ count: Union[Unset, None, int] = 10,
215
+ accept: Union[Unset, str] = "application/json",
216
+ ) -> Response[Union[Any, List["OctostarEvent"], PullEventsFromStreamResponse401]]:
217
+ """## Pulls events from a stream
218
+
219
+ Pulls events from a stream
220
+
221
+ ### Args:
222
+ * `stream_id`: stream_id (str):
223
+ * `count`: count (Union[Unset, None, int]): Default: 10.
224
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
225
+
226
+ ### Raises:
227
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
228
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
229
+
230
+ ## Returns:
231
+ * `Response[Union[Any, List['OctostarEvent'], PullEventsFromStreamResponse401]]`
232
+ """
233
+
234
+ if not client:
235
+ warn(client_missing_msg, FutureWarning, stacklevel=2)
236
+ client = get_default_client()
237
+ # raise RuntimeError("Missing client!")
238
+ kwargs = _get_kwargs(
239
+ stream_id=stream_id,
240
+ client=client,
241
+ count=count,
242
+ accept=accept,
243
+ )
244
+
245
+ async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
246
+ response = await _client.request(**kwargs)
247
+
248
+ return _build_response(client=client, response=response)
249
+
250
+
251
+ async def asyncio(
252
+ stream_id: str,
253
+ *,
254
+ client: Client = None,
255
+ count: Union[Unset, None, int] = 10,
256
+ accept: Union[Unset, str] = "application/json",
257
+ ) -> Optional[Union[Any, List["OctostarEvent"], PullEventsFromStreamResponse401]]:
258
+ """## Pulls events from a stream
259
+
260
+ Pulls events from a stream
261
+
262
+ ### Args:
263
+ * `stream_id`: stream_id (str):
264
+ * `count`: count (Union[Unset, None, int]): Default: 10.
265
+ * `Accept`: accept (Union[Unset, str]): Default: 'application/json'.
266
+
267
+ ### Raises:
268
+ * `errors.UnexpectedStatus`: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
269
+ * `httpx.TimeoutException`: If the request takes longer than Client.timeout.
270
+
271
+ ## Returns:
272
+ * `Union[Any, List['OctostarEvent'], PullEventsFromStreamResponse401]`
273
+ """
274
+
275
+ return (
276
+ await asyncio_detailed(
277
+ stream_id=stream_id,
278
+ client=client,
279
+ count=count,
280
+ accept=accept,
281
+ )
282
+ ).parsed