hotdata 0.0.1__tar.gz

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 (276) hide show
  1. hotdata-0.0.1/PKG-INFO +93 -0
  2. hotdata-0.0.1/README.md +78 -0
  3. hotdata-0.0.1/hotdata/__init__.py +300 -0
  4. hotdata-0.0.1/hotdata/api/__init__.py +20 -0
  5. hotdata-0.0.1/hotdata/api/connection_types_api.py +549 -0
  6. hotdata-0.0.1/hotdata/api/connections_api.py +2213 -0
  7. hotdata-0.0.1/hotdata/api/datasets_api.py +1711 -0
  8. hotdata-0.0.1/hotdata/api/embedding_providers_api.py +1380 -0
  9. hotdata-0.0.1/hotdata/api/indexes_api.py +977 -0
  10. hotdata-0.0.1/hotdata/api/information_schema_api.py +390 -0
  11. hotdata-0.0.1/hotdata/api/jobs_api.py +619 -0
  12. hotdata-0.0.1/hotdata/api/query_api.py +320 -0
  13. hotdata-0.0.1/hotdata/api/query_runs_api.py +615 -0
  14. hotdata-0.0.1/hotdata/api/refresh_api.py +317 -0
  15. hotdata-0.0.1/hotdata/api/results_api.py +581 -0
  16. hotdata-0.0.1/hotdata/api/saved_queries_api.py +2003 -0
  17. hotdata-0.0.1/hotdata/api/secrets_api.py +1380 -0
  18. hotdata-0.0.1/hotdata/api/uploads_api.py +595 -0
  19. hotdata-0.0.1/hotdata/api/workspace_context_api.py +828 -0
  20. hotdata-0.0.1/hotdata/api/workspaces_api.py +602 -0
  21. hotdata-0.0.1/hotdata/api_client.py +806 -0
  22. hotdata-0.0.1/hotdata/api_response.py +21 -0
  23. hotdata-0.0.1/hotdata/configuration.py +620 -0
  24. hotdata-0.0.1/hotdata/exceptions.py +219 -0
  25. hotdata-0.0.1/hotdata/models/__init__.py +125 -0
  26. hotdata-0.0.1/hotdata/models/api_error_detail.py +90 -0
  27. hotdata-0.0.1/hotdata/models/api_error_response.py +92 -0
  28. hotdata-0.0.1/hotdata/models/async_query_response.py +99 -0
  29. hotdata-0.0.1/hotdata/models/boolean_profile_detail.py +91 -0
  30. hotdata-0.0.1/hotdata/models/categorical_profile_detail.py +96 -0
  31. hotdata-0.0.1/hotdata/models/category_value_info.py +96 -0
  32. hotdata-0.0.1/hotdata/models/column_definition.py +140 -0
  33. hotdata-0.0.1/hotdata/models/column_info.py +92 -0
  34. hotdata-0.0.1/hotdata/models/column_profile_detail.py +180 -0
  35. hotdata-0.0.1/hotdata/models/column_profile_detail_one_of.py +105 -0
  36. hotdata-0.0.1/hotdata/models/column_profile_detail_one_of1.py +102 -0
  37. hotdata-0.0.1/hotdata/models/column_profile_detail_one_of2.py +101 -0
  38. hotdata-0.0.1/hotdata/models/column_profile_detail_one_of3.py +99 -0
  39. hotdata-0.0.1/hotdata/models/column_profile_detail_one_of4.py +100 -0
  40. hotdata-0.0.1/hotdata/models/column_profile_info.py +108 -0
  41. hotdata-0.0.1/hotdata/models/column_type_spec.py +117 -0
  42. hotdata-0.0.1/hotdata/models/connection_health_response.py +100 -0
  43. hotdata-0.0.1/hotdata/models/connection_info.py +92 -0
  44. hotdata-0.0.1/hotdata/models/connection_refresh_result.py +117 -0
  45. hotdata-0.0.1/hotdata/models/connection_schema_error.py +90 -0
  46. hotdata-0.0.1/hotdata/models/connection_type_detail.py +104 -0
  47. hotdata-0.0.1/hotdata/models/connection_type_summary.py +90 -0
  48. hotdata-0.0.1/hotdata/models/create_connection_request.py +108 -0
  49. hotdata-0.0.1/hotdata/models/create_connection_response.py +105 -0
  50. hotdata-0.0.1/hotdata/models/create_dataset_request.py +101 -0
  51. hotdata-0.0.1/hotdata/models/create_dataset_response.py +99 -0
  52. hotdata-0.0.1/hotdata/models/create_embedding_provider_request.py +111 -0
  53. hotdata-0.0.1/hotdata/models/create_embedding_provider_response.py +102 -0
  54. hotdata-0.0.1/hotdata/models/create_index_request.py +130 -0
  55. hotdata-0.0.1/hotdata/models/create_saved_query_request.py +104 -0
  56. hotdata-0.0.1/hotdata/models/create_secret_request.py +90 -0
  57. hotdata-0.0.1/hotdata/models/create_secret_response.py +93 -0
  58. hotdata-0.0.1/hotdata/models/create_workspace201_response.py +93 -0
  59. hotdata-0.0.1/hotdata/models/create_workspace_request.py +90 -0
  60. hotdata-0.0.1/hotdata/models/create_workspace_response.py +94 -0
  61. hotdata-0.0.1/hotdata/models/dataset_source.py +180 -0
  62. hotdata-0.0.1/hotdata/models/dataset_source_one_of.py +109 -0
  63. hotdata-0.0.1/hotdata/models/dataset_source_one_of1.py +91 -0
  64. hotdata-0.0.1/hotdata/models/dataset_summary.py +108 -0
  65. hotdata-0.0.1/hotdata/models/dataset_version_summary.py +95 -0
  66. hotdata-0.0.1/hotdata/models/discovery_status.py +39 -0
  67. hotdata-0.0.1/hotdata/models/embedding_provider_response.py +108 -0
  68. hotdata-0.0.1/hotdata/models/error.py +88 -0
  69. hotdata-0.0.1/hotdata/models/execute_saved_query_request.py +93 -0
  70. hotdata-0.0.1/hotdata/models/get_connection_response.py +97 -0
  71. hotdata-0.0.1/hotdata/models/get_dataset_response.py +120 -0
  72. hotdata-0.0.1/hotdata/models/get_result_response.py +126 -0
  73. hotdata-0.0.1/hotdata/models/get_secret_response.py +93 -0
  74. hotdata-0.0.1/hotdata/models/get_workspace_context_response.py +92 -0
  75. hotdata-0.0.1/hotdata/models/index_info_response.py +107 -0
  76. hotdata-0.0.1/hotdata/models/index_status.py +38 -0
  77. hotdata-0.0.1/hotdata/models/information_schema_response.py +110 -0
  78. hotdata-0.0.1/hotdata/models/inline_data.py +92 -0
  79. hotdata-0.0.1/hotdata/models/inline_dataset_source.py +92 -0
  80. hotdata-0.0.1/hotdata/models/job_result.py +152 -0
  81. hotdata-0.0.1/hotdata/models/job_status.py +41 -0
  82. hotdata-0.0.1/hotdata/models/job_status_response.py +124 -0
  83. hotdata-0.0.1/hotdata/models/job_type.py +40 -0
  84. hotdata-0.0.1/hotdata/models/list_connection_types_response.py +96 -0
  85. hotdata-0.0.1/hotdata/models/list_connections_response.py +96 -0
  86. hotdata-0.0.1/hotdata/models/list_dataset_versions_response.py +107 -0
  87. hotdata-0.0.1/hotdata/models/list_datasets_response.py +105 -0
  88. hotdata-0.0.1/hotdata/models/list_embedding_providers_response.py +96 -0
  89. hotdata-0.0.1/hotdata/models/list_indexes_response.py +96 -0
  90. hotdata-0.0.1/hotdata/models/list_jobs_response.py +96 -0
  91. hotdata-0.0.1/hotdata/models/list_query_runs_response.py +110 -0
  92. hotdata-0.0.1/hotdata/models/list_results_response.py +105 -0
  93. hotdata-0.0.1/hotdata/models/list_saved_queries_response.py +105 -0
  94. hotdata-0.0.1/hotdata/models/list_saved_query_versions_response.py +107 -0
  95. hotdata-0.0.1/hotdata/models/list_secrets_response.py +96 -0
  96. hotdata-0.0.1/hotdata/models/list_uploads_response.py +96 -0
  97. hotdata-0.0.1/hotdata/models/list_workspace_contexts_response.py +96 -0
  98. hotdata-0.0.1/hotdata/models/list_workspaces200_response.py +97 -0
  99. hotdata-0.0.1/hotdata/models/list_workspaces_response.py +98 -0
  100. hotdata-0.0.1/hotdata/models/numeric_profile_detail.py +92 -0
  101. hotdata-0.0.1/hotdata/models/query_request.py +98 -0
  102. hotdata-0.0.1/hotdata/models/query_response.py +113 -0
  103. hotdata-0.0.1/hotdata/models/query_run_info.py +176 -0
  104. hotdata-0.0.1/hotdata/models/refresh_dataset_response.py +95 -0
  105. hotdata-0.0.1/hotdata/models/refresh_request.py +120 -0
  106. hotdata-0.0.1/hotdata/models/refresh_response.py +180 -0
  107. hotdata-0.0.1/hotdata/models/refresh_warning.py +102 -0
  108. hotdata-0.0.1/hotdata/models/result_info.py +100 -0
  109. hotdata-0.0.1/hotdata/models/saved_query_dataset_source.py +95 -0
  110. hotdata-0.0.1/hotdata/models/saved_query_detail.py +168 -0
  111. hotdata-0.0.1/hotdata/models/saved_query_summary.py +101 -0
  112. hotdata-0.0.1/hotdata/models/saved_query_version_info.py +158 -0
  113. hotdata-0.0.1/hotdata/models/schema_refresh_result.py +107 -0
  114. hotdata-0.0.1/hotdata/models/secret_metadata_response.py +93 -0
  115. hotdata-0.0.1/hotdata/models/sql_query_dataset_source.py +102 -0
  116. hotdata-0.0.1/hotdata/models/submit_job_response.py +93 -0
  117. hotdata-0.0.1/hotdata/models/table_info.py +116 -0
  118. hotdata-0.0.1/hotdata/models/table_profile_response.py +112 -0
  119. hotdata-0.0.1/hotdata/models/table_refresh_error.py +92 -0
  120. hotdata-0.0.1/hotdata/models/table_refresh_result.py +107 -0
  121. hotdata-0.0.1/hotdata/models/temporal_profile_detail.py +90 -0
  122. hotdata-0.0.1/hotdata/models/text_profile_detail.py +93 -0
  123. hotdata-0.0.1/hotdata/models/update_dataset_request.py +107 -0
  124. hotdata-0.0.1/hotdata/models/update_dataset_response.py +104 -0
  125. hotdata-0.0.1/hotdata/models/update_embedding_provider_request.py +114 -0
  126. hotdata-0.0.1/hotdata/models/update_embedding_provider_response.py +93 -0
  127. hotdata-0.0.1/hotdata/models/update_saved_query_request.py +128 -0
  128. hotdata-0.0.1/hotdata/models/update_secret_request.py +88 -0
  129. hotdata-0.0.1/hotdata/models/update_secret_response.py +91 -0
  130. hotdata-0.0.1/hotdata/models/upload_dataset_source.py +97 -0
  131. hotdata-0.0.1/hotdata/models/upload_info.py +102 -0
  132. hotdata-0.0.1/hotdata/models/upload_response.py +102 -0
  133. hotdata-0.0.1/hotdata/models/upsert_workspace_context_request.py +90 -0
  134. hotdata-0.0.1/hotdata/models/upsert_workspace_context_response.py +92 -0
  135. hotdata-0.0.1/hotdata/models/url_dataset_source.py +97 -0
  136. hotdata-0.0.1/hotdata/models/workspace_context_entry.py +93 -0
  137. hotdata-0.0.1/hotdata/models/workspace_detail.py +94 -0
  138. hotdata-0.0.1/hotdata/models/workspace_list_item.py +98 -0
  139. hotdata-0.0.1/hotdata/py.typed +0 -0
  140. hotdata-0.0.1/hotdata/rest.py +264 -0
  141. hotdata-0.0.1/hotdata.egg-info/PKG-INFO +93 -0
  142. hotdata-0.0.1/hotdata.egg-info/SOURCES.txt +275 -0
  143. hotdata-0.0.1/hotdata.egg-info/dependency_links.txt +1 -0
  144. hotdata-0.0.1/hotdata.egg-info/requires.txt +4 -0
  145. hotdata-0.0.1/hotdata.egg-info/top_level.txt +1 -0
  146. hotdata-0.0.1/pyproject.toml +102 -0
  147. hotdata-0.0.1/setup.cfg +7 -0
  148. hotdata-0.0.1/test/test_api_error_detail.py +54 -0
  149. hotdata-0.0.1/test/test_api_error_response.py +56 -0
  150. hotdata-0.0.1/test/test_async_query_response.py +58 -0
  151. hotdata-0.0.1/test/test_boolean_profile_detail.py +55 -0
  152. hotdata-0.0.1/test/test_categorical_profile_detail.py +61 -0
  153. hotdata-0.0.1/test/test_category_value_info.py +54 -0
  154. hotdata-0.0.1/test/test_column_definition.py +56 -0
  155. hotdata-0.0.1/test/test_column_info.py +56 -0
  156. hotdata-0.0.1/test/test_column_profile_detail.py +78 -0
  157. hotdata-0.0.1/test/test_column_profile_detail_one_of.py +62 -0
  158. hotdata-0.0.1/test/test_column_profile_detail_one_of1.py +58 -0
  159. hotdata-0.0.1/test/test_column_profile_detail_one_of2.py +58 -0
  160. hotdata-0.0.1/test/test_column_profile_detail_one_of3.py +56 -0
  161. hotdata-0.0.1/test/test_column_profile_detail_one_of4.py +56 -0
  162. hotdata-0.0.1/test/test_column_profile_info.py +61 -0
  163. hotdata-0.0.1/test/test_column_type_spec.py +56 -0
  164. hotdata-0.0.1/test/test_connection_health_response.py +57 -0
  165. hotdata-0.0.1/test/test_connection_info.py +56 -0
  166. hotdata-0.0.1/test/test_connection_refresh_result.py +78 -0
  167. hotdata-0.0.1/test/test_connection_schema_error.py +54 -0
  168. hotdata-0.0.1/test/test_connection_type_detail.py +57 -0
  169. hotdata-0.0.1/test/test_connection_type_summary.py +55 -0
  170. hotdata-0.0.1/test/test_connection_types_api.py +46 -0
  171. hotdata-0.0.1/test/test_connections_api.py +87 -0
  172. hotdata-0.0.1/test/test_create_connection_request.py +58 -0
  173. hotdata-0.0.1/test/test_create_connection_response.py +61 -0
  174. hotdata-0.0.1/test/test_create_dataset_request.py +55 -0
  175. hotdata-0.0.1/test/test_create_dataset_response.py +60 -0
  176. hotdata-0.0.1/test/test_create_embedding_provider_request.py +58 -0
  177. hotdata-0.0.1/test/test_create_embedding_provider_response.py +61 -0
  178. hotdata-0.0.1/test/test_create_index_request.py +66 -0
  179. hotdata-0.0.1/test/test_create_saved_query_request.py +58 -0
  180. hotdata-0.0.1/test/test_create_secret_request.py +54 -0
  181. hotdata-0.0.1/test/test_create_secret_response.py +56 -0
  182. hotdata-0.0.1/test/test_create_workspace201_response.py +62 -0
  183. hotdata-0.0.1/test/test_create_workspace_request.py +53 -0
  184. hotdata-0.0.1/test/test_create_workspace_response.py +63 -0
  185. hotdata-0.0.1/test/test_dataset_source.py +68 -0
  186. hotdata-0.0.1/test/test_dataset_source_one_of.py +56 -0
  187. hotdata-0.0.1/test/test_dataset_source_one_of1.py +62 -0
  188. hotdata-0.0.1/test/test_dataset_summary.py +60 -0
  189. hotdata-0.0.1/test/test_dataset_version_summary.py +59 -0
  190. hotdata-0.0.1/test/test_datasets_api.py +66 -0
  191. hotdata-0.0.1/test/test_discovery_status.py +33 -0
  192. hotdata-0.0.1/test/test_embedding_provider_response.py +67 -0
  193. hotdata-0.0.1/test/test_embedding_providers_api.py +67 -0
  194. hotdata-0.0.1/test/test_error.py +52 -0
  195. hotdata-0.0.1/test/test_execute_saved_query_request.py +51 -0
  196. hotdata-0.0.1/test/test_get_connection_response.py +60 -0
  197. hotdata-0.0.1/test/test_get_dataset_response.py +76 -0
  198. hotdata-0.0.1/test/test_get_result_response.py +67 -0
  199. hotdata-0.0.1/test/test_get_secret_response.py +56 -0
  200. hotdata-0.0.1/test/test_get_workspace_context_response.py +59 -0
  201. hotdata-0.0.1/test/test_index_info_response.py +68 -0
  202. hotdata-0.0.1/test/test_index_status.py +34 -0
  203. hotdata-0.0.1/test/test_indexes_api.py +53 -0
  204. hotdata-0.0.1/test/test_information_schema_api.py +38 -0
  205. hotdata-0.0.1/test/test_information_schema_response.py +85 -0
  206. hotdata-0.0.1/test/test_inline_data.py +57 -0
  207. hotdata-0.0.1/test/test_inline_dataset_source.py +63 -0
  208. hotdata-0.0.1/test/test_job_result.py +96 -0
  209. hotdata-0.0.1/test/test_job_status.py +34 -0
  210. hotdata-0.0.1/test/test_job_status_response.py +64 -0
  211. hotdata-0.0.1/test/test_job_type.py +34 -0
  212. hotdata-0.0.1/test/test_jobs_api.py +46 -0
  213. hotdata-0.0.1/test/test_list_connection_types_response.py +61 -0
  214. hotdata-0.0.1/test/test_list_connections_response.py +62 -0
  215. hotdata-0.0.1/test/test_list_dataset_versions_response.py +75 -0
  216. hotdata-0.0.1/test/test_list_datasets_response.py +74 -0
  217. hotdata-0.0.1/test/test_list_embedding_providers_response.py +73 -0
  218. hotdata-0.0.1/test/test_list_indexes_response.py +75 -0
  219. hotdata-0.0.1/test/test_list_jobs_response.py +73 -0
  220. hotdata-0.0.1/test/test_list_query_runs_response.py +93 -0
  221. hotdata-0.0.1/test/test_list_results_response.py +72 -0
  222. hotdata-0.0.1/test/test_list_saved_queries_response.py +82 -0
  223. hotdata-0.0.1/test/test_list_saved_query_versions_response.py +92 -0
  224. hotdata-0.0.1/test/test_list_secrets_response.py +62 -0
  225. hotdata-0.0.1/test/test_list_uploads_response.py +66 -0
  226. hotdata-0.0.1/test/test_list_workspace_contexts_response.py +63 -0
  227. hotdata-0.0.1/test/test_list_workspaces200_response.py +70 -0
  228. hotdata-0.0.1/test/test_list_workspaces_response.py +71 -0
  229. hotdata-0.0.1/test/test_numeric_profile_detail.py +57 -0
  230. hotdata-0.0.1/test/test_query_api.py +38 -0
  231. hotdata-0.0.1/test/test_query_request.py +52 -0
  232. hotdata-0.0.1/test/test_query_response.py +80 -0
  233. hotdata-0.0.1/test/test_query_run_info.py +71 -0
  234. hotdata-0.0.1/test/test_query_runs_api.py +38 -0
  235. hotdata-0.0.1/test/test_refresh_api.py +38 -0
  236. hotdata-0.0.1/test/test_refresh_dataset_response.py +59 -0
  237. hotdata-0.0.1/test/test_refresh_request.py +55 -0
  238. hotdata-0.0.1/test/test_refresh_response.py +94 -0
  239. hotdata-0.0.1/test/test_refresh_warning.py +54 -0
  240. hotdata-0.0.1/test/test_result_info.py +57 -0
  241. hotdata-0.0.1/test/test_results_api.py +45 -0
  242. hotdata-0.0.1/test/test_saved_queries_api.py +80 -0
  243. hotdata-0.0.1/test/test_saved_query_dataset_source.py +54 -0
  244. hotdata-0.0.1/test/test_saved_query_detail.py +81 -0
  245. hotdata-0.0.1/test/test_saved_query_summary.py +68 -0
  246. hotdata-0.0.1/test/test_saved_query_version_info.py +67 -0
  247. hotdata-0.0.1/test/test_schema_refresh_result.py +65 -0
  248. hotdata-0.0.1/test/test_secret_metadata_response.py +56 -0
  249. hotdata-0.0.1/test/test_secrets_api.py +66 -0
  250. hotdata-0.0.1/test/test_sql_query_dataset_source.py +55 -0
  251. hotdata-0.0.1/test/test_submit_job_response.py +57 -0
  252. hotdata-0.0.1/test/test_table_info.py +65 -0
  253. hotdata-0.0.1/test/test_table_profile_response.py +77 -0
  254. hotdata-0.0.1/test/test_table_refresh_error.py +56 -0
  255. hotdata-0.0.1/test/test_table_refresh_result.py +66 -0
  256. hotdata-0.0.1/test/test_temporal_profile_detail.py +55 -0
  257. hotdata-0.0.1/test/test_text_profile_detail.py +57 -0
  258. hotdata-0.0.1/test/test_update_dataset_request.py +52 -0
  259. hotdata-0.0.1/test/test_update_dataset_response.py +58 -0
  260. hotdata-0.0.1/test/test_update_embedding_provider_request.py +55 -0
  261. hotdata-0.0.1/test/test_update_embedding_provider_response.py +57 -0
  262. hotdata-0.0.1/test/test_update_saved_query_request.py +58 -0
  263. hotdata-0.0.1/test/test_update_secret_request.py +52 -0
  264. hotdata-0.0.1/test/test_update_secret_response.py +54 -0
  265. hotdata-0.0.1/test/test_upload_dataset_source.py +57 -0
  266. hotdata-0.0.1/test/test_upload_info.py +59 -0
  267. hotdata-0.0.1/test/test_upload_response.py +59 -0
  268. hotdata-0.0.1/test/test_uploads_api.py +45 -0
  269. hotdata-0.0.1/test/test_upsert_workspace_context_request.py +55 -0
  270. hotdata-0.0.1/test/test_upsert_workspace_context_response.py +59 -0
  271. hotdata-0.0.1/test/test_url_dataset_source.py +57 -0
  272. hotdata-0.0.1/test/test_workspace_context_api.py +53 -0
  273. hotdata-0.0.1/test/test_workspace_context_entry.py +57 -0
  274. hotdata-0.0.1/test/test_workspace_detail.py +58 -0
  275. hotdata-0.0.1/test/test_workspace_list_item.py +62 -0
  276. hotdata-0.0.1/test/test_workspaces_api.py +45 -0
