hotdata 0.7.0__tar.gz → 0.9.0__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 (318) hide show
  1. {hotdata-0.7.0 → hotdata-0.9.0}/PKG-INFO +4 -18
  2. {hotdata-0.7.0 → hotdata-0.9.0}/README.md +1 -15
  3. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/__init__.py +6 -6
  4. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/databases_api.py +355 -3
  5. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/information_schema_api.py +3 -3
  6. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/query_api.py +0 -1
  7. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/results_api.py +0 -2
  8. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/uploads_api.py +8 -557
  9. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/configuration.py +4 -37
  10. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/__init__.py +3 -3
  11. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/add_managed_table_decl.py +22 -2
  12. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/add_managed_table_request.py +22 -2
  13. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/create_database_request.py +9 -2
  14. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/create_database_response.py +3 -1
  15. hotdata-0.9.0/hotdata/models/database_default_table_decl.py +110 -0
  16. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/database_detail_response.py +3 -1
  17. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/database_summary.py +3 -1
  18. hotdata-0.9.0/hotdata/models/fork_database_request.py +100 -0
  19. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/list_databases_response.py +34 -5
  20. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/load_managed_table_request.py +9 -2
  21. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/query_run_info.py +1 -1
  22. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/table_info.py +21 -1
  23. hotdata-0.7.0/hotdata/models/database_default_table_decl.py → hotdata-0.9.0/hotdata/models/table_partition_key.py +10 -10
  24. hotdata-0.9.0/hotdata/models/table_sort_key.py +102 -0
  25. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/workspace_usage_response.py +1 -1
  26. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/uploads.py +12 -135
  27. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata.egg-info/PKG-INFO +4 -18
  28. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata.egg-info/SOURCES.txt +7 -6
  29. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata.egg-info/requires.txt +1 -1
  30. {hotdata-0.7.0 → hotdata-0.9.0}/pyproject.toml +3 -3
  31. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_add_managed_schema_request.py +12 -1
  32. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_add_managed_table_decl.py +12 -1
  33. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_add_managed_table_request.py +12 -1
  34. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_create_database_request.py +13 -1
  35. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_create_database_response.py +2 -0
  36. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_database_default_schema_decl.py +12 -1
  37. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_database_default_table_decl.py +12 -1
  38. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_database_detail_response.py +2 -0
  39. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_database_summary.py +2 -0
  40. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_databases_api.py +7 -0
  41. hotdata-0.9.0/test/test_fork_database_request.py +53 -0
  42. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_information_schema_response.py +22 -0
  43. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_list_databases_response.py +7 -1
  44. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_load_managed_table_request.py +3 -0
  45. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_table_info.py +22 -0
  46. hotdata-0.9.0/test/test_table_partition_key.py +55 -0
  47. hotdata-0.9.0/test/test_table_sort_key.py +55 -0
  48. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_uploads_api.py +0 -14
  49. hotdata-0.9.0/tests/test_config_auth_surface.py +138 -0
  50. {hotdata-0.7.0 → hotdata-0.9.0}/tests/test_uploads.py +1 -154
  51. hotdata-0.7.0/hotdata/models/list_uploads_response.py +0 -96
  52. hotdata-0.7.0/hotdata/models/upload_info.py +0 -102
  53. hotdata-0.7.0/hotdata/models/upload_response.py +0 -102
  54. hotdata-0.7.0/test/test_list_uploads_response.py +0 -67
  55. hotdata-0.7.0/test/test_upload_info.py +0 -60
  56. hotdata-0.7.0/test/test_upload_response.py +0 -60
  57. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/_auth.py +0 -0
  58. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/_retry.py +0 -0
  59. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/_upload_watchdog.py +0 -0
  60. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/__init__.py +0 -0
  61. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/connection_types_api.py +0 -0
  62. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/connections_api.py +0 -0
  63. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/database_context_api.py +0 -0
  64. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/embedding_providers_api.py +0 -0
  65. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/indexes_api.py +0 -0
  66. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/jobs_api.py +0 -0
  67. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/query_runs_api.py +0 -0
  68. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/refresh_api.py +0 -0
  69. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/saved_queries_api.py +0 -0
  70. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/secrets_api.py +0 -0
  71. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/usage_api.py +0 -0
  72. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api/workspaces_api.py +0 -0
  73. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api_client.py +0 -0
  74. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/api_response.py +0 -0
  75. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/arrow.py +0 -0
  76. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/exceptions.py +0 -0
  77. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/add_managed_schema_request.py +0 -0
  78. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/api_error_detail.py +0 -0
  79. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/api_error_response.py +0 -0
  80. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/async_query_response.py +0 -0
  81. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/attach_database_catalog_request.py +0 -0
  82. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/batch_create_upload_request.py +0 -0
  83. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/batch_create_upload_response.py +0 -0
  84. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/boolean_profile_detail.py +0 -0
  85. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/categorical_profile_detail.py +0 -0
  86. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/category_value_info.py +0 -0
  87. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/column_info.py +0 -0
  88. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/column_profile_detail.py +0 -0
  89. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/column_profile_detail_one_of.py +0 -0
  90. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/column_profile_detail_one_of1.py +0 -0
  91. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/column_profile_detail_one_of2.py +0 -0
  92. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/column_profile_detail_one_of3.py +0 -0
  93. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/column_profile_detail_one_of4.py +0 -0
  94. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/column_profile_info.py +0 -0
  95. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/connection_health_response.py +0 -0
  96. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/connection_info.py +0 -0
  97. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/connection_refresh_result.py +0 -0
  98. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/connection_schema_error.py +0 -0
  99. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/connection_type_detail.py +0 -0
  100. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/connection_type_summary.py +0 -0
  101. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/create_connection_request.py +0 -0
  102. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/create_connection_response.py +0 -0
  103. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/create_embedding_provider_request.py +0 -0
  104. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/create_embedding_provider_response.py +0 -0
  105. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/create_index_request.py +0 -0
  106. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/create_saved_query_request.py +0 -0
  107. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/create_secret_request.py +0 -0
  108. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/create_secret_response.py +0 -0
  109. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/create_upload_request.py +0 -0
  110. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/create_workspace_request.py +0 -0
  111. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/create_workspace_response.py +0 -0
  112. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/database_attachment_info.py +0 -0
  113. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/database_context_entry.py +0 -0
  114. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/database_default_schema_decl.py +0 -0
  115. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/discovery_status.py +0 -0
  116. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/embedding_provider_response.py +0 -0
  117. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/error.py +0 -0
  118. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/execute_saved_query_request.py +0 -0
  119. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/finalize_upload_part.py +0 -0
  120. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/finalize_upload_request.py +0 -0
  121. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/finalize_upload_response.py +0 -0
  122. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/get_connection_response.py +0 -0
  123. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/get_database_context_response.py +0 -0
  124. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/get_result_response.py +0 -0
  125. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/get_secret_response.py +0 -0
  126. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/index_entry_response.py +0 -0
  127. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/index_info_response.py +0 -0
  128. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/index_status.py +0 -0
  129. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/information_schema_response.py +0 -0
  130. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/job_result.py +0 -0
  131. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/job_status.py +0 -0
  132. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/job_status_response.py +0 -0
  133. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/job_type.py +0 -0
  134. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/list_connection_types_response.py +0 -0
  135. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/list_connections_response.py +0 -0
  136. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/list_database_contexts_response.py +0 -0
  137. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/list_embedding_providers_response.py +0 -0
  138. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/list_indexes_page_response.py +0 -0
  139. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/list_indexes_response.py +0 -0
  140. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/list_jobs_response.py +0 -0
  141. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/list_query_runs_response.py +0 -0
  142. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/list_results_response.py +0 -0
  143. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/list_saved_queries_response.py +0 -0
  144. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/list_saved_query_versions_response.py +0 -0
  145. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/list_secrets_response.py +0 -0
  146. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/list_workspaces_response.py +0 -0
  147. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/load_managed_table_response.py +0 -0
  148. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/managed_schema_response.py +0 -0
  149. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/managed_table_response.py +0 -0
  150. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/mint_upload_parts_request.py +0 -0
  151. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/mint_upload_parts_response.py +0 -0
  152. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/minted_upload_part_response.py +0 -0
  153. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/numeric_profile_detail.py +0 -0
  154. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/query_request.py +0 -0
  155. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/query_response.py +0 -0
  156. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/refresh_request.py +0 -0
  157. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/refresh_response.py +0 -0
  158. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/refresh_warning.py +0 -0
  159. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/result_info.py +0 -0
  160. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/results_format_query.py +0 -0
  161. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/saved_query_detail.py +0 -0
  162. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/saved_query_summary.py +0 -0
  163. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/saved_query_version_info.py +0 -0
  164. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/schema_refresh_result.py +0 -0
  165. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/secret_metadata_response.py +0 -0
  166. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/submit_job_response.py +0 -0
  167. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/table_profile_response.py +0 -0
  168. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/table_refresh_error.py +0 -0
  169. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/table_refresh_result.py +0 -0
  170. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/temporal_profile_detail.py +0 -0
  171. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/text_profile_detail.py +0 -0
  172. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/update_embedding_provider_request.py +0 -0
  173. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/update_embedding_provider_response.py +0 -0
  174. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/update_saved_query_request.py +0 -0
  175. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/update_secret_request.py +0 -0
  176. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/update_secret_response.py +0 -0
  177. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/upload_session_response.py +0 -0
  178. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/upsert_database_context_request.py +0 -0
  179. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/upsert_database_context_response.py +0 -0
  180. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/workspace_detail.py +0 -0
  181. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/models/workspace_list_item.py +0 -0
  182. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/py.typed +0 -0
  183. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/query.py +0 -0
  184. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata/rest.py +0 -0
  185. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata.egg-info/dependency_links.txt +0 -0
  186. {hotdata-0.7.0 → hotdata-0.9.0}/hotdata.egg-info/top_level.txt +0 -0
  187. {hotdata-0.7.0 → hotdata-0.9.0}/setup.cfg +0 -0
  188. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_api_client_close.py +0 -0
  189. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_api_error_detail.py +0 -0
  190. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_api_error_response.py +0 -0
  191. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_async_query_response.py +0 -0
  192. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_attach_database_catalog_request.py +0 -0
  193. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_batch_create_upload_request.py +0 -0
  194. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_batch_create_upload_response.py +0 -0
  195. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_boolean_profile_detail.py +0 -0
  196. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_categorical_profile_detail.py +0 -0
  197. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_category_value_info.py +0 -0
  198. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_column_info.py +0 -0
  199. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_column_profile_detail.py +0 -0
  200. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_column_profile_detail_one_of.py +0 -0
  201. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_column_profile_detail_one_of1.py +0 -0
  202. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_column_profile_detail_one_of2.py +0 -0
  203. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_column_profile_detail_one_of3.py +0 -0
  204. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_column_profile_detail_one_of4.py +0 -0
  205. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_column_profile_info.py +0 -0
  206. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_connection_health_response.py +0 -0
  207. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_connection_info.py +0 -0
  208. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_connection_refresh_result.py +0 -0
  209. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_connection_schema_error.py +0 -0
  210. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_connection_type_detail.py +0 -0
  211. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_connection_type_summary.py +0 -0
  212. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_connection_types_api.py +0 -0
  213. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_connections_api.py +0 -0
  214. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_create_connection_request.py +0 -0
  215. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_create_connection_response.py +0 -0
  216. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_create_embedding_provider_request.py +0 -0
  217. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_create_embedding_provider_response.py +0 -0
  218. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_create_index_request.py +0 -0
  219. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_create_saved_query_request.py +0 -0
  220. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_create_secret_request.py +0 -0
  221. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_create_secret_response.py +0 -0
  222. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_create_upload_request.py +0 -0
  223. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_create_workspace_request.py +0 -0
  224. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_create_workspace_response.py +0 -0
  225. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_database_attachment_info.py +0 -0
  226. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_database_context_api.py +0 -0
  227. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_database_context_entry.py +0 -0
  228. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_discovery_status.py +0 -0
  229. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_embedding_provider_response.py +0 -0
  230. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_embedding_providers_api.py +0 -0
  231. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_error.py +0 -0
  232. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_execute_saved_query_request.py +0 -0
  233. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_finalize_upload_part.py +0 -0
  234. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_finalize_upload_request.py +0 -0
  235. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_finalize_upload_response.py +0 -0
  236. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_get_connection_response.py +0 -0
  237. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_get_database_context_response.py +0 -0
  238. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_get_result_response.py +0 -0
  239. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_get_secret_response.py +0 -0
  240. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_index_entry_response.py +0 -0
  241. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_index_info_response.py +0 -0
  242. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_index_status.py +0 -0
  243. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_indexes_api.py +0 -0
  244. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_information_schema_api.py +0 -0
  245. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_job_result.py +0 -0
  246. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_job_status.py +0 -0
  247. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_job_status_response.py +0 -0
  248. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_job_type.py +0 -0
  249. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_jobs_api.py +0 -0
  250. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_list_connection_types_response.py +0 -0
  251. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_list_connections_response.py +0 -0
  252. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_list_database_contexts_response.py +0 -0
  253. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_list_embedding_providers_response.py +0 -0
  254. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_list_indexes_page_response.py +0 -0
  255. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_list_indexes_response.py +0 -0
  256. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_list_jobs_response.py +0 -0
  257. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_list_query_runs_response.py +0 -0
  258. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_list_results_response.py +0 -0
  259. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_list_saved_queries_response.py +0 -0
  260. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_list_saved_query_versions_response.py +0 -0
  261. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_list_secrets_response.py +0 -0
  262. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_list_workspaces_response.py +0 -0
  263. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_load_managed_table_response.py +0 -0
  264. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_managed_schema_response.py +0 -0
  265. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_managed_table_response.py +0 -0
  266. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_mint_upload_parts_request.py +0 -0
  267. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_mint_upload_parts_response.py +0 -0
  268. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_minted_upload_part_response.py +0 -0
  269. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_numeric_profile_detail.py +0 -0
  270. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_query_api.py +0 -0
  271. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_query_request.py +0 -0
  272. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_query_response.py +0 -0
  273. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_query_run_info.py +0 -0
  274. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_query_runs_api.py +0 -0
  275. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_refresh_api.py +0 -0
  276. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_refresh_request.py +0 -0
  277. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_refresh_response.py +0 -0
  278. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_refresh_warning.py +0 -0
  279. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_result_info.py +0 -0
  280. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_results_api.py +0 -0
  281. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_results_format_query.py +0 -0
  282. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_saved_queries_api.py +0 -0
  283. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_saved_query_detail.py +0 -0
  284. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_saved_query_summary.py +0 -0
  285. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_saved_query_version_info.py +0 -0
  286. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_schema_refresh_result.py +0 -0
  287. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_secret_metadata_response.py +0 -0
  288. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_secrets_api.py +0 -0
  289. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_submit_job_response.py +0 -0
  290. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_table_profile_response.py +0 -0
  291. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_table_refresh_error.py +0 -0
  292. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_table_refresh_result.py +0 -0
  293. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_temporal_profile_detail.py +0 -0
  294. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_text_profile_detail.py +0 -0
  295. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_update_embedding_provider_request.py +0 -0
  296. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_update_embedding_provider_response.py +0 -0
  297. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_update_saved_query_request.py +0 -0
  298. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_update_secret_request.py +0 -0
  299. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_update_secret_response.py +0 -0
  300. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_upload_session_response.py +0 -0
  301. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_upsert_database_context_request.py +0 -0
  302. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_upsert_database_context_response.py +0 -0
  303. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_usage_api.py +0 -0
  304. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_workspace_detail.py +0 -0
  305. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_workspace_list_item.py +0 -0
  306. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_workspace_usage_response.py +0 -0
  307. {hotdata-0.7.0 → hotdata-0.9.0}/test/test_workspaces_api.py +0 -0
  308. {hotdata-0.7.0 → hotdata-0.9.0}/tests/test_arrow.py +0 -0
  309. {hotdata-0.7.0 → hotdata-0.9.0}/tests/test_auth.py +0 -0
  310. {hotdata-0.7.0 → hotdata-0.9.0}/tests/test_query.py +0 -0
  311. {hotdata-0.7.0 → hotdata-0.9.0}/tests/test_retry.py +0 -0
  312. {hotdata-0.7.0 → hotdata-0.9.0}/tests/test_update_changelog.py +0 -0
  313. {hotdata-0.7.0 → hotdata-0.9.0}/tests/test_upload_codex_fixes.py +0 -0
  314. {hotdata-0.7.0 → hotdata-0.9.0}/tests/test_upload_multipart_resilient.py +0 -0
  315. {hotdata-0.7.0 → hotdata-0.9.0}/tests/test_upload_parity_fixes.py +0 -0
  316. {hotdata-0.7.0 → hotdata-0.9.0}/tests/test_upload_resilient.py +0 -0
  317. {hotdata-0.7.0 → hotdata-0.9.0}/tests/test_upload_retry_policy.py +0 -0
  318. {hotdata-0.7.0 → hotdata-0.9.0}/tests/test_upload_watchdog.py +0 -0
