hotdata 0.3.1__tar.gz → 0.4.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 (360) hide show
  1. {hotdata-0.3.1 → hotdata-0.4.1}/PKG-INFO +1 -1
  2. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/__init__.py +12 -14
  3. hotdata-0.4.1/hotdata/_retry.py +112 -0
  4. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/__init__.py +0 -1
  5. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/connections_api.py +12 -12
  6. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/databases_api.py +9 -9
  7. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/indexes_api.py +411 -36
  8. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/query_api.py +6 -0
  9. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/results_api.py +9 -9
  10. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api_client.py +1 -1
  11. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/configuration.py +7 -0
  12. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/__init__.py +2 -6
  13. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/create_connection_request.py +2 -9
  14. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/create_database_request.py +3 -10
  15. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/create_dataset_request.py +1 -8
  16. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/database_default_schema_decl.py +1 -1
  17. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/database_default_table_decl.py +1 -1
  18. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/get_result_response.py +2 -3
  19. hotdata-0.4.1/hotdata/models/index_entry_response.py +113 -0
  20. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/job_type.py +1 -0
  21. hotdata-0.4.1/hotdata/models/list_indexes_page_response.py +110 -0
  22. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/load_managed_table_request.py +1 -1
  23. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/load_managed_table_response.py +1 -1
  24. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/managed_schema_response.py +1 -1
  25. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/query_response.py +16 -5
  26. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/query_run_info.py +16 -2
  27. hotdata-0.4.1/hotdata/models/results_format_query.py +41 -0
  28. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/workspace_detail.py +2 -4
  29. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/workspace_list_item.py +2 -4
  30. hotdata-0.4.1/hotdata/query.py +580 -0
  31. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata.egg-info/PKG-INFO +1 -1
  32. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata.egg-info/SOURCES.txt +8 -32
  33. {hotdata-0.3.1 → hotdata-0.4.1}/pyproject.toml +1 -1
  34. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_api_error_detail.py +2 -1
  35. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_api_error_response.py +2 -1
  36. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_boolean_profile_detail.py +1 -1
  37. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_categorical_profile_detail.py +1 -1
  38. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_category_value_info.py +3 -3
  39. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_column_info.py +2 -1
  40. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_column_profile_detail.py +6 -5
  41. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_column_profile_detail_one_of.py +7 -6
  42. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_column_profile_detail_one_of1.py +2 -1
  43. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_column_profile_detail_one_of2.py +2 -1
  44. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_column_profile_detail_one_of3.py +2 -1
  45. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_column_profile_detail_one_of4.py +2 -1
  46. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_column_profile_info.py +2 -1
  47. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_column_type_spec.py +6 -5
  48. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_connection_health_response.py +3 -2
  49. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_connection_info.py +2 -1
  50. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_connection_refresh_result.py +4 -9
  51. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_connection_schema_error.py +2 -1
  52. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_connection_type_detail.py +1 -1
  53. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_connection_type_summary.py +1 -1
  54. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_connection_types_api.py +1 -1
  55. hotdata-0.4.1/test/test_connections_api.py +116 -0
  56. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_create_connection_request.py +11 -5
  57. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_create_connection_response.py +3 -2
  58. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_create_database_request.py +3 -1
  59. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_create_database_response.py +5 -2
  60. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_create_dataset_request.py +3 -2
  61. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_create_dataset_response.py +4 -1
  62. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_create_saved_query_request.py +3 -2
  63. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_create_secret_request.py +2 -1
  64. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_create_secret_response.py +2 -1
  65. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_create_workspace_request.py +2 -1
  66. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_create_workspace_response.py +5 -7
  67. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_database_detail_response.py +5 -2
  68. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_database_summary.py +5 -2
  69. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_databases_api.py +14 -0
  70. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_dataset_source.py +17 -5
  71. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_dataset_source_one_of.py +7 -4
  72. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_dataset_source_one_of1.py +7 -13
  73. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_dataset_summary.py +7 -1
  74. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_datasets_api.py +9 -1
  75. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_discovery_status.py +2 -1
  76. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_error.py +2 -1
  77. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_execute_saved_query_request.py +3 -2
  78. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_get_connection_response.py +2 -1
  79. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_get_dataset_response.py +5 -1
  80. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_get_result_response.py +4 -3
  81. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_get_secret_response.py +2 -1
  82. hotdata-0.4.1/test/test_index_entry_response.py +73 -0
  83. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_indexes_api.py +28 -0
  84. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_information_schema_api.py +4 -3
  85. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_information_schema_response.py +5 -4
  86. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_inline_data.py +3 -2
  87. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_inline_dataset_source.py +1 -1
  88. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_job_result.py +8 -4
  89. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_list_connection_types_response.py +1 -1
  90. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_list_connections_response.py +2 -1
  91. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_list_databases_response.py +8 -4
  92. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_list_datasets_response.py +8 -1
  93. hotdata-0.4.1/test/test_list_indexes_page_response.py +64 -0
  94. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_list_query_runs_response.py +29 -20
  95. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_list_results_response.py +4 -3
  96. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_list_saved_queries_response.py +2 -1
  97. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_list_saved_query_versions_response.py +20 -19
  98. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_list_secrets_response.py +2 -1
  99. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_list_uploads_response.py +4 -3
  100. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_list_workspaces_response.py +5 -7
  101. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_numeric_profile_detail.py +1 -1
  102. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_query_api.py +4 -3
  103. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_query_request.py +7 -1
  104. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_query_response.py +9 -3
  105. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_query_run_info.py +15 -10
  106. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_query_runs_api.py +11 -3
  107. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_refresh_api.py +4 -3
  108. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_refresh_request.py +7 -4
  109. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_refresh_response.py +15 -10
  110. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_refresh_warning.py +4 -3
  111. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_result_info.py +3 -2
  112. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_results_api.py +6 -5
  113. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_saved_queries_api.py +2 -1
  114. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_saved_query_detail.py +11 -10
  115. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_saved_query_summary.py +2 -1
  116. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_saved_query_version_info.py +11 -10
  117. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_schema_refresh_result.py +2 -1
  118. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_secret_metadata_response.py +2 -1
  119. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_secrets_api.py +12 -11
  120. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_table_info.py +3 -2
  121. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_table_profile_response.py +3 -2
  122. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_table_refresh_error.py +2 -1
  123. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_table_refresh_result.py +4 -3
  124. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_temporal_profile_detail.py +1 -1
  125. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_text_profile_detail.py +1 -1
  126. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_update_dataset_request.py +5 -3
  127. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_update_dataset_response.py +5 -1
  128. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_update_saved_query_request.py +7 -6
  129. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_update_secret_request.py +2 -1
  130. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_update_secret_response.py +2 -1
  131. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_upload_dataset_source.py +1 -1
  132. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_upload_info.py +3 -2
  133. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_upload_response.py +3 -2
  134. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_uploads_api.py +2 -1
  135. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_workspace_detail.py +5 -6
  136. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_workspace_list_item.py +5 -6
  137. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_workspaces_api.py +9 -1
  138. hotdata-0.4.1/tests/test_query.py +515 -0
  139. hotdata-0.4.1/tests/test_retry.py +210 -0
  140. {hotdata-0.3.1 → hotdata-0.4.1}/tests/test_update_changelog.py +4 -0
  141. hotdata-0.3.1/hotdata/api/sandboxes_api.py +0 -1426
  142. hotdata-0.3.1/hotdata/api/workspace_context_api.py +0 -1099
  143. hotdata-0.3.1/hotdata/models/column_definition.py +0 -140
  144. hotdata-0.3.1/hotdata/models/create_sandbox_request.py +0 -90
  145. hotdata-0.3.1/hotdata/models/create_workspace201_response.py +0 -93
  146. hotdata-0.3.1/hotdata/models/delete_sandbox_response.py +0 -90
  147. hotdata-0.3.1/hotdata/models/get_workspace_context_response.py +0 -92
  148. hotdata-0.3.1/hotdata/models/list_sandboxes_response.py +0 -98
  149. hotdata-0.3.1/hotdata/models/list_workspace_contexts_response.py +0 -96
  150. hotdata-0.3.1/hotdata/models/list_workspaces200_response.py +0 -97
  151. hotdata-0.3.1/hotdata/models/results_format_query.py +0 -41
  152. hotdata-0.3.1/hotdata/models/sandbox.py +0 -97
  153. hotdata-0.3.1/hotdata/models/sandbox_response.py +0 -94
  154. hotdata-0.3.1/hotdata/models/update_sandbox_request.py +0 -90
  155. hotdata-0.3.1/hotdata/models/upsert_workspace_context_request.py +0 -90
  156. hotdata-0.3.1/hotdata/models/upsert_workspace_context_response.py +0 -92
  157. hotdata-0.3.1/hotdata/models/workspace_context_entry.py +0 -93
  158. hotdata-0.3.1/test/test_column_definition.py +0 -56
  159. hotdata-0.3.1/test/test_connections_api.py +0 -87
  160. hotdata-0.3.1/test/test_create_sandbox_request.py +0 -53
  161. hotdata-0.3.1/test/test_create_workspace201_response.py +0 -62
  162. hotdata-0.3.1/test/test_delete_sandbox_response.py +0 -55
  163. hotdata-0.3.1/test/test_get_workspace_context_response.py +0 -59
  164. hotdata-0.3.1/test/test_list_sandboxes_response.py +0 -69
  165. hotdata-0.3.1/test/test_list_workspace_contexts_response.py +0 -63
  166. hotdata-0.3.1/test/test_list_workspaces200_response.py +0 -70
  167. hotdata-0.3.1/test/test_sandbox.py +0 -61
  168. hotdata-0.3.1/test/test_sandbox_response.py +0 -65
  169. hotdata-0.3.1/test/test_sandboxes_api.py +0 -67
  170. hotdata-0.3.1/test/test_update_sandbox_request.py +0 -53
  171. hotdata-0.3.1/test/test_upsert_workspace_context_request.py +0 -55
  172. hotdata-0.3.1/test/test_upsert_workspace_context_response.py +0 -59
  173. hotdata-0.3.1/test/test_workspace_context_api.py +0 -53
  174. hotdata-0.3.1/test/test_workspace_context_entry.py +0 -57
  175. {hotdata-0.3.1 → hotdata-0.4.1}/README.md +0 -0
  176. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/_auth.py +0 -0
  177. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/connection_types_api.py +0 -0
  178. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/database_context_api.py +0 -0
  179. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/datasets_api.py +0 -0
  180. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/embedding_providers_api.py +0 -0
  181. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/information_schema_api.py +0 -0
  182. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/jobs_api.py +0 -0
  183. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/query_runs_api.py +0 -0
  184. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/refresh_api.py +0 -0
  185. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/saved_queries_api.py +0 -0
  186. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/secrets_api.py +0 -0
  187. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/uploads_api.py +0 -0
  188. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api/workspaces_api.py +0 -0
  189. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/api_response.py +0 -0
  190. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/arrow.py +0 -0
  191. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/exceptions.py +0 -0
  192. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/add_managed_schema_request.py +0 -0
  193. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/add_managed_table_decl.py +0 -0
  194. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/add_managed_table_request.py +0 -0
  195. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/api_error_detail.py +0 -0
  196. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/api_error_response.py +0 -0
  197. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/async_query_response.py +0 -0
  198. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/attach_database_catalog_request.py +0 -0
  199. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/boolean_profile_detail.py +0 -0
  200. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/categorical_profile_detail.py +0 -0
  201. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/category_value_info.py +0 -0
  202. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/column_info.py +0 -0
  203. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/column_profile_detail.py +0 -0
  204. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/column_profile_detail_one_of.py +0 -0
  205. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/column_profile_detail_one_of1.py +0 -0
  206. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/column_profile_detail_one_of2.py +0 -0
  207. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/column_profile_detail_one_of3.py +0 -0
  208. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/column_profile_detail_one_of4.py +0 -0
  209. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/column_profile_info.py +0 -0
  210. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/column_type_spec.py +0 -0
  211. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/connection_health_response.py +0 -0
  212. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/connection_info.py +0 -0
  213. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/connection_refresh_result.py +0 -0
  214. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/connection_schema_error.py +0 -0
  215. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/connection_type_detail.py +0 -0
  216. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/connection_type_summary.py +0 -0
  217. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/create_connection_response.py +0 -0
  218. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/create_database_response.py +0 -0
  219. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/create_dataset_response.py +0 -0
  220. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/create_embedding_provider_request.py +0 -0
  221. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/create_embedding_provider_response.py +0 -0
  222. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/create_index_request.py +0 -0
  223. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/create_saved_query_request.py +0 -0
  224. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/create_secret_request.py +0 -0
  225. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/create_secret_response.py +0 -0
  226. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/create_workspace_request.py +0 -0
  227. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/create_workspace_response.py +0 -0
  228. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/database_attachment_info.py +0 -0
  229. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/database_context_entry.py +0 -0
  230. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/database_detail_response.py +0 -0
  231. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/database_summary.py +0 -0
  232. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/dataset_source.py +0 -0
  233. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/dataset_source_one_of.py +0 -0
  234. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/dataset_source_one_of1.py +0 -0
  235. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/dataset_source_one_of2.py +0 -0
  236. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/dataset_source_one_of3.py +0 -0
  237. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/dataset_source_one_of4.py +0 -0
  238. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/dataset_summary.py +0 -0
  239. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/dataset_version_summary.py +0 -0
  240. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/discovery_status.py +0 -0
  241. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/embedding_provider_response.py +0 -0
  242. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/error.py +0 -0
  243. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/execute_saved_query_request.py +0 -0
  244. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/get_connection_response.py +0 -0
  245. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/get_database_context_response.py +0 -0
  246. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/get_dataset_response.py +0 -0
  247. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/get_secret_response.py +0 -0
  248. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/index_info_response.py +0 -0
  249. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/index_status.py +0 -0
  250. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/information_schema_response.py +0 -0
  251. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/inline_data.py +0 -0
  252. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/inline_dataset_source.py +0 -0
  253. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/job_result.py +0 -0
  254. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/job_status.py +0 -0
  255. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/job_status_response.py +0 -0
  256. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/list_connection_types_response.py +0 -0
  257. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/list_connections_response.py +0 -0
  258. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/list_database_contexts_response.py +0 -0
  259. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/list_databases_response.py +0 -0
  260. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/list_dataset_versions_response.py +0 -0
  261. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/list_datasets_response.py +0 -0
  262. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/list_embedding_providers_response.py +0 -0
  263. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/list_indexes_response.py +0 -0
  264. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/list_jobs_response.py +0 -0
  265. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/list_query_runs_response.py +0 -0
  266. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/list_results_response.py +0 -0
  267. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/list_saved_queries_response.py +0 -0
  268. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/list_saved_query_versions_response.py +0 -0
  269. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/list_secrets_response.py +0 -0
  270. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/list_uploads_response.py +0 -0
  271. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/list_workspaces_response.py +0 -0
  272. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/managed_table_response.py +0 -0
  273. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/numeric_profile_detail.py +0 -0
  274. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/query_request.py +0 -0
  275. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/refresh_dataset_response.py +0 -0
  276. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/refresh_request.py +0 -0
  277. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/refresh_response.py +0 -0
  278. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/refresh_warning.py +0 -0
  279. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/result_info.py +0 -0
  280. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/saved_query_dataset_source.py +0 -0
  281. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/saved_query_detail.py +0 -0
  282. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/saved_query_summary.py +0 -0
  283. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/saved_query_version_info.py +0 -0
  284. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/schema_refresh_result.py +0 -0
  285. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/secret_metadata_response.py +0 -0
  286. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/sql_query_dataset_source.py +0 -0
  287. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/submit_job_response.py +0 -0
  288. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/table_info.py +0 -0
  289. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/table_profile_response.py +0 -0
  290. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/table_refresh_error.py +0 -0
  291. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/table_refresh_result.py +0 -0
  292. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/temporal_profile_detail.py +0 -0
  293. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/text_profile_detail.py +0 -0
  294. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/update_dataset_request.py +0 -0
  295. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/update_dataset_response.py +0 -0
  296. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/update_embedding_provider_request.py +0 -0
  297. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/update_embedding_provider_response.py +0 -0
  298. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/update_saved_query_request.py +0 -0
  299. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/update_secret_request.py +0 -0
  300. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/update_secret_response.py +0 -0
  301. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/upload_dataset_source.py +0 -0
  302. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/upload_info.py +0 -0
  303. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/upload_response.py +0 -0
  304. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/upsert_database_context_request.py +0 -0
  305. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/upsert_database_context_response.py +0 -0
  306. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/models/url_dataset_source.py +0 -0
  307. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/py.typed +0 -0
  308. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata/rest.py +0 -0
  309. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata.egg-info/dependency_links.txt +0 -0
  310. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata.egg-info/requires.txt +0 -0
  311. {hotdata-0.3.1 → hotdata-0.4.1}/hotdata.egg-info/top_level.txt +0 -0
  312. {hotdata-0.3.1 → hotdata-0.4.1}/setup.cfg +0 -0
  313. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_add_managed_schema_request.py +0 -0
  314. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_add_managed_table_decl.py +0 -0
  315. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_add_managed_table_request.py +0 -0
  316. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_api_client_close.py +0 -0
  317. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_async_query_response.py +0 -0
  318. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_attach_database_catalog_request.py +0 -0
  319. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_create_embedding_provider_request.py +0 -0
  320. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_create_embedding_provider_response.py +0 -0
  321. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_create_index_request.py +0 -0
  322. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_database_attachment_info.py +0 -0
  323. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_database_context_api.py +0 -0
  324. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_database_context_entry.py +0 -0
  325. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_database_default_schema_decl.py +0 -0
  326. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_database_default_table_decl.py +0 -0
  327. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_dataset_source_one_of2.py +0 -0
  328. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_dataset_source_one_of3.py +0 -0
  329. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_dataset_source_one_of4.py +0 -0
  330. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_dataset_version_summary.py +0 -0
  331. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_embedding_provider_response.py +0 -0
  332. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_embedding_providers_api.py +0 -0
  333. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_get_database_context_response.py +0 -0
  334. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_index_info_response.py +0 -0
  335. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_index_status.py +0 -0
  336. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_job_status.py +0 -0
  337. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_job_status_response.py +0 -0
  338. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_job_type.py +0 -0
  339. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_jobs_api.py +0 -0
  340. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_list_database_contexts_response.py +0 -0
  341. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_list_dataset_versions_response.py +0 -0
  342. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_list_embedding_providers_response.py +0 -0
  343. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_list_indexes_response.py +0 -0
  344. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_list_jobs_response.py +0 -0
  345. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_load_managed_table_request.py +0 -0
  346. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_load_managed_table_response.py +0 -0
  347. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_managed_schema_response.py +0 -0
  348. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_managed_table_response.py +0 -0
  349. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_refresh_dataset_response.py +0 -0
  350. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_results_format_query.py +0 -0
  351. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_saved_query_dataset_source.py +0 -0
  352. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_sql_query_dataset_source.py +0 -0
  353. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_submit_job_response.py +0 -0
  354. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_update_embedding_provider_request.py +0 -0
  355. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_update_embedding_provider_response.py +0 -0
  356. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_upsert_database_context_request.py +0 -0
  357. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_upsert_database_context_response.py +0 -0
  358. {hotdata-0.3.1 → hotdata-0.4.1}/test/test_url_dataset_source.py +0 -0
  359. {hotdata-0.3.1 → hotdata-0.4.1}/tests/test_arrow.py +0 -0
  360. {hotdata-0.3.1 → hotdata-0.4.1}/tests/test_auth.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hotdata