hotdata-0.0.1/PKG-INFO ADDED
@@ -0,0 +1,93 @@
1
+ Metadata-Version: 2.4
2
+ Name: hotdata
3
+ Version: 0.0.1
4
+ Summary: Official Python client for the Hotdata API
5
+ Author-email: Hotdata <developers@hotdata.dev>
6
+ License: MIT
7
+ Project-URL: Repository, https://github.com/hotdata-dev/sdk-python
8
+ Keywords: hotdata,api-client,data-platform
9
+ Requires-Python: >=3.9
10
+ Description-Content-Type: text/markdown
11
+ Requires-Dist: urllib3<3.0.0,>=2.1.0
12
+ Requires-Dist: python-dateutil>=2.8.2
13
+ Requires-Dist: pydantic>=2
14
+ Requires-Dist: typing-extensions>=4.7.1
15
+
16
+ # hotdata
17
+
18
+ Official Python client for the [Hotdata](https://app.hotdata.dev) HTTP API: workspaces, connections, datasets, SQL queries, results, secrets, uploads, indexes, jobs, embedding providers, and workspace context.
19
+
20
+ The package is produced with [OpenAPI Generator](https://openapi-generator.tech) from the Hotdata OpenAPI spec.
21
+
22
+ ## Requirements
23
+
24
+ Python 3.9+
25
+
26
+ ## Install
27
+
28
+ From the repository:
29
+
30
+ ```sh
31
+ pip install "git+https://github.com/hotdata-dev/sdk-python.git"
32
+ ```
33
+
34
+ From a local checkout (editable):
35
+
36
+ ```sh
37
+ pip install -e .
38
+ ```
39
+
40
+ ## Tests
41
+
42
+ ```sh
43
+ pytest
44
+ ```
45
+
46
+ ## Authentication
47
+
48
+ The API uses **Bearer** JWTs and an **`X-Workspace-Id`** header on requests that are scoped to a workspace.
49
+
50
+ ```python
51
+ import hotdata
52
+
53
+ configuration = hotdata.Configuration(
54
+ access_token="YOUR_ACCESS_TOKEN",
55
+ api_key={"WorkspaceId": "YOUR_WORKSPACE_ID"},
56
+ )
57
+ ```
58
+
59
+ `host` defaults to `https://app.hotdata.dev`. Override it if you target another environment.
60
+
61
+ ## Usage
62
+
63
+ ```python
64
+ import hotdata
65
+ from hotdata.rest import ApiException
66
+
67
+ configuration = hotdata.Configuration(
68
+ access_token="YOUR_ACCESS_TOKEN",
69
+ api_key={"WorkspaceId": "YOUR_WORKSPACE_ID"},
70
+ )
71
+
72
+ with hotdata.ApiClient(configuration) as api_client:
73
+ workspaces = hotdata.WorkspacesApi(api_client)
74
+ try:
75
+ response = workspaces.list_workspaces()
76
+ except ApiException as e:
77
+ print(f"API error: {e.status} {e.reason}\n{e.body}")
78
+ ```
79
+
80
+ Each `Api` class groups endpoints by resource. Construct the client, then call the typed methods you need.
81
+
82
+ ## API reference
83
+
84
+ Generated Markdown for every operation and model is in [`docs/`](docs/):
85
+
86
+ - Resource APIs: `docs/*Api.md` (for example [`docs/QueryApi.md`](docs/QueryApi.md))
87
+ - Request and response models: `docs/<ModelName>.md`
88
+
89
+ Use your editor or GitHub file search there instead of duplicating large tables in this file.
90
+
91
+ ## Support
92
+
93
+ Questions and issues: [github.com/hotdata-dev/sdk-python](https://github.com/hotdata-dev/sdk-python).
@@ -0,0 +1,78 @@
1
+ # hotdata
2
+
3
+ Official Python client for the [Hotdata](https://app.hotdata.dev) HTTP API: workspaces, connections, datasets, SQL queries, results, secrets, uploads, indexes, jobs, embedding providers, and workspace context.
4
+
5
+ The package is produced with [OpenAPI Generator](https://openapi-generator.tech) from the Hotdata OpenAPI spec.
6
+
7
+ ## Requirements
8
+
9
+ Python 3.9+
10
+
11
+ ## Install
12
+
13
+ From the repository:
14
+
15
+ ```sh
16
+ pip install "git+https://github.com/hotdata-dev/sdk-python.git"
17
+ ```
18
+
19
+ From a local checkout (editable):
20
+
21
+ ```sh
22
+ pip install -e .
23
+ ```
24
+
25
+ ## Tests
26
+
27
+ ```sh
28
+ pytest
29
+ ```
30
+
31
+ ## Authentication
32
+
33
+ The API uses **Bearer** JWTs and an **`X-Workspace-Id`** header on requests that are scoped to a workspace.
34
+
35
+ ```python
36
+ import hotdata
37
+
38
+ configuration = hotdata.Configuration(
39
+ access_token="YOUR_ACCESS_TOKEN",
40
+ api_key={"WorkspaceId": "YOUR_WORKSPACE_ID"},
41
+ )
42
+ ```
43
+
44
+ `host` defaults to `https://app.hotdata.dev`. Override it if you target another environment.
45
+
46
+ ## Usage
47
+
48
+ ```python
49
+ import hotdata
50
+ from hotdata.rest import ApiException
51
+
52
+ configuration = hotdata.Configuration(
53
+ access_token="YOUR_ACCESS_TOKEN",
54
+ api_key={"WorkspaceId": "YOUR_WORKSPACE_ID"},
55
+ )
56
+
57
+ with hotdata.ApiClient(configuration) as api_client:
58
+ workspaces = hotdata.WorkspacesApi(api_client)
59
+ try:
60
+ response = workspaces.list_workspaces()
61
+ except ApiException as e:
62
+ print(f"API error: {e.status} {e.reason}\n{e.body}")
63
+ ```
64
+
65
+ Each `Api` class groups endpoints by resource. Construct the client, then call the typed methods you need.
66
+
67
+ ## API reference
68
+
69
+ Generated Markdown for every operation and model is in [`docs/`](docs/):
70
+
71
+ - Resource APIs: `docs/*Api.md` (for example [`docs/QueryApi.md`](docs/QueryApi.md))
72
+ - Request and response models: `docs/<ModelName>.md`
73
+
74
+ Use your editor or GitHub file search there instead of duplicating large tables in this file.
75
+
76
+ ## Support
77
+
78
+ Questions and issues: [github.com/hotdata-dev/sdk-python](https://github.com/hotdata-dev/sdk-python).
@@ -0,0 +1,300 @@
1
+ # coding: utf-8
2
+
3
+ # flake8: noqa
4
+
5
+ """
6
+ Hotdata API
7
+
8
+ Powerful data platform API for datasets, queries, and analytics.
9
+
10
+ The version of the OpenAPI document: 1.0.0
11
+ Contact: developers@hotdata.dev
12
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
13
+
14
+ Do not edit the class manually.
15
+ """ # noqa: E501
16
+
17
+
18
+ from importlib.metadata import PackageNotFoundError, version as _pkg_version
19
+
20
+ try:
21
+ __version__ = _pkg_version("hotdata")
22
+ except PackageNotFoundError: # running from a source checkout without install
23
+ __version__ = "0.0.0+unknown"
24
+
25
+ # Define package exports
26
+ __all__ = [
27
+ "ConnectionTypesApi",
28
+ "ConnectionsApi",
29
+ "DatasetsApi",
30
+ "EmbeddingProvidersApi",
31
+ "IndexesApi",
32
+ "InformationSchemaApi",
33
+ "JobsApi",
34
+ "QueryApi",
35
+ "QueryRunsApi",
36
+ "RefreshApi",
37
+ "ResultsApi",
38
+ "SavedQueriesApi",
39
+ "SecretsApi",
40
+ "UploadsApi",
41
+ "WorkspaceContextApi",
42
+ "WorkspacesApi",
43
+ "ApiResponse",
44
+ "ApiClient",
45
+ "Configuration",
46
+ "OpenApiException",
47
+ "ApiTypeError",
48
+ "ApiValueError",
49
+ "ApiKeyError",
50
+ "ApiAttributeError",
51
+ "ApiException",
52
+ "ApiErrorDetail",
53
+ "ApiErrorResponse",
54
+ "AsyncQueryResponse",
55
+ "BooleanProfileDetail",
56
+ "CategoricalProfileDetail",
57
+ "CategoryValueInfo",
58
+ "ColumnInfo",
59
+ "ColumnProfileDetail",
60
+ "ColumnProfileDetailOneOf",
61
+ "ColumnProfileDetailOneOf1",
62
+ "ColumnProfileDetailOneOf2",
63
+ "ColumnProfileDetailOneOf3",
64
+ "ColumnProfileDetailOneOf4",
65
+ "ColumnProfileInfo",
66
+ "ColumnTypeSpec",
67
+ "ConnectionHealthResponse",
68
+ "ConnectionInfo",
69
+ "ConnectionRefreshResult",
70
+ "ConnectionSchemaError",
71
+ "ConnectionTypeDetail",
72
+ "ConnectionTypeSummary",
73
+ "CreateConnectionRequest",
74
+ "CreateConnectionResponse",
75
+ "CreateDatasetRequest",
76
+ "CreateDatasetResponse",
77
+ "CreateEmbeddingProviderRequest",
78
+ "CreateEmbeddingProviderResponse",
79
+ "CreateIndexRequest",
80
+ "CreateSavedQueryRequest",
81
+ "CreateSecretRequest",
82
+ "CreateSecretResponse",
83
+ "CreateWorkspaceRequest",
84
+ "CreateWorkspaceResponse",
85
+ "DatasetSource",
86
+ "DatasetSummary",
87
+ "DatasetVersionSummary",
88
+ "DiscoveryStatus",
89
+ "EmbeddingProviderResponse",
90
+ "Error",
91
+ "ExecuteSavedQueryRequest",
92
+ "GetConnectionResponse",
93
+ "GetDatasetResponse",
94
+ "GetResultResponse",
95
+ "GetSecretResponse",
96
+ "GetWorkspaceContextResponse",
97
+ "IndexInfoResponse",
98
+ "IndexStatus",
99
+ "InformationSchemaResponse",
100
+ "InlineData",
101
+ "InlineDatasetSource",
102
+ "JobResult",
103
+ "JobStatus",
104
+ "JobStatusResponse",
105
+ "JobType",
106
+ "ListConnectionTypesResponse",
107
+ "ListConnectionsResponse",
108
+ "ListDatasetVersionsResponse",
109
+ "ListDatasetsResponse",
110
+ "ListEmbeddingProvidersResponse",
111
+ "ListIndexesResponse",
112
+ "ListJobsResponse",
113
+ "ListQueryRunsResponse",
114
+ "ListResultsResponse",
115
+ "ListSavedQueriesResponse",
116
+ "ListSavedQueryVersionsResponse",
117
+ "ListSecretsResponse",
118
+ "ListUploadsResponse",
119
+ "ListWorkspaceContextsResponse",
120
+ "ListWorkspacesResponse",
121
+ "NumericProfileDetail",
122
+ "QueryRequest",
123
+ "QueryResponse",
124
+ "QueryRunInfo",
125
+ "RefreshDatasetResponse",
126
+ "RefreshRequest",
127
+ "RefreshResponse",
128
+ "RefreshWarning",
129
+ "ResultInfo",
130
+ "SavedQueryDatasetSource",
131
+ "SavedQueryDetail",
132
+ "SavedQuerySummary",
133
+ "SavedQueryVersionInfo",
134
+ "SchemaRefreshResult",
135
+ "SecretMetadataResponse",
136
+ "SqlQueryDatasetSource",
137
+ "SubmitJobResponse",
138
+ "TableInfo",
139
+ "TableProfileResponse",
140
+ "TableRefreshError",
141
+ "TableRefreshResult",
142
+ "TemporalProfileDetail",
143
+ "TextProfileDetail",
144
+ "UpdateDatasetRequest",
145
+ "UpdateDatasetResponse",
146
+ "UpdateEmbeddingProviderRequest",
147
+ "UpdateEmbeddingProviderResponse",
148
+ "UpdateSavedQueryRequest",
149
+ "UpdateSecretRequest",
150
+ "UpdateSecretResponse",
151
+ "UploadDatasetSource",
152
+ "UploadInfo",
153
+ "UploadResponse",
154
+ "UpsertWorkspaceContextRequest",
155
+ "UpsertWorkspaceContextResponse",
156
+ "UrlDatasetSource",
157
+ "WorkspaceContextEntry",
158
+ "WorkspaceDetail",
159
+ "WorkspaceListItem",
160
+ ]
161
+
162
+ # import apis into sdk package
163
+ from hotdata.api.connection_types_api import ConnectionTypesApi as ConnectionTypesApi
164
+ from hotdata.api.connections_api import ConnectionsApi as ConnectionsApi
165
+ from hotdata.api.datasets_api import DatasetsApi as DatasetsApi
166
+ from hotdata.api.embedding_providers_api import EmbeddingProvidersApi as EmbeddingProvidersApi
167
+ from hotdata.api.indexes_api import IndexesApi as IndexesApi
168
+ from hotdata.api.information_schema_api import InformationSchemaApi as InformationSchemaApi
169
+ from hotdata.api.jobs_api import JobsApi as JobsApi
170
+ from hotdata.api.query_api import QueryApi as QueryApi
171
+ from hotdata.api.query_runs_api import QueryRunsApi as QueryRunsApi
172
+ from hotdata.api.refresh_api import RefreshApi as RefreshApi
173
+ from hotdata.api.results_api import ResultsApi as ResultsApi
174
+ from hotdata.api.saved_queries_api import SavedQueriesApi as SavedQueriesApi
175
+ from hotdata.api.secrets_api import SecretsApi as SecretsApi
176
+ from hotdata.api.uploads_api import UploadsApi as UploadsApi
177
+ from hotdata.api.workspace_context_api import WorkspaceContextApi as WorkspaceContextApi
178
+ from hotdata.api.workspaces_api import WorkspacesApi as WorkspacesApi
179
+
180
+ # import ApiClient
181
+ from hotdata.api_response import ApiResponse as ApiResponse
182
+ from hotdata.api_client import ApiClient as ApiClient
183
+ from hotdata.configuration import Configuration as Configuration
184
+ from hotdata.exceptions import OpenApiException as OpenApiException
185
+ from hotdata.exceptions import ApiTypeError as ApiTypeError
186
+ from hotdata.exceptions import ApiValueError as ApiValueError
187
+ from hotdata.exceptions import ApiKeyError as ApiKeyError
188
+ from hotdata.exceptions import ApiAttributeError as ApiAttributeError
189
+ from hotdata.exceptions import ApiException as ApiException
190
+
191
+ # import models into sdk package
192
+ from hotdata.models.api_error_detail import ApiErrorDetail as ApiErrorDetail
193
+ from hotdata.models.api_error_response import ApiErrorResponse as ApiErrorResponse
194
+ from hotdata.models.async_query_response import AsyncQueryResponse as AsyncQueryResponse
195
+ from hotdata.models.boolean_profile_detail import BooleanProfileDetail as BooleanProfileDetail
196
+ from hotdata.models.categorical_profile_detail import CategoricalProfileDetail as CategoricalProfileDetail
197
+ from hotdata.models.category_value_info import CategoryValueInfo as CategoryValueInfo
198
+ from hotdata.models.column_info import ColumnInfo as ColumnInfo
199
+ from hotdata.models.column_profile_detail import ColumnProfileDetail as ColumnProfileDetail
200
+ from hotdata.models.column_profile_detail_one_of import ColumnProfileDetailOneOf as ColumnProfileDetailOneOf
201
+ from hotdata.models.column_profile_detail_one_of1 import ColumnProfileDetailOneOf1 as ColumnProfileDetailOneOf1
202
+ from hotdata.models.column_profile_detail_one_of2 import ColumnProfileDetailOneOf2 as ColumnProfileDetailOneOf2
203
+ from hotdata.models.column_profile_detail_one_of3 import ColumnProfileDetailOneOf3 as ColumnProfileDetailOneOf3
204
+ from hotdata.models.column_profile_detail_one_of4 import ColumnProfileDetailOneOf4 as ColumnProfileDetailOneOf4
205
+ from hotdata.models.column_profile_info import ColumnProfileInfo as ColumnProfileInfo
206
+ from hotdata.models.column_type_spec import ColumnTypeSpec as ColumnTypeSpec
207
+ from hotdata.models.connection_health_response import ConnectionHealthResponse as ConnectionHealthResponse
208
+ from hotdata.models.connection_info import ConnectionInfo as ConnectionInfo
209
+ from hotdata.models.connection_refresh_result import ConnectionRefreshResult as ConnectionRefreshResult
210
+ from hotdata.models.connection_schema_error import ConnectionSchemaError as ConnectionSchemaError
211
+ from hotdata.models.connection_type_detail import ConnectionTypeDetail as ConnectionTypeDetail
212
+ from hotdata.models.connection_type_summary import ConnectionTypeSummary as ConnectionTypeSummary
213
+ from hotdata.models.create_connection_request import CreateConnectionRequest as CreateConnectionRequest
214
+ from hotdata.models.create_connection_response import CreateConnectionResponse as CreateConnectionResponse
215
+ from hotdata.models.create_dataset_request import CreateDatasetRequest as CreateDatasetRequest
216
+ from hotdata.models.create_dataset_response import CreateDatasetResponse as CreateDatasetResponse
217
+ from hotdata.models.create_embedding_provider_request import CreateEmbeddingProviderRequest as CreateEmbeddingProviderRequest
218
+ from hotdata.models.create_embedding_provider_response import CreateEmbeddingProviderResponse as CreateEmbeddingProviderResponse
219
+ from hotdata.models.create_index_request import CreateIndexRequest as CreateIndexRequest
220
+ from hotdata.models.create_saved_query_request import CreateSavedQueryRequest as CreateSavedQueryRequest
221
+ from hotdata.models.create_secret_request import CreateSecretRequest as CreateSecretRequest
222
+ from hotdata.models.create_secret_response import CreateSecretResponse as CreateSecretResponse
223
+ from hotdata.models.create_workspace_request import CreateWorkspaceRequest as CreateWorkspaceRequest
224
+ from hotdata.models.create_workspace_response import CreateWorkspaceResponse as CreateWorkspaceResponse
225
+ from hotdata.models.dataset_source import DatasetSource as DatasetSource
226
+ from hotdata.models.dataset_summary import DatasetSummary as DatasetSummary
227
+ from hotdata.models.dataset_version_summary import DatasetVersionSummary as DatasetVersionSummary
228
+ from hotdata.models.discovery_status import DiscoveryStatus as DiscoveryStatus
229
+ from hotdata.models.embedding_provider_response import EmbeddingProviderResponse as EmbeddingProviderResponse
230
+ from hotdata.models.error import Error as Error
231
+ from hotdata.models.execute_saved_query_request import ExecuteSavedQueryRequest as ExecuteSavedQueryRequest
232
+ from hotdata.models.get_connection_response import GetConnectionResponse as GetConnectionResponse
233
+ from hotdata.models.get_dataset_response import GetDatasetResponse as GetDatasetResponse
234
+ from hotdata.models.get_result_response import GetResultResponse as GetResultResponse
235
+ from hotdata.models.get_secret_response import GetSecretResponse as GetSecretResponse
236
+ from hotdata.models.get_workspace_context_response import GetWorkspaceContextResponse as GetWorkspaceContextResponse
237
+ from hotdata.models.index_info_response import IndexInfoResponse as IndexInfoResponse
238
+ from hotdata.models.index_status import IndexStatus as IndexStatus
239
+ from hotdata.models.information_schema_response import InformationSchemaResponse as InformationSchemaResponse
240
+ from hotdata.models.inline_data import InlineData as InlineData
241
+ from hotdata.models.inline_dataset_source import InlineDatasetSource as InlineDatasetSource
242
+ from hotdata.models.job_result import JobResult as JobResult
243
+ from hotdata.models.job_status import JobStatus as JobStatus
244
+ from hotdata.models.job_status_response import JobStatusResponse as JobStatusResponse
245
+ from hotdata.models.job_type import JobType as JobType
246
+ from hotdata.models.list_connection_types_response import ListConnectionTypesResponse as ListConnectionTypesResponse
247
+ from hotdata.models.list_connections_response import ListConnectionsResponse as ListConnectionsResponse
248
+ from hotdata.models.list_dataset_versions_response import ListDatasetVersionsResponse as ListDatasetVersionsResponse
249
+ from hotdata.models.list_datasets_response import ListDatasetsResponse as ListDatasetsResponse
250
+ from hotdata.models.list_embedding_providers_response import ListEmbeddingProvidersResponse as ListEmbeddingProvidersResponse
251
+ from hotdata.models.list_indexes_response import ListIndexesResponse as ListIndexesResponse
252
+ from hotdata.models.list_jobs_response import ListJobsResponse as ListJobsResponse
253
+ from hotdata.models.list_query_runs_response import ListQueryRunsResponse as ListQueryRunsResponse
254
+ from hotdata.models.list_results_response import ListResultsResponse as ListResultsResponse
255
+ from hotdata.models.list_saved_queries_response import ListSavedQueriesResponse as ListSavedQueriesResponse
256
+ from hotdata.models.list_saved_query_versions_response import ListSavedQueryVersionsResponse as ListSavedQueryVersionsResponse
257
+ from hotdata.models.list_secrets_response import ListSecretsResponse as ListSecretsResponse
258
+ from hotdata.models.list_uploads_response import ListUploadsResponse as ListUploadsResponse
259
+ from hotdata.models.list_workspace_contexts_response import ListWorkspaceContextsResponse as ListWorkspaceContextsResponse
260
+ from hotdata.models.list_workspaces_response import ListWorkspacesResponse as ListWorkspacesResponse
261
+ from hotdata.models.numeric_profile_detail import NumericProfileDetail as NumericProfileDetail
262
+ from hotdata.models.query_request import QueryRequest as QueryRequest
263
+ from hotdata.models.query_response import QueryResponse as QueryResponse
264
+ from hotdata.models.query_run_info import QueryRunInfo as QueryRunInfo
265
+ from hotdata.models.refresh_dataset_response import RefreshDatasetResponse as RefreshDatasetResponse
266
+ from hotdata.models.refresh_request import RefreshRequest as RefreshRequest
267
+ from hotdata.models.refresh_response import RefreshResponse as RefreshResponse
268
+ from hotdata.models.refresh_warning import RefreshWarning as RefreshWarning
269
+ from hotdata.models.result_info import ResultInfo as ResultInfo
270
+ from hotdata.models.saved_query_dataset_source import SavedQueryDatasetSource as SavedQueryDatasetSource
271
+ from hotdata.models.saved_query_detail import SavedQueryDetail as SavedQueryDetail
272
+ from hotdata.models.saved_query_summary import SavedQuerySummary as SavedQuerySummary
273
+ from hotdata.models.saved_query_version_info import SavedQueryVersionInfo as SavedQueryVersionInfo
274
+ from hotdata.models.schema_refresh_result import SchemaRefreshResult as SchemaRefreshResult
275
+ from hotdata.models.secret_metadata_response import SecretMetadataResponse as SecretMetadataResponse
276
+ from hotdata.models.sql_query_dataset_source import SqlQueryDatasetSource as SqlQueryDatasetSource
277
+ from hotdata.models.submit_job_response import SubmitJobResponse as SubmitJobResponse
278
+ from hotdata.models.table_info import TableInfo as TableInfo
279
+ from hotdata.models.table_profile_response import TableProfileResponse as TableProfileResponse
280
+ from hotdata.models.table_refresh_error import TableRefreshError as TableRefreshError
281
+ from hotdata.models.table_refresh_result import TableRefreshResult as TableRefreshResult
282
+ from hotdata.models.temporal_profile_detail import TemporalProfileDetail as TemporalProfileDetail
283
+ from hotdata.models.text_profile_detail import TextProfileDetail as TextProfileDetail
284
+ from hotdata.models.update_dataset_request import UpdateDatasetRequest as UpdateDatasetRequest
285
+ from hotdata.models.update_dataset_response import UpdateDatasetResponse as UpdateDatasetResponse
286
+ from hotdata.models.update_embedding_provider_request import UpdateEmbeddingProviderRequest as UpdateEmbeddingProviderRequest
287
+ from hotdata.models.update_embedding_provider_response import UpdateEmbeddingProviderResponse as UpdateEmbeddingProviderResponse
288
+ from hotdata.models.update_saved_query_request import UpdateSavedQueryRequest as UpdateSavedQueryRequest
289
+ from hotdata.models.update_secret_request import UpdateSecretRequest as UpdateSecretRequest
290
+ from hotdata.models.update_secret_response import UpdateSecretResponse as UpdateSecretResponse
291
+ from hotdata.models.upload_dataset_source import UploadDatasetSource as UploadDatasetSource
292
+ from hotdata.models.upload_info import UploadInfo as UploadInfo
293
+ from hotdata.models.upload_response import UploadResponse as UploadResponse
294
+ from hotdata.models.upsert_workspace_context_request import UpsertWorkspaceContextRequest as UpsertWorkspaceContextRequest
295
+ from hotdata.models.upsert_workspace_context_response import UpsertWorkspaceContextResponse as UpsertWorkspaceContextResponse
296
+ from hotdata.models.url_dataset_source import UrlDatasetSource as UrlDatasetSource
297
+ from hotdata.models.workspace_context_entry import WorkspaceContextEntry as WorkspaceContextEntry
298
+ from hotdata.models.workspace_detail import WorkspaceDetail as WorkspaceDetail
299
+ from hotdata.models.workspace_list_item import WorkspaceListItem as WorkspaceListItem
300
+
@@ -0,0 +1,20 @@
1
+ # flake8: noqa
2
+
3
+ # import apis into api package
4
+ from hotdata.api.connection_types_api import ConnectionTypesApi
5
+ from hotdata.api.connections_api import ConnectionsApi
6
+ from hotdata.api.datasets_api import DatasetsApi
7
+ from hotdata.api.embedding_providers_api import EmbeddingProvidersApi
8
+ from hotdata.api.indexes_api import IndexesApi
9
+ from hotdata.api.information_schema_api import InformationSchemaApi
10
+ from hotdata.api.jobs_api import JobsApi
11
+ from hotdata.api.query_api import QueryApi
12
+ from hotdata.api.query_runs_api import QueryRunsApi
13
+ from hotdata.api.refresh_api import RefreshApi
14
+ from hotdata.api.results_api import ResultsApi
15
+ from hotdata.api.saved_queries_api import SavedQueriesApi
16
+ from hotdata.api.secrets_api import SecretsApi
17
+ from hotdata.api.uploads_api import UploadsApi
18
+ from hotdata.api.workspace_context_api import WorkspaceContextApi
19
+ from hotdata.api.workspaces_api import WorkspacesApi
20
+