@@ -1,15 +1,15 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hotdata
3
- Version: 0.7.0
3
+ Version: 0.9.0
4
4
  Summary: Hotdata API
5
5
  Author-email: Hotdata <developers@hotdata.dev>
6
6
  License: MIT
7
7
  Project-URL: Homepage, https://www.hotdata.dev
8
8
  Project-URL: Repository, https://github.com/hotdata-dev/sdk-python
9
9
  Keywords: hotdata,api-client,data-platform
10
- Requires-Python: >=3.9
10
+ Requires-Python: >=3.10
11
11
  Description-Content-Type: text/markdown
12
- Requires-Dist: urllib3<3.0.0,>=2.1.0
12
+ Requires-Dist: urllib3<3.0.0,>=2.7.0
13
13
  Requires-Dist: python-dateutil>=2.8.2
14
14
  Requires-Dist: pydantic>=2.4.0
15
15
  Requires-Dist: typing-extensions>=4.7.1
@@ -22,7 +22,7 @@ Official Python client for the [Hotdata](https://www.hotdata.dev) HTTP API: work
22
22
 
23
23
  ## Requirements
24
24
 
25
- Python 3.9+
25
+ Python 3.10+
26
26
 
27
27
  ## Install
28
28
 
@@ -174,20 +174,6 @@ Pass a `threading.Event` as `cancel_event` to abort an in-flight upload; tune th
174
174
  control-plane calls with `request_timeout` (storage-PUT timeouts are automatic and
175
175
  size-scaled).
176
176
 
177
- For that fallback (or to upload from a non-seekable stream), use `upload_stream`,
178
- which sends the bytes to the legacy `POST /v1/files` endpoint in one request,
179
- streaming a file object without buffering it in memory:
180
-
181
- ```python
182
- with open("data.parquet", "rb") as f:
183
- resp = uploads.upload_stream(f, content_type="application/parquet")
184
- print(resp.id)
185
- ```
186
-
187
- Note `upload_file` shadows the generated raw-body `upload_file(body=...)`; that
188
- raw operation is still reachable at
189
- `hotdata.api.uploads_api.UploadsApi.upload_file`.
190
-
191
177
  ## API reference
192
178
 
193
179
  Generated Markdown for every operation and model is in [`docs/`](https://github.com/hotdata-dev/sdk-python/tree/main/docs):
@@ -4,7 +4,7 @@ Official Python client for the [Hotdata](https://www.hotdata.dev) HTTP API: work
4
4
 
5
5
  ## Requirements
6
6
 
7
- Python 3.9+
7
+ Python 3.10+
8
8
 
9
9
  ## Install
10
10
 
@@ -156,20 +156,6 @@ Pass a `threading.Event` as `cancel_event` to abort an in-flight upload; tune th
156
156
  control-plane calls with `request_timeout` (storage-PUT timeouts are automatic and
157
157
  size-scaled).
158
158
 
159
- For that fallback (or to upload from a non-seekable stream), use `upload_stream`,
160
- which sends the bytes to the legacy `POST /v1/files` endpoint in one request,
161
- streaming a file object without buffering it in memory:
162
-
163
- ```python
164
- with open("data.parquet", "rb") as f:
165
- resp = uploads.upload_stream(f, content_type="application/parquet")
166
- print(resp.id)
167
- ```
168
-
169
- Note `upload_file` shadows the generated raw-body `upload_file(body=...)`; that
170
- raw operation is still reachable at
171
- `hotdata.api.uploads_api.UploadsApi.upload_file`.
172
-
173
159
  ## API reference
174
160
 
175
161
  Generated Markdown for every operation and model is in [`docs/`](https://github.com/hotdata-dev/sdk-python/tree/main/docs):
@@ -102,6 +102,7 @@ __all__ = [
102
102
  "FinalizeUploadPart",
103
103
  "FinalizeUploadRequest",
104
104
  "FinalizeUploadResponse",
105
+ "ForkDatabaseRequest",
105
106
  "GetConnectionResponse",
106
107
  "GetDatabaseContextResponse",
107
108
  "GetResultResponse",
@@ -127,7 +128,6 @@ __all__ = [
127
128
  "ListSavedQueriesResponse",
128
129
  "ListSavedQueryVersionsResponse",
129
130
  "ListSecretsResponse",
130
- "ListUploadsResponse",
131
131
  "ListWorkspacesResponse",
132
132
  "LoadManagedTableRequest",
133
133
  "LoadManagedTableResponse",
@@ -152,9 +152,11 @@ __all__ = [
152
152
  "SecretMetadataResponse",
153
153
  "SubmitJobResponse",
154
154
  "TableInfo",
155
+ "TablePartitionKey",
155
156
  "TableProfileResponse",
156
157
  "TableRefreshError",
157
158
  "TableRefreshResult",
159
+ "TableSortKey",
158
160
  "TemporalProfileDetail",
159
161
  "TextProfileDetail",
160
162
  "UpdateEmbeddingProviderRequest",
@@ -162,8 +164,6 @@ __all__ = [
162
164
  "UpdateSavedQueryRequest",
163
165
  "UpdateSecretRequest",
164
166
  "UpdateSecretResponse",
165
- "UploadInfo",
166
- "UploadResponse",
167
167
  "UploadSessionResponse",
168
168
  "UpsertDatabaseContextRequest",
169
169
  "UpsertDatabaseContextResponse",
@@ -255,6 +255,7 @@ from hotdata.models.execute_saved_query_request import ExecuteSavedQueryRequest
255
255
  from hotdata.models.finalize_upload_part import FinalizeUploadPart as FinalizeUploadPart
256
256
  from hotdata.models.finalize_upload_request import FinalizeUploadRequest as FinalizeUploadRequest
257
257
  from hotdata.models.finalize_upload_response import FinalizeUploadResponse as FinalizeUploadResponse
258
+ from hotdata.models.fork_database_request import ForkDatabaseRequest as ForkDatabaseRequest
258
259
  from hotdata.models.get_connection_response import GetConnectionResponse as GetConnectionResponse
259
260
  from hotdata.models.get_database_context_response import GetDatabaseContextResponse as GetDatabaseContextResponse
260
261
  from hotdata.models.get_result_response import GetResultResponse as GetResultResponse
@@ -280,7 +281,6 @@ from hotdata.models.list_results_response import ListResultsResponse as ListResu
280
281
  from hotdata.models.list_saved_queries_response import ListSavedQueriesResponse as ListSavedQueriesResponse
281
282
  from hotdata.models.list_saved_query_versions_response import ListSavedQueryVersionsResponse as ListSavedQueryVersionsResponse
282
283
  from hotdata.models.list_secrets_response import ListSecretsResponse as ListSecretsResponse
283
- from hotdata.models.list_uploads_response import ListUploadsResponse as ListUploadsResponse
284
284
  from hotdata.models.list_workspaces_response import ListWorkspacesResponse as ListWorkspacesResponse
285
285
  from hotdata.models.load_managed_table_request import LoadManagedTableRequest as LoadManagedTableRequest
286
286
  from hotdata.models.load_managed_table_response import LoadManagedTableResponse as LoadManagedTableResponse
@@ -305,9 +305,11 @@ from hotdata.models.schema_refresh_result import SchemaRefreshResult as SchemaRe
305
305
  from hotdata.models.secret_metadata_response import SecretMetadataResponse as SecretMetadataResponse
306
306
  from hotdata.models.submit_job_response import SubmitJobResponse as SubmitJobResponse
307
307
  from hotdata.models.table_info import TableInfo as TableInfo
308
+ from hotdata.models.table_partition_key import TablePartitionKey as TablePartitionKey
308
309
  from hotdata.models.table_profile_response import TableProfileResponse as TableProfileResponse
309
310
  from hotdata.models.table_refresh_error import TableRefreshError as TableRefreshError
310
311
  from hotdata.models.table_refresh_result import TableRefreshResult as TableRefreshResult
312
+ from hotdata.models.table_sort_key import TableSortKey as TableSortKey
311
313
  from hotdata.models.temporal_profile_detail import TemporalProfileDetail as TemporalProfileDetail
312
314
  from hotdata.models.text_profile_detail import TextProfileDetail as TextProfileDetail
313
315
  from hotdata.models.update_embedding_provider_request import UpdateEmbeddingProviderRequest as UpdateEmbeddingProviderRequest
@@ -315,8 +317,6 @@ from hotdata.models.update_embedding_provider_response import UpdateEmbeddingPro
315
317
  from hotdata.models.update_saved_query_request import UpdateSavedQueryRequest as UpdateSavedQueryRequest
316
318
  from hotdata.models.update_secret_request import UpdateSecretRequest as UpdateSecretRequest
317
319
  from hotdata.models.update_secret_response import UpdateSecretResponse as UpdateSecretResponse
318
- from hotdata.models.upload_info import UploadInfo as UploadInfo
319
- from hotdata.models.upload_response import UploadResponse as UploadResponse
320
320
  from hotdata.models.upload_session_response import UploadSessionResponse as UploadSessionResponse
321
321
  from hotdata.models.upsert_database_context_request import UpsertDatabaseContextRequest as UpsertDatabaseContextRequest
322
322
  from hotdata.models.upsert_database_context_response import UpsertDatabaseContextResponse as UpsertDatabaseContextResponse
@@ -17,6 +17,7 @@ from typing import Any, Dict, List, Optional, Tuple, Union
17
17
  from typing_extensions import Annotated
18
18
 
19
19
  from pydantic import Field, StrictStr
20
+ from typing import Optional
20
21
  from typing_extensions import Annotated
21
22
  from hotdata.models.add_managed_schema_request import AddManagedSchemaRequest
22
23
  from hotdata.models.add_managed_table_request import AddManagedTableRequest
@@ -24,6 +25,7 @@ from hotdata.models.attach_database_catalog_request import AttachDatabaseCatalog
24
25
  from hotdata.models.create_database_request import CreateDatabaseRequest
25
26
  from hotdata.models.create_database_response import CreateDatabaseResponse
26
27
  from hotdata.models.database_detail_response import DatabaseDetailResponse
28
+ from hotdata.models.fork_database_request import ForkDatabaseRequest
27
29
  from hotdata.models.list_databases_response import ListDatabasesResponse
28
30
  from hotdata.models.load_managed_table_request import LoadManagedTableRequest
29
31
  from hotdata.models.load_managed_table_response import LoadManagedTableResponse
@@ -979,7 +981,7 @@ class DatabasesApi:
979
981
  ) -> CreateDatabaseResponse:
980
982
  """Create database
981
983
 
982
- 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 reserved catalog names `hotdata`, `datasets`, or `information_schema`. 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.
984
+ 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 reserved catalog names `hotdata` or `information_schema`. 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.
983
985
 
984
986
  :param create_database_request: (required)
985
987
  :type create_database_request: CreateDatabaseRequest
@@ -1048,7 +1050,7 @@ class DatabasesApi:
1048
1050
  ) -> ApiResponse[CreateDatabaseResponse]:
1049
1051
  """Create database
1050
1052
 
1051
- 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 reserved catalog names `hotdata`, `datasets`, or `information_schema`. 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.
1053
+ 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 reserved catalog names `hotdata` or `information_schema`. 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.
1052
1054
 
1053
1055
  :param create_database_request: (required)
1054
1056
  :type create_database_request: CreateDatabaseRequest
@@ -1117,7 +1119,7 @@ class DatabasesApi:
1117
1119
  ) -> RESTResponseType:
1118
1120
  """Create database
1119
1121
 
1120
- 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 reserved catalog names `hotdata`, `datasets`, or `information_schema`. 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.
1122
+ 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 reserved catalog names `hotdata` or `information_schema`. 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.
1121
1123
 
1122
1124
  :param create_database_request: (required)
1123
1125
  :type create_database_request: CreateDatabaseRequest
@@ -1786,6 +1788,302 @@ class DatabasesApi:
1786
1788
 
1787
1789
 
1788
1790
 
1791
+ @validate_call
1792
+ def fork_database(
1793
+ self,
1794
+ database_id: Annotated[StrictStr, Field(description="Source database ID")],
1795
+ fork_database_request: ForkDatabaseRequest,
1796
+ _request_timeout: Union[
1797
+ None,
1798
+ Annotated[StrictFloat, Field(gt=0)],
1799
+ Tuple[
1800
+ Annotated[StrictFloat, Field(gt=0)],
1801
+ Annotated[StrictFloat, Field(gt=0)]
1802
+ ]
1803
+ ] = None,
1804
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1805
+ _content_type: Optional[StrictStr] = None,
1806
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1807
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1808
+ ) -> CreateDatabaseResponse:
1809
+ """Fork database
1810
+
1811
+ Create a new database that is an independent fork of an existing one. The fork has its own default catalog and contains the same schemas, tables, and data as the source; the source is left unchanged. External catalogs attached to the source are re-attached to the fork. Optional `name` sets the fork's display label (defaults to the source's). Optional `expires_at` sets when the fork expires — accepts an RFC 3339 timestamp or a relative duration suffixed with `h` (hours), `m` (minutes), or `d` (days), e.g. `24h`, `90m`, `7d`. When omitted, a still-future expiry on the source is carried over; otherwise the fork never expires. Any indexes on the source's tables are not carried over.
1812
+
1813
+ :param database_id: Source database ID (required)
1814
+ :type database_id: str
1815
+ :param fork_database_request: (required)
1816
+ :type fork_database_request: ForkDatabaseRequest
1817
+ :param _request_timeout: timeout setting for this request. If one
1818
+ number provided, it will be total request
1819
+ timeout. It can also be a pair (tuple) of
1820
+ (connection, read) timeouts.
1821
+ :type _request_timeout: int, tuple(int, int), optional
1822
+ :param _request_auth: set to override the auth_settings for an a single
1823
+ request; this effectively ignores the
1824
+ authentication in the spec for a single request.
1825
+ :type _request_auth: dict, optional
1826
+ :param _content_type: force content-type for the request.
1827
+ :type _content_type: str, Optional
1828
+ :param _headers: set to override the headers for a single
1829
+ request; this effectively ignores the headers
1830
+ in the spec for a single request.
1831
+ :type _headers: dict, optional
1832
+ :param _host_index: set to override the host_index for a single
1833
+ request; this effectively ignores the host_index
1834
+ in the spec for a single request.
1835
+ :type _host_index: int, optional
1836
+ :return: Returns the result object.
1837
+ """ # noqa: E501
1838
+
1839
+ _param = self._fork_database_serialize(
1840
+ database_id=database_id,
1841
+ fork_database_request=fork_database_request,
1842
+ _request_auth=_request_auth,
1843
+ _content_type=_content_type,
1844
+ _headers=_headers,
1845
+ _host_index=_host_index
1846
+ )
1847
+
1848
+ _response_types_map: Dict[str, Optional[str]] = {
1849
+ '201': "CreateDatabaseResponse",
1850
+ '400': "ApiErrorResponse",
1851
+ '404': "ApiErrorResponse",
1852
+ }
1853
+ response_data = self.api_client.call_api(
1854
+ *_param,
1855
+ _request_timeout=_request_timeout
1856
+ )
1857
+ response_data.read()
1858
+ return self.api_client.response_deserialize(
1859
+ response_data=response_data,
1860
+ response_types_map=_response_types_map,
1861
+ ).data
1862
+
1863
+
1864
+ @validate_call
1865
+ def fork_database_with_http_info(
1866
+ self,
1867
+ database_id: Annotated[StrictStr, Field(description="Source database ID")],
1868
+ fork_database_request: ForkDatabaseRequest,
1869
+ _request_timeout: Union[
1870
+ None,
1871
+ Annotated[StrictFloat, Field(gt=0)],
1872
+ Tuple[
1873
+ Annotated[StrictFloat, Field(gt=0)],
1874
+ Annotated[StrictFloat, Field(gt=0)]
1875
+ ]
1876
+ ] = None,
1877
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1878
+ _content_type: Optional[StrictStr] = None,
1879
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1880
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1881
+ ) -> ApiResponse[CreateDatabaseResponse]:
1882
+ """Fork database
1883
+
1884
+ Create a new database that is an independent fork of an existing one. The fork has its own default catalog and contains the same schemas, tables, and data as the source; the source is left unchanged. External catalogs attached to the source are re-attached to the fork. Optional `name` sets the fork's display label (defaults to the source's). Optional `expires_at` sets when the fork expires — accepts an RFC 3339 timestamp or a relative duration suffixed with `h` (hours), `m` (minutes), or `d` (days), e.g. `24h`, `90m`, `7d`. When omitted, a still-future expiry on the source is carried over; otherwise the fork never expires. Any indexes on the source's tables are not carried over.
1885
+
1886
+ :param database_id: Source database ID (required)
1887
+ :type database_id: str
1888
+ :param fork_database_request: (required)
1889
+ :type fork_database_request: ForkDatabaseRequest
1890
+ :param _request_timeout: timeout setting for this request. If one
1891
+ number provided, it will be total request
1892
+ timeout. It can also be a pair (tuple) of
1893
+ (connection, read) timeouts.
1894
+ :type _request_timeout: int, tuple(int, int), optional
1895
+ :param _request_auth: set to override the auth_settings for an a single
1896
+ request; this effectively ignores the
1897
+ authentication in the spec for a single request.
1898
+ :type _request_auth: dict, optional
1899
+ :param _content_type: force content-type for the request.
1900
+ :type _content_type: str, Optional
1901
+ :param _headers: set to override the headers for a single
1902
+ request; this effectively ignores the headers
1903
+ in the spec for a single request.
1904
+ :type _headers: dict, optional
1905
+ :param _host_index: set to override the host_index for a single
1906
+ request; this effectively ignores the host_index
1907
+ in the spec for a single request.
1908
+ :type _host_index: int, optional
1909
+ :return: Returns the result object.
1910
+ """ # noqa: E501
1911
+
1912
+ _param = self._fork_database_serialize(
1913
+ database_id=database_id,
1914
+ fork_database_request=fork_database_request,
1915
+ _request_auth=_request_auth,
1916
+ _content_type=_content_type,
1917
+ _headers=_headers,
1918
+ _host_index=_host_index
1919
+ )
1920
+
1921
+ _response_types_map: Dict[str, Optional[str]] = {
1922
+ '201': "CreateDatabaseResponse",
1923
+ '400': "ApiErrorResponse",
1924
+ '404': "ApiErrorResponse",
1925
+ }
1926
+ response_data = self.api_client.call_api(
1927
+ *_param,
1928
+ _request_timeout=_request_timeout
1929
+ )
1930
+ response_data.read()
1931
+ return self.api_client.response_deserialize(
1932
+ response_data=response_data,
1933
+ response_types_map=_response_types_map,
1934
+ )
1935
+
1936
+
1937
+ @validate_call
1938
+ def fork_database_without_preload_content(
1939
+ self,
1940
+ database_id: Annotated[StrictStr, Field(description="Source database ID")],
1941
+ fork_database_request: ForkDatabaseRequest,
1942
+ _request_timeout: Union[
1943
+ None,
1944
+ Annotated[StrictFloat, Field(gt=0)],
1945
+ Tuple[
1946
+ Annotated[StrictFloat, Field(gt=0)],
1947
+ Annotated[StrictFloat, Field(gt=0)]
1948
+ ]
1949
+ ] = None,
1950
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1951
+ _content_type: Optional[StrictStr] = None,
1952
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1953
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1954
+ ) -> RESTResponseType:
1955
+ """Fork database
1956
+
1957
+ Create a new database that is an independent fork of an existing one. The fork has its own default catalog and contains the same schemas, tables, and data as the source; the source is left unchanged. External catalogs attached to the source are re-attached to the fork. Optional `name` sets the fork's display label (defaults to the source's). Optional `expires_at` sets when the fork expires — accepts an RFC 3339 timestamp or a relative duration suffixed with `h` (hours), `m` (minutes), or `d` (days), e.g. `24h`, `90m`, `7d`. When omitted, a still-future expiry on the source is carried over; otherwise the fork never expires. Any indexes on the source's tables are not carried over.
1958
+
1959
+ :param database_id: Source database ID (required)
1960
+ :type database_id: str
1961
+ :param fork_database_request: (required)
1962
+ :type fork_database_request: ForkDatabaseRequest
1963
+ :param _request_timeout: timeout setting for this request. If one
1964
+ number provided, it will be total request
1965
+ timeout. It can also be a pair (tuple) of
1966
+ (connection, read) timeouts.
1967
+ :type _request_timeout: int, tuple(int, int), optional
1968
+ :param _request_auth: set to override the auth_settings for an a single
1969
+ request; this effectively ignores the
1970
+ authentication in the spec for a single request.
1971
+ :type _request_auth: dict, optional
1972
+ :param _content_type: force content-type for the request.
1973
+ :type _content_type: str, Optional
1974
+ :param _headers: set to override the headers for a single
1975
+ request; this effectively ignores the headers
1976
+ in the spec for a single request.
1977
+ :type _headers: dict, optional
1978
+ :param _host_index: set to override the host_index for a single
1979
+ request; this effectively ignores the host_index
1980
+ in the spec for a single request.
1981
+ :type _host_index: int, optional
1982
+ :return: Returns the result object.
1983
+ """ # noqa: E501
1984
+
1985
+ _param = self._fork_database_serialize(
1986
+ database_id=database_id,
1987
+ fork_database_request=fork_database_request,
1988
+ _request_auth=_request_auth,
1989
+ _content_type=_content_type,
1990
+ _headers=_headers,
1991
+ _host_index=_host_index
1992
+ )
1993
+
1994
+ _response_types_map: Dict[str, Optional[str]] = {
1995
+ '201': "CreateDatabaseResponse",
1996
+ '400': "ApiErrorResponse",
1997
+ '404': "ApiErrorResponse",
1998
+ }
1999
+ response_data = self.api_client.call_api(
2000
+ *_param,
2001
+ _request_timeout=_request_timeout
2002
+ )
2003
+ return response_data.response
2004
+
2005
+
2006
+ def _fork_database_serialize(
2007
+ self,
2008
+ database_id,
2009
+ fork_database_request,
2010
+ _request_auth,
2011
+ _content_type,
2012
+ _headers,
2013
+ _host_index,
2014
+ ) -> RequestSerialized:
2015
+
2016
+ _host = None
2017
+
2018
+ _collection_formats: Dict[str, str] = {
2019
+ }
2020
+
2021
+ _path_params: Dict[str, str] = {}
2022
+ _query_params: List[Tuple[str, str]] = []
2023
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2024
+ _form_params: List[Tuple[str, str]] = []
2025
+ _files: Dict[
2026
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2027
+ ] = {}
2028
+ _body_params: Optional[bytes] = None
2029
+
2030
+ # process the path parameters
2031
+ if database_id is not None:
2032
+ _path_params['database_id'] = database_id
2033
+ # process the query parameters
2034
+ # process the header parameters
2035
+ # process the form parameters
2036
+ # process the body parameter
2037
+ if fork_database_request is not None:
2038
+ _body_params = fork_database_request
2039
+
2040
+
2041
+ # set the HTTP header `Accept`
2042
+ if 'Accept' not in _header_params:
2043
+ _header_params['Accept'] = self.api_client.select_header_accept(
2044
+ [
2045
+ 'application/json'
2046
+ ]
2047
+ )
2048
+
2049
+ # set the HTTP header `Content-Type`
2050
+ if _content_type:
2051
+ _header_params['Content-Type'] = _content_type
2052
+ else:
2053
+ _default_content_type = (
2054
+ self.api_client.select_header_content_type(
2055
+ [
2056
+ 'application/json'
2057
+ ]
2058
+ )
2059
+ )
2060
+ if _default_content_type is not None:
2061
+ _header_params['Content-Type'] = _default_content_type
2062
+
2063
+ # authentication setting
2064
+ _auth_settings: List[str] = [
2065
+ 'WorkspaceId',
2066
+ 'BearerAuth'
2067
+ ]
2068
+
2069
+ return self.api_client.param_serialize(
2070
+ method='POST',
2071
+ resource_path='/v1/databases/{database_id}/fork',
2072
+ path_params=_path_params,
2073
+ query_params=_query_params,
2074
+ header_params=_header_params,
2075
+ body=_body_params,
2076
+ post_params=_form_params,
2077
+ files=_files,
2078
+ auth_settings=_auth_settings,
2079
+ collection_formats=_collection_formats,
2080
+ _host=_host,
2081
+ _request_auth=_request_auth
2082
+ )
2083
+
2084
+
2085
+
2086
+
1789
2087
  @validate_call
1790
2088
  def get_database(
1791
2089
  self,
@@ -2054,6 +2352,9 @@ class DatabasesApi:
2054
2352
  @validate_call
2055
2353
  def list_databases(
2056
2354
  self,
2355
+ limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Maximum number of databases to return in this page (1–100). Values outside the range are clamped.")] = None,
2356
+ cursor: Annotated[Optional[StrictStr], Field(description="Opaque pagination cursor from a previous response's `next_cursor`.")] = None,
2357
+ search: Annotated[Optional[StrictStr], Field(description="Case-insensitive substring filter on the database name. When set, only databases whose name contains this text are returned; paging and newest-first ordering are unchanged.")] = None,
2057
2358
  _request_timeout: Union[
2058
2359
  None,
2059
2360
  Annotated[StrictFloat, Field(gt=0)],
@@ -2069,7 +2370,14 @@ class DatabasesApi:
2069
2370
  ) -> ListDatabasesResponse:
2070
2371
  """List databases
2071
2372
 
2373
+ List databases in the workspace, newest first, one page at a time. When no `limit` is given a default page size is applied, so a single call returns at most one page rather than every database. If the response's `has_more` is true, pass its `next_cursor` value back as the `cursor` query parameter to fetch the next page. Pass `search` to return only databases whose name contains that text (case-insensitive).
2072
2374
 
2375
+ :param limit: Maximum number of databases to return in this page (1–100). Values outside the range are clamped.
2376
+ :type limit: int
2377
+ :param cursor: Opaque pagination cursor from a previous response's `next_cursor`.
2378
+ :type cursor: str
2379
+ :param search: Case-insensitive substring filter on the database name. When set, only databases whose name contains this text are returned; paging and newest-first ordering are unchanged.
2380
+ :type search: str
2073
2381
  :param _request_timeout: timeout setting for this request. If one
2074
2382
  number provided, it will be total request
2075
2383
  timeout. It can also be a pair (tuple) of
@@ -2093,6 +2401,9 @@ class DatabasesApi:
2093
2401
  """ # noqa: E501
2094
2402
 
2095
2403
  _param = self._list_databases_serialize(
2404
+ limit=limit,
2405
+ cursor=cursor,
2406
+ search=search,
2096
2407
  _request_auth=_request_auth,
2097
2408
  _content_type=_content_type,
2098
2409
  _headers=_headers,
@@ -2116,6 +2427,9 @@ class DatabasesApi:
2116
2427
  @validate_call
2117
2428
  def list_databases_with_http_info(
2118
2429
  self,
2430
+ limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Maximum number of databases to return in this page (1–100). Values outside the range are clamped.")] = None,
2431
+ cursor: Annotated[Optional[StrictStr], Field(description="Opaque pagination cursor from a previous response's `next_cursor`.")] = None,
2432
+ search: Annotated[Optional[StrictStr], Field(description="Case-insensitive substring filter on the database name. When set, only databases whose name contains this text are returned; paging and newest-first ordering are unchanged.")] = None,
2119
2433
  _request_timeout: Union[
2120
2434
  None,
2121
2435
  Annotated[StrictFloat, Field(gt=0)],
@@ -2131,7 +2445,14 @@ class DatabasesApi:
2131
2445
  ) -> ApiResponse[ListDatabasesResponse]:
2132
2446
  """List databases
2133
2447
 
2448
+ List databases in the workspace, newest first, one page at a time. When no `limit` is given a default page size is applied, so a single call returns at most one page rather than every database. If the response's `has_more` is true, pass its `next_cursor` value back as the `cursor` query parameter to fetch the next page. Pass `search` to return only databases whose name contains that text (case-insensitive).
2134
2449
 
2450
+ :param limit: Maximum number of databases to return in this page (1–100). Values outside the range are clamped.
2451
+ :type limit: int
2452
+ :param cursor: Opaque pagination cursor from a previous response's `next_cursor`.
2453
+ :type cursor: str
2454
+ :param search: Case-insensitive substring filter on the database name. When set, only databases whose name contains this text are returned; paging and newest-first ordering are unchanged.
2455
+ :type search: str
2135
2456
  :param _request_timeout: timeout setting for this request. If one
2136
2457
  number provided, it will be total request
2137
2458
  timeout. It can also be a pair (tuple) of
@@ -2155,6 +2476,9 @@ class DatabasesApi:
2155
2476
  """ # noqa: E501
2156
2477
 
2157
2478
  _param = self._list_databases_serialize(
2479
+ limit=limit,
2480
+ cursor=cursor,
2481
+ search=search,
2158
2482
  _request_auth=_request_auth,
2159
2483
  _content_type=_content_type,
2160
2484
  _headers=_headers,
@@ -2178,6 +2502,9 @@ class DatabasesApi:
2178
2502
  @validate_call
2179
2503
  def list_databases_without_preload_content(
2180
2504
  self,
2505
+ limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Maximum number of databases to return in this page (1–100). Values outside the range are clamped.")] = None,
2506
+ cursor: Annotated[Optional[StrictStr], Field(description="Opaque pagination cursor from a previous response's `next_cursor`.")] = None,
2507
+ search: Annotated[Optional[StrictStr], Field(description="Case-insensitive substring filter on the database name. When set, only databases whose name contains this text are returned; paging and newest-first ordering are unchanged.")] = None,
2181
2508
  _request_timeout: Union[
2182
2509
  None,
2183
2510
  Annotated[StrictFloat, Field(gt=0)],
@@ -2193,7 +2520,14 @@ class DatabasesApi:
2193
2520
  ) -> RESTResponseType:
2194
2521
  """List databases
2195
2522
 
2523
+ List databases in the workspace, newest first, one page at a time. When no `limit` is given a default page size is applied, so a single call returns at most one page rather than every database. If the response's `has_more` is true, pass its `next_cursor` value back as the `cursor` query parameter to fetch the next page. Pass `search` to return only databases whose name contains that text (case-insensitive).
2196
2524
 
2525
+ :param limit: Maximum number of databases to return in this page (1–100). Values outside the range are clamped.
2526
+ :type limit: int
2527
+ :param cursor: Opaque pagination cursor from a previous response's `next_cursor`.
2528
+ :type cursor: str
2529
+ :param search: Case-insensitive substring filter on the database name. When set, only databases whose name contains this text are returned; paging and newest-first ordering are unchanged.
2530
+ :type search: str
2197
2531
  :param _request_timeout: timeout setting for this request. If one
2198
2532
  number provided, it will be total request
2199
2533
  timeout. It can also be a pair (tuple) of
@@ -2217,6 +2551,9 @@ class DatabasesApi:
2217
2551
  """ # noqa: E501
2218
2552
 
2219
2553
  _param = self._list_databases_serialize(
2554
+ limit=limit,
2555
+ cursor=cursor,
2556
+ search=search,
2220
2557
  _request_auth=_request_auth,
2221
2558
  _content_type=_content_type,
2222
2559
  _headers=_headers,
@@ -2235,6 +2572,9 @@ class DatabasesApi:
2235
2572
 
2236
2573
  def _list_databases_serialize(
2237
2574
  self,
2575
+ limit,
2576
+ cursor,
2577
+ search,
2238
2578
  _request_auth,
2239
2579
  _content_type,
2240
2580
  _headers,
@@ -2257,6 +2597,18 @@ class DatabasesApi:
2257
2597
 
2258
2598
  # process the path parameters
2259
2599
  # process the query parameters
2600
+ if limit is not None:
2601
+
2602
+ _query_params.append(('limit', limit))
2603
+
2604
+ if cursor is not None:
2605
+
2606
+ _query_params.append(('cursor', cursor))
2607
+
2608
+ if search is not None:
2609
+
2610
+ _query_params.append(('search', search))
2611
+
2260
2612
  # process the header parameters
2261
2613
  # process the form parameters
2262
2614
  # process the body parameter
@@ -63,7 +63,7 @@ class InformationSchemaApi:
63
63
  ) -> InformationSchemaResponse:
64
64
  """List tables
65
65
 
66
- List discovered tables with optional filtering and pagination. Supports wildcard patterns (SQL %) for schema and table name filters. Set include_columns=true to include column definitions (omitted by default).
66
+ List discovered tables with optional filtering and pagination. Supports wildcard patterns (SQL %) for schema and table name filters. Set include_columns=true to include column definitions (omitted by default). Every table carries its declared storage layout — `partition_by` and `sorted_by` — which is fixed when the table is created and cannot be changed afterwards. Both are always present; an empty array means none was declared. Only tables in a hotdata-managed database declare a layout here, so a table discovered from an external connection always reports empty arrays.
67
67
 
68
68
  :param connection_id: Filter by connection ID
69
69
  :type connection_id: str
@@ -151,7 +151,7 @@ class InformationSchemaApi:
151
151
  ) -> ApiResponse[InformationSchemaResponse]:
152
152
  """List tables
153
153
 
154
- List discovered tables with optional filtering and pagination. Supports wildcard patterns (SQL %) for schema and table name filters. Set include_columns=true to include column definitions (omitted by default).
154
+ List discovered tables with optional filtering and pagination. Supports wildcard patterns (SQL %) for schema and table name filters. Set include_columns=true to include column definitions (omitted by default). Every table carries its declared storage layout — `partition_by` and `sorted_by` — which is fixed when the table is created and cannot be changed afterwards. Both are always present; an empty array means none was declared. Only tables in a hotdata-managed database declare a layout here, so a table discovered from an external connection always reports empty arrays.
155
155
 
156
156
  :param connection_id: Filter by connection ID
157
157
  :type connection_id: str
@@ -239,7 +239,7 @@ class InformationSchemaApi:
239
239
  ) -> RESTResponseType:
240
240
  """List tables
241
241
 
242
- List discovered tables with optional filtering and pagination. Supports wildcard patterns (SQL %) for schema and table name filters. Set include_columns=true to include column definitions (omitted by default).
242
+ List discovered tables with optional filtering and pagination. Supports wildcard patterns (SQL %) for schema and table name filters. Set include_columns=true to include column definitions (omitted by default). Every table carries its declared storage layout — `partition_by` and `sorted_by` — which is fixed when the table is created and cannot be changed afterwards. Both are always present; an empty array means none was declared. Only tables in a hotdata-managed database declare a layout here, so a table discovered from an external connection always reports empty arrays.
243
243
 
244
244
  :param connection_id: Filter by connection ID
245
245
  :type connection_id: str