3
- Version: 0.3.1
3
+ Version: 0.4.1
4
4
  Summary: Hotdata API
5
5
  Author-email: Hotdata <developers@hotdata.dev>
6
6
  License: MIT
@@ -37,7 +37,6 @@ __all__ = [
37
37
  "QueryRunsApi",
38
38
  "RefreshApi",
39
39
  "ResultsApi",
40
- "SandboxesApi",
41
40
  "SavedQueriesApi",
42
41
  "SecretsApi",
43
42
  "UploadsApi",
@@ -85,7 +84,6 @@ __all__ = [
85
84
  "CreateEmbeddingProviderRequest",
86
85
  "CreateEmbeddingProviderResponse",
87
86
  "CreateIndexRequest",
88
- "CreateSandboxRequest",
89
87
  "CreateSavedQueryRequest",
90
88
  "CreateSecretRequest",
91
89
  "CreateSecretResponse",
@@ -105,7 +103,6 @@ __all__ = [
105
103
  "DatasetSourceOneOf4",
106
104
  "DatasetSummary",
107
105
  "DatasetVersionSummary",
108
- "DeleteSandboxResponse",
109
106
  "DiscoveryStatus",
110
107
  "EmbeddingProviderResponse",
111
108
  "Error",
@@ -115,6 +112,7 @@ __all__ = [
115
112
  "GetDatasetResponse",
116
113
  "GetResultResponse",
117
114
  "GetSecretResponse",
115
+ "IndexEntryResponse",
118
116
  "IndexInfoResponse",
119
117
  "IndexStatus",
120
118
  "InformationSchemaResponse",
@@ -131,11 +129,11 @@ __all__ = [
131
129
  "ListDatasetVersionsResponse",
132
130
  "ListDatasetsResponse",
133
131
  "ListEmbeddingProvidersResponse",
132
+ "ListIndexesPageResponse",
134
133
  "ListIndexesResponse",
135
134
  "ListJobsResponse",
136
135
  "ListQueryRunsResponse",
137
136
  "ListResultsResponse",
138
- "ListSandboxesResponse",
139
137
  "ListSavedQueriesResponse",
140
138
  "ListSavedQueryVersionsResponse",
141
139
  "ListSecretsResponse",
@@ -155,8 +153,6 @@ __all__ = [
155
153
  "RefreshWarning",
156
154
  "ResultInfo",
157
155
  "ResultsFormatQuery",
158
- "Sandbox",
159
- "SandboxResponse",
160
156
  "SavedQueryDatasetSource",
161
157
  "SavedQueryDetail",
162
158
  "SavedQuerySummary",
@@ -175,7 +171,6 @@ __all__ = [
175
171
  "UpdateDatasetResponse",
176
172
  "UpdateEmbeddingProviderRequest",
177
173
  "UpdateEmbeddingProviderResponse",
178
- "UpdateSandboxRequest",
179
174
  "UpdateSavedQueryRequest",
180
175
  "UpdateSecretRequest",
181
176
  "UpdateSecretResponse",
@@ -203,7 +198,6 @@ from hotdata.api.query_api import QueryApi as QueryApi
203
198
  from hotdata.api.query_runs_api import QueryRunsApi as QueryRunsApi
204
199
  from hotdata.api.refresh_api import RefreshApi as RefreshApi
205
200
  from hotdata.api.results_api import ResultsApi as ResultsApi
206
- from hotdata.api.sandboxes_api import SandboxesApi as SandboxesApi
207
201
  from hotdata.api.saved_queries_api import SavedQueriesApi as SavedQueriesApi
208
202
  from hotdata.api.secrets_api import SecretsApi as SecretsApi
209
203
  from hotdata.api.uploads_api import UploadsApi as UploadsApi
@@ -255,7 +249,6 @@ from hotdata.models.create_dataset_response import CreateDatasetResponse as Crea
255
249
  from hotdata.models.create_embedding_provider_request import CreateEmbeddingProviderRequest as CreateEmbeddingProviderRequest
256
250
  from hotdata.models.create_embedding_provider_response import CreateEmbeddingProviderResponse as CreateEmbeddingProviderResponse
257
251
  from hotdata.models.create_index_request import CreateIndexRequest as CreateIndexRequest
258
- from hotdata.models.create_sandbox_request import CreateSandboxRequest as CreateSandboxRequest
259
252
  from hotdata.models.create_saved_query_request import CreateSavedQueryRequest as CreateSavedQueryRequest
260
253
  from hotdata.models.create_secret_request import CreateSecretRequest as CreateSecretRequest
261
254
  from hotdata.models.create_secret_response import CreateSecretResponse as CreateSecretResponse
@@ -275,7 +268,6 @@ from hotdata.models.dataset_source_one_of3 import DatasetSourceOneOf3 as Dataset
275
268
  from hotdata.models.dataset_source_one_of4 import DatasetSourceOneOf4 as DatasetSourceOneOf4
276
269
  from hotdata.models.dataset_summary import DatasetSummary as DatasetSummary
277
270
  from hotdata.models.dataset_version_summary import DatasetVersionSummary as DatasetVersionSummary
278
- from hotdata.models.delete_sandbox_response import DeleteSandboxResponse as DeleteSandboxResponse
279
271
  from hotdata.models.discovery_status import DiscoveryStatus as DiscoveryStatus
280
272
  from hotdata.models.embedding_provider_response import EmbeddingProviderResponse as EmbeddingProviderResponse
281
273
  from hotdata.models.error import Error as Error
@@ -285,6 +277,7 @@ from hotdata.models.get_database_context_response import GetDatabaseContextRespo
285
277
  from hotdata.models.get_dataset_response import GetDatasetResponse as GetDatasetResponse
286
278
  from hotdata.models.get_result_response import GetResultResponse as GetResultResponse
287
279
  from hotdata.models.get_secret_response import GetSecretResponse as GetSecretResponse
280
+ from hotdata.models.index_entry_response import IndexEntryResponse as IndexEntryResponse
288
281
  from hotdata.models.index_info_response import IndexInfoResponse as IndexInfoResponse
289
282
  from hotdata.models.index_status import IndexStatus as IndexStatus
290
283
  from hotdata.models.information_schema_response import InformationSchemaResponse as InformationSchemaResponse
@@ -301,11 +294,11 @@ from hotdata.models.list_databases_response import ListDatabasesResponse as List
301
294
  from hotdata.models.list_dataset_versions_response import ListDatasetVersionsResponse as ListDatasetVersionsResponse
302
295
  from hotdata.models.list_datasets_response import ListDatasetsResponse as ListDatasetsResponse
303
296
  from hotdata.models.list_embedding_providers_response import ListEmbeddingProvidersResponse as ListEmbeddingProvidersResponse
297
+ from hotdata.models.list_indexes_page_response import ListIndexesPageResponse as ListIndexesPageResponse
304
298
  from hotdata.models.list_indexes_response import ListIndexesResponse as ListIndexesResponse
305
299
  from hotdata.models.list_jobs_response import ListJobsResponse as ListJobsResponse
306
300
  from hotdata.models.list_query_runs_response import ListQueryRunsResponse as ListQueryRunsResponse
307
301
  from hotdata.models.list_results_response import ListResultsResponse as ListResultsResponse
308
- from hotdata.models.list_sandboxes_response import ListSandboxesResponse as ListSandboxesResponse
309
302
  from hotdata.models.list_saved_queries_response import ListSavedQueriesResponse as ListSavedQueriesResponse
310
303
  from hotdata.models.list_saved_query_versions_response import ListSavedQueryVersionsResponse as ListSavedQueryVersionsResponse
311
304
  from hotdata.models.list_secrets_response import ListSecretsResponse as ListSecretsResponse
@@ -325,8 +318,6 @@ from hotdata.models.refresh_response import RefreshResponse as RefreshResponse
325
318
  from hotdata.models.refresh_warning import RefreshWarning as RefreshWarning
326
319
  from hotdata.models.result_info import ResultInfo as ResultInfo
327
320
  from hotdata.models.results_format_query import ResultsFormatQuery as ResultsFormatQuery
328
- from hotdata.models.sandbox import Sandbox as Sandbox
329
- from hotdata.models.sandbox_response import SandboxResponse as SandboxResponse
330
321
  from hotdata.models.saved_query_dataset_source import SavedQueryDatasetSource as SavedQueryDatasetSource
331
322
  from hotdata.models.saved_query_detail import SavedQueryDetail as SavedQueryDetail
332
323
  from hotdata.models.saved_query_summary import SavedQuerySummary as SavedQuerySummary
@@ -345,7 +336,6 @@ from hotdata.models.update_dataset_request import UpdateDatasetRequest as Update
345
336
  from hotdata.models.update_dataset_response import UpdateDatasetResponse as UpdateDatasetResponse
346
337
  from hotdata.models.update_embedding_provider_request import UpdateEmbeddingProviderRequest as UpdateEmbeddingProviderRequest
347
338
  from hotdata.models.update_embedding_provider_response import UpdateEmbeddingProviderResponse as UpdateEmbeddingProviderResponse
348
- from hotdata.models.update_sandbox_request import UpdateSandboxRequest as UpdateSandboxRequest
349
339
  from hotdata.models.update_saved_query_request import UpdateSavedQueryRequest as UpdateSavedQueryRequest
350
340
  from hotdata.models.update_secret_request import UpdateSecretRequest as UpdateSecretRequest
351
341
  from hotdata.models.update_secret_response import UpdateSecretResponse as UpdateSecretResponse
@@ -358,3 +348,11 @@ from hotdata.models.url_dataset_source import UrlDatasetSource as UrlDatasetSour
358
348
  from hotdata.models.workspace_detail import WorkspaceDetail as WorkspaceDetail
359
349
  from hotdata.models.workspace_list_item import WorkspaceListItem as WorkspaceListItem
360
350
 
351
+
352
+ # --- hand-applied: prefer the enhanced clients over the generated ones
353
+ # (re-applied by scripts/patch_query_exports.py after regeneration).
354
+ # hotdata.query.QueryApi adds 429 retry + truncation auto-follow;
355
+ # hotdata.arrow.ResultsApi adds Arrow IPC result fetch. The raw generated
356
+ # classes remain importable from hotdata.api.query_api / hotdata.api.results_api.
357
+ from hotdata.query import QueryApi as QueryApi # noqa: E402,F811
358
+ from hotdata.arrow import ResultsApi as ResultsApi # noqa: E402,F811
@@ -0,0 +1,112 @@
1
+ """Transparent retry of pre-response connection resets (#118).
2
+
3
+ A pooled keep-alive connection can be reused after an intermediary (load
4
+ balancer / reverse proxy) has already dropped it for exceeding its idle
5
+ timeout. The client is not notified, so the next request that reuses that
6
+ socket fails immediately with::
7
+
8
+ urllib3.exceptions.ProtocolError:
9
+ ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer'))
10
+
11
+ urllib3 classifies *every* :class:`~urllib3.exceptions.ProtocolError` as a
12
+ *read* error (see ``Retry._is_read_error``) — it conservatively assumes the
13
+ server may have begun processing the request. Read retries are gated by
14
+ ``allowed_methods``, which does not include ``POST``, so a ``POST`` that hits a
15
+ dead pooled connection is re-raised to the caller instead of being retried.
16
+
17
+ But a reset that happens *before any response bytes arrive* means the request
18
+ never reached the server — the connection was already gone when urllib3 tried
19
+ to send. That is safe to retry on **any** method, ``POST`` included, because the
20
+ server did no work and a retry cannot double-execute.
21
+
22
+ :class:`ConnectionResetRetry` reclassifies exactly that case — a
23
+ ``ProtocolError`` whose underlying cause is a connection-level ``OSError`` — as
24
+ a *connection* error. urllib3's ``Retry.increment`` handles connection errors
25
+ before read errors and without the ``allowed_methods`` gate, so the reset is
26
+ retried on a fresh connection regardless of method. Read **timeouts**
27
+ (:class:`~urllib3.exceptions.ReadTimeoutError`) and status retries are left
28
+ untouched and stay idempotent-only, so a ``POST`` that may have reached the
29
+ server is never blindly replayed.
30
+ """
31
+
32
+ from __future__ import annotations
33
+
34
+ from urllib3.exceptions import ProtocolError, ProxyError
35
+ from urllib3.util.retry import Retry
36
+
37
+ # Bounded attempts for the transparent connection-reset retry. Stale-pool resets
38
+ # clear on the first fresh connection, so a small ceiling is plenty; it also
39
+ # bounds the blast radius if a host is genuinely refusing connections.
40
+ DEFAULT_TOTAL_RETRIES = 3
41
+
42
+ # A small exponential backoff between attempts. The first retry on a fresh
43
+ # connection almost always succeeds, so the delay stays sub-second; it exists
44
+ # only to avoid hammering a host that is briefly flapping.
45
+ DEFAULT_BACKOFF_FACTOR = 0.1
46
+
47
+
48
+ def _is_pre_response_connection_reset(error: BaseException) -> bool:
49
+ """True for a connection reset/abort that occurred before any response.
50
+
51
+ urllib3 wraps a low-level socket failure raised while sending the request as
52
+ ``ProtocolError("Connection aborted.", <cause>)``, where ``<cause>`` is the
53
+ originating :class:`OSError` (``ConnectionResetError``,
54
+ ``ConnectionAbortedError``, ``BrokenPipeError``, …). Those builtin
55
+ connection errors all subclass :class:`ConnectionError`, so the cause's type
56
+ is a precise, message-independent signal that the failure was at the socket
57
+ layer before a response existed — distinct from a read **timeout**, which
58
+ urllib3 raises as a ``ReadTimeoutError`` (not a ``ProtocolError``) and which
59
+ we deliberately leave method-gated.
60
+ """
61
+ if isinstance(error, ProxyError):
62
+ error = error.original_error
63
+ if not isinstance(error, ProtocolError):
64
+ return False
65
+ cause = error.args[1] if len(error.args) > 1 else None
66
+ return isinstance(cause, ConnectionError)
67
+
68
+
69
+ class ConnectionResetRetry(Retry):
70
+ """A :class:`urllib3.util.retry.Retry` that retries pre-response connection
71
+ resets on any HTTP method, while leaving read/status retries idempotent-only.
72
+
73
+ Behaves exactly like ``Retry`` except a connection reset/abort that happened
74
+ before any response bytes were received (see
75
+ :func:`_is_pre_response_connection_reset`) is treated as a *connection*
76
+ error rather than a *read* error. urllib3's ``increment`` retries connection
77
+ errors without consulting ``allowed_methods``, so the reset is retried on a
78
+ fresh connection for ``POST`` too — safe because the server did no work.
79
+ """
80
+
81
+ def _is_connection_error(self, err: Exception) -> bool:
82
+ if super()._is_connection_error(err):
83
+ return True
84
+ return _is_pre_response_connection_reset(err)
85
+
86
+
87
+ def default_retry() -> ConnectionResetRetry:
88
+ """The SDK's default retry policy.
89
+
90
+ Matches urllib3's defaults (idempotent-only read/status retries, a bounded
91
+ total, no retry on response status codes) and adds transparent retry of
92
+ pre-response connection resets on every method. ``Configuration`` installs
93
+ this when the caller does not supply their own ``retries``.
94
+ """
95
+ return ConnectionResetRetry(
96
+ total=DEFAULT_TOTAL_RETRIES,
97
+ backoff_factor=DEFAULT_BACKOFF_FACTOR,
98
+ # Don't retry on response status codes by default: a status code means
99
+ # the request reached the server, and 429 admission-shedding already has
100
+ # dedicated handling in hotdata.query. Connection-reset retry is purely a
101
+ # transport-layer concern.
102
+ status=0,
103
+ raise_on_status=False,
104
+ )
105
+
106
+
107
+ __all__ = [
108
+ "ConnectionResetRetry",
109
+ "DEFAULT_BACKOFF_FACTOR",
110
+ "DEFAULT_TOTAL_RETRIES",
111
+ "default_retry",
112
+ ]
@@ -14,7 +14,6 @@ from hotdata.api.query_api import QueryApi
14
14
  from hotdata.api.query_runs_api import QueryRunsApi
15
15
  from hotdata.api.refresh_api import RefreshApi
16
16
  from hotdata.api.results_api import ResultsApi
17
- from hotdata.api.sandboxes_api import SandboxesApi
18
17
  from hotdata.api.saved_queries_api import SavedQueriesApi
19
18
  from hotdata.api.secrets_api import SecretsApi
20
19
  from hotdata.api.uploads_api import UploadsApi
@@ -69,7 +69,7 @@ class ConnectionsApi:
69
69
  ) -> ManagedSchemaResponse:
70
70
  """Add managed schema
71
71
 
72
- Declare a new schema (and optionally its tables) on an existing managed catalog after creation. The schema is added to the connection's declaration; declared tables can then be populated via the managed-table load endpoint. Only valid against connections whose source type is `managed`. Identifiers are normalised to lowercase.
72
+ Declare a new schema (and optionally its tables) on an existing managed catalog after creation. The schema is added to the connection's declaration; declared tables can then be populated via the managed-table load endpoint. Only valid against connections whose source type is `managed`. Identifiers are normalized to lowercase.
73
73
 
74
74
  :param connection_id: Connection ID (required)
75
75
  :type connection_id: str
@@ -143,7 +143,7 @@ class ConnectionsApi:
143
143
  ) -> ApiResponse[ManagedSchemaResponse]:
144
144
  """Add managed schema
145
145
 
146
- Declare a new schema (and optionally its tables) on an existing managed catalog after creation. The schema is added to the connection's declaration; declared tables can then be populated via the managed-table load endpoint. Only valid against connections whose source type is `managed`. Identifiers are normalised to lowercase.
146
+ Declare a new schema (and optionally its tables) on an existing managed catalog after creation. The schema is added to the connection's declaration; declared tables can then be populated via the managed-table load endpoint. Only valid against connections whose source type is `managed`. Identifiers are normalized to lowercase.
147
147
 
148
148
  :param connection_id: Connection ID (required)
149
149
  :type connection_id: str
@@ -217,7 +217,7 @@ class ConnectionsApi:
217
217
  ) -> RESTResponseType:
218
218
  """Add managed schema
219
219
 
220
- Declare a new schema (and optionally its tables) on an existing managed catalog after creation. The schema is added to the connection's declaration; declared tables can then be populated via the managed-table load endpoint. Only valid against connections whose source type is `managed`. Identifiers are normalised to lowercase.
220
+ Declare a new schema (and optionally its tables) on an existing managed catalog after creation. The schema is added to the connection's declaration; declared tables can then be populated via the managed-table load endpoint. Only valid against connections whose source type is `managed`. Identifiers are normalized to lowercase.
221
221
 
222
222
  :param connection_id: Connection ID (required)
223
223
  :type connection_id: str
@@ -369,7 +369,7 @@ class ConnectionsApi:
369
369
  ) -> ManagedTableResponse:
370
370
  """Add managed table
371
371
 
372
- Declare a new table on an existing schema of a managed catalog after creation. The table is added empty (declared-but-unloaded) and can be populated via the managed-table load endpoint. Only valid against connections whose source type is `managed`. Identifiers are normalised to lowercase.
372
+ Declare a new table on an existing schema of a managed catalog after creation. The table is added empty (declared-but-unloaded) and can be populated via the managed-table load endpoint. Only valid against connections whose source type is `managed`. Identifiers are normalized to lowercase.
373
373
 
374
374
  :param connection_id: Connection ID (required)
375
375
  :type connection_id: str
@@ -447,7 +447,7 @@ class ConnectionsApi:
447
447
  ) -> ApiResponse[ManagedTableResponse]:
448
448
  """Add managed table
449
449
 
450
- Declare a new table on an existing schema of a managed catalog after creation. The table is added empty (declared-but-unloaded) and can be populated via the managed-table load endpoint. Only valid against connections whose source type is `managed`. Identifiers are normalised to lowercase.
450
+ Declare a new table on an existing schema of a managed catalog after creation. The table is added empty (declared-but-unloaded) and can be populated via the managed-table load endpoint. Only valid against connections whose source type is `managed`. Identifiers are normalized to lowercase.
451
451
 
452
452
  :param connection_id: Connection ID (required)
453
453
  :type connection_id: str
@@ -525,7 +525,7 @@ class ConnectionsApi:
525
525
  ) -> RESTResponseType:
526
526
  """Add managed table
527
527
 
528
- Declare a new table on an existing schema of a managed catalog after creation. The table is added empty (declared-but-unloaded) and can be populated via the managed-table load endpoint. Only valid against connections whose source type is `managed`. Identifiers are normalised to lowercase.
528
+ Declare a new table on an existing schema of a managed catalog after creation. The table is added empty (declared-but-unloaded) and can be populated via the managed-table load endpoint. Only valid against connections whose source type is `managed`. Identifiers are normalized to lowercase.
529
529
 
530
530
  :param connection_id: Connection ID (required)
531
531
  :type connection_id: str
@@ -1497,7 +1497,7 @@ class ConnectionsApi:
1497
1497
  ) -> None:
1498
1498
  """Delete managed table
1499
1499
 
1500
- Delete a single managed-catalog table. The catalog row is removed and the backing parquet file (if any) is scheduled for deletion. Only valid against connections whose source type is `managed`.
1500
+ Delete a single managed-catalog table. The table and its data are removed. Only valid against connections whose source type is `managed`.
1501
1501
 
1502
1502
  :param connection_id: Connection ID (required)
1503
1503
  :type connection_id: str
@@ -1574,7 +1574,7 @@ class ConnectionsApi:
1574
1574
  ) -> ApiResponse[None]:
1575
1575
  """Delete managed table
1576
1576
 
1577
- Delete a single managed-catalog table. The catalog row is removed and the backing parquet file (if any) is scheduled for deletion. Only valid against connections whose source type is `managed`.
1577
+ Delete a single managed-catalog table. The table and its data are removed. Only valid against connections whose source type is `managed`.
1578
1578
 
1579
1579
  :param connection_id: Connection ID (required)
1580
1580
  :type connection_id: str
@@ -1651,7 +1651,7 @@ class ConnectionsApi:
1651
1651
  ) -> RESTResponseType:
1652
1652
  """Delete managed table
1653
1653
 
1654
- Delete a single managed-catalog table. The catalog row is removed and the backing parquet file (if any) is scheduled for deletion. Only valid against connections whose source type is `managed`.
1654
+ Delete a single managed-catalog table. The table and its data are removed. Only valid against connections whose source type is `managed`.
1655
1655
 
1656
1656
  :param connection_id: Connection ID (required)
1657
1657
  :type connection_id: str
@@ -2603,7 +2603,7 @@ class ConnectionsApi:
2603
2603
  ) -> LoadManagedTableResponse:
2604
2604
  """Load managed table from upload
2605
2605
 
2606
- Publish a previously-uploaded parquet file as the new generation of a managed table. The upload must reference a parquet file (verified by magic bytes). Only `mode = \"replace\"` is supported. Concurrent loads against the same upload return 409.
2606
+ Publish a previously-uploaded parquet file as the new contents of a managed table. The upload must reference a parquet file. Only `mode = \"replace\"` is supported. Concurrent loads against the same upload return 409.
2607
2607
 
2608
2608
  :param connection_id: Connection ID (required)
2609
2609
  :type connection_id: str
@@ -2685,7 +2685,7 @@ class ConnectionsApi:
2685
2685
  ) -> ApiResponse[LoadManagedTableResponse]:
2686
2686
  """Load managed table from upload
2687
2687
 
2688
- Publish a previously-uploaded parquet file as the new generation of a managed table. The upload must reference a parquet file (verified by magic bytes). Only `mode = \"replace\"` is supported. Concurrent loads against the same upload return 409.
2688
+ Publish a previously-uploaded parquet file as the new contents of a managed table. The upload must reference a parquet file. Only `mode = \"replace\"` is supported. Concurrent loads against the same upload return 409.
2689
2689
 
2690
2690
  :param connection_id: Connection ID (required)
2691
2691
  :type connection_id: str
@@ -2767,7 +2767,7 @@ class ConnectionsApi:
2767
2767
  ) -> RESTResponseType:
2768
2768
  """Load managed table from upload
2769
2769
 
2770
- Publish a previously-uploaded parquet file as the new generation of a managed table. The upload must reference a parquet file (verified by magic bytes). Only `mode = \"replace\"` is supported. Concurrent loads against the same upload return 409.
2770
+ Publish a previously-uploaded parquet file as the new contents of a managed table. The upload must reference a parquet file. Only `mode = \"replace\"` is supported. Concurrent loads against the same upload return 409.
2771
2771
 
2772
2772
  :param connection_id: Connection ID (required)
2773
2773
  :type connection_id: str
@@ -66,7 +66,7 @@ class DatabasesApi:
66
66
  ) -> ManagedSchemaResponse:
67
67
  """Add schema to database default catalog
68
68
 
69
- Declare a new schema (and optionally its tables) on the database's auto-created default catalog after creation. The schema becomes reachable inside the database scope (e.g. `default.<schema>.<table>` and `information_schema.schemata`) without the caller addressing the internal default connection directly. Identifiers are normalised to lowercase.
69
+ Declare a new schema (and optionally its tables) on the database's auto-created default catalog after creation. The schema becomes reachable inside the database scope (e.g. `default.<schema>.<table>` and `information_schema.schemata`) without the caller addressing the internal default connection directly. Identifiers are normalized to lowercase.
70
70
 
71
71
  :param database_id: Database ID (required)
72
72
  :type database_id: str
@@ -140,7 +140,7 @@ class DatabasesApi:
140
140
  ) -> ApiResponse[ManagedSchemaResponse]:
141
141
  """Add schema to database default catalog
142
142
 
143
- Declare a new schema (and optionally its tables) on the database's auto-created default catalog after creation. The schema becomes reachable inside the database scope (e.g. `default.<schema>.<table>` and `information_schema.schemata`) without the caller addressing the internal default connection directly. Identifiers are normalised to lowercase.
143
+ Declare a new schema (and optionally its tables) on the database's auto-created default catalog after creation. The schema becomes reachable inside the database scope (e.g. `default.<schema>.<table>` and `information_schema.schemata`) without the caller addressing the internal default connection directly. Identifiers are normalized to lowercase.
144
144
 
145
145
  :param database_id: Database ID (required)
146
146
  :type database_id: str
@@ -214,7 +214,7 @@ class DatabasesApi:
214
214
  ) -> RESTResponseType:
215
215
  """Add schema to database default catalog
216
216
 
217
- Declare a new schema (and optionally its tables) on the database's auto-created default catalog after creation. The schema becomes reachable inside the database scope (e.g. `default.<schema>.<table>` and `information_schema.schemata`) without the caller addressing the internal default connection directly. Identifiers are normalised to lowercase.
217
+ Declare a new schema (and optionally its tables) on the database's auto-created default catalog after creation. The schema becomes reachable inside the database scope (e.g. `default.<schema>.<table>` and `information_schema.schemata`) without the caller addressing the internal default connection directly. Identifiers are normalized to lowercase.
218
218
 
219
219
  :param database_id: Database ID (required)
220
220
  :type database_id: str
@@ -366,7 +366,7 @@ class DatabasesApi:
366
366
  ) -> ManagedTableResponse:
367
367
  """Add table to database default catalog
368
368
 
369
- Declare a new table on an existing schema of the database's default catalog after creation. The table is added empty (declared-but-unloaded) and can be populated via the managed-table load endpoint targeting the default connection. Identifiers are normalised to lowercase.
369
+ Declare a new table on an existing schema of the database's default catalog after creation. The table is added empty (declared-but-unloaded) and can be populated via the managed-table load endpoint targeting the default connection. Identifiers are normalized to lowercase.
370
370
 
371
371
  :param database_id: Database ID (required)
372
372
  :type database_id: str
@@ -444,7 +444,7 @@ class DatabasesApi:
444
444
  ) -> ApiResponse[ManagedTableResponse]:
445
445
  """Add table to database default catalog
446
446
 
447
- Declare a new table on an existing schema of the database's default catalog after creation. The table is added empty (declared-but-unloaded) and can be populated via the managed-table load endpoint targeting the default connection. Identifiers are normalised to lowercase.
447
+ Declare a new table on an existing schema of the database's default catalog after creation. The table is added empty (declared-but-unloaded) and can be populated via the managed-table load endpoint targeting the default connection. Identifiers are normalized to lowercase.
448
448
 
449
449
  :param database_id: Database ID (required)
450
450
  :type database_id: str
@@ -522,7 +522,7 @@ class DatabasesApi:
522
522
  ) -> RESTResponseType:
523
523
  """Add table to database default catalog
524
524
 
525
- Declare a new table on an existing schema of the database's default catalog after creation. The table is added empty (declared-but-unloaded) and can be populated via the managed-table load endpoint targeting the default connection. Identifiers are normalised to lowercase.
525
+ Declare a new table on an existing schema of the database's default catalog after creation. The table is added empty (declared-but-unloaded) and can be populated via the managed-table load endpoint targeting the default connection. Identifiers are normalized to lowercase.
526
526
 
527
527
  :param database_id: Database ID (required)
528
528
  :type database_id: str
@@ -977,7 +977,7 @@ class DatabasesApi:
977
977
  ) -> CreateDatabaseResponse:
978
978
  """Create database
979
979
 
980
- Create a new database (a metadata-only grouping). A managed default catalog is auto-created and addressable inside the database as `default` (or the optional `default_catalog` name), with a `main` schema pre-declared so `default.main.<table>` works out of the box. The optional `name` is a free-form display label and is not required to be unique. Optional `default_catalog` overrides the name the default catalog answers to; it must be a valid SQL identifier and may not collide with the `hotdata`, `datasets`, or `information_schema` system catalogs. Optional `schemas` declares additional schemas/tables on the default catalog at create time; declared tables can be loaded via the standard managed-tables-load endpoint targeting `default_connection_id`. Optional `expires_at` sets when the database expires — accepts either an RFC 3339 timestamp or a relative duration suffixed with `h` (hours), `m` (minutes), or `d` (days), e.g. `24h`, `48h`, `90m`, `7d`. When omitted, the database never expires. Expiry is best-effort: the database will not be deleted before `expires_at`, but cleanup may run later than the exact timestamp. Optional `storage_backend` selects the physical backend for the default catalog — `parquet` (default) or `ducklake` (requires `ducklake.metadata_pg_url` to be configured).
980
+ Create a new database (a metadata-only grouping). A managed default catalog is auto-created and addressable inside the database as `default` (or the optional `default_catalog` name), with a `main` schema pre-declared so `default.main.<table>` works out of the box. The optional `name` is a free-form display label and is not required to be unique. Optional `default_catalog` overrides the name the default catalog answers to; it must be a valid SQL identifier and may not collide with the `hotdata`, `datasets`, or `information_schema` system catalogs. Optional `schemas` declares additional schemas/tables on the default catalog at create time; declared tables can be loaded via the standard managed-tables-load endpoint targeting `default_connection_id`. Optional `expires_at` sets when the database expires — accepts either an RFC 3339 timestamp or a relative duration suffixed with `h` (hours), `m` (minutes), or `d` (days), e.g. `24h`, `48h`, `90m`, `7d`. When omitted, the database never expires. Expiry is best-effort: the database will not be deleted before `expires_at`, but cleanup may run later than the exact timestamp.
981
981
 
982
982
  :param create_database_request: (required)
983
983
  :type create_database_request: CreateDatabaseRequest
@@ -1046,7 +1046,7 @@ class DatabasesApi:
1046
1046
  ) -> ApiResponse[CreateDatabaseResponse]:
1047
1047
  """Create database
1048
1048
 
1049
- Create a new database (a metadata-only grouping). A managed default catalog is auto-created and addressable inside the database as `default` (or the optional `default_catalog` name), with a `main` schema pre-declared so `default.main.<table>` works out of the box. The optional `name` is a free-form display label and is not required to be unique. Optional `default_catalog` overrides the name the default catalog answers to; it must be a valid SQL identifier and may not collide with the `hotdata`, `datasets`, or `information_schema` system catalogs. Optional `schemas` declares additional schemas/tables on the default catalog at create time; declared tables can be loaded via the standard managed-tables-load endpoint targeting `default_connection_id`. Optional `expires_at` sets when the database expires — accepts either an RFC 3339 timestamp or a relative duration suffixed with `h` (hours), `m` (minutes), or `d` (days), e.g. `24h`, `48h`, `90m`, `7d`. When omitted, the database never expires. Expiry is best-effort: the database will not be deleted before `expires_at`, but cleanup may run later than the exact timestamp. Optional `storage_backend` selects the physical backend for the default catalog — `parquet` (default) or `ducklake` (requires `ducklake.metadata_pg_url` to be configured).
1049
+ Create a new database (a metadata-only grouping). A managed default catalog is auto-created and addressable inside the database as `default` (or the optional `default_catalog` name), with a `main` schema pre-declared so `default.main.<table>` works out of the box. The optional `name` is a free-form display label and is not required to be unique. Optional `default_catalog` overrides the name the default catalog answers to; it must be a valid SQL identifier and may not collide with the `hotdata`, `datasets`, or `information_schema` system catalogs. Optional `schemas` declares additional schemas/tables on the default catalog at create time; declared tables can be loaded via the standard managed-tables-load endpoint targeting `default_connection_id`. Optional `expires_at` sets when the database expires — accepts either an RFC 3339 timestamp or a relative duration suffixed with `h` (hours), `m` (minutes), or `d` (days), e.g. `24h`, `48h`, `90m`, `7d`. When omitted, the database never expires. Expiry is best-effort: the database will not be deleted before `expires_at`, but cleanup may run later than the exact timestamp.
1050
1050
 
1051
1051
  :param create_database_request: (required)
1052
1052
  :type create_database_request: CreateDatabaseRequest
@@ -1115,7 +1115,7 @@ class DatabasesApi:
1115
1115
  ) -> RESTResponseType:
1116
1116
  """Create database
1117
1117
 
1118
- Create a new database (a metadata-only grouping). A managed default catalog is auto-created and addressable inside the database as `default` (or the optional `default_catalog` name), with a `main` schema pre-declared so `default.main.<table>` works out of the box. The optional `name` is a free-form display label and is not required to be unique. Optional `default_catalog` overrides the name the default catalog answers to; it must be a valid SQL identifier and may not collide with the `hotdata`, `datasets`, or `information_schema` system catalogs. Optional `schemas` declares additional schemas/tables on the default catalog at create time; declared tables can be loaded via the standard managed-tables-load endpoint targeting `default_connection_id`. Optional `expires_at` sets when the database expires — accepts either an RFC 3339 timestamp or a relative duration suffixed with `h` (hours), `m` (minutes), or `d` (days), e.g. `24h`, `48h`, `90m`, `7d`. When omitted, the database never expires. Expiry is best-effort: the database will not be deleted before `expires_at`, but cleanup may run later than the exact timestamp. Optional `storage_backend` selects the physical backend for the default catalog — `parquet` (default) or `ducklake` (requires `ducklake.metadata_pg_url` to be configured).
1118
+ Create a new database (a metadata-only grouping). A managed default catalog is auto-created and addressable inside the database as `default` (or the optional `default_catalog` name), with a `main` schema pre-declared so `default.main.<table>` works out of the box. The optional `name` is a free-form display label and is not required to be unique. Optional `default_catalog` overrides the name the default catalog answers to; it must be a valid SQL identifier and may not collide with the `hotdata`, `datasets`, or `information_schema` system catalogs. Optional `schemas` declares additional schemas/tables on the default catalog at create time; declared tables can be loaded via the standard managed-tables-load endpoint targeting `default_connection_id`. Optional `expires_at` sets when the database expires — accepts either an RFC 3339 timestamp or a relative duration suffixed with `h` (hours), `m` (minutes), or `d` (days), e.g. `24h`, `48h`, `90m`, `7d`. When omitted, the database never expires. Expiry is best-effort: the database will not be deleted before `expires_at`, but cleanup may run later than the exact timestamp.
1119
1119
 
1120
1120
  :param create_database_request: (required)
1121
1121
  :type create_database_request: CreateDatabaseRequest