hotdata 0.3.0__tar.gz → 0.3.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 (350) hide show
  1. {hotdata-0.3.0 → hotdata-0.3.1}/PKG-INFO +3 -3
  2. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/arrow.py +22 -4
  3. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata.egg-info/PKG-INFO +3 -3
  4. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata.egg-info/requires.txt +2 -2
  5. {hotdata-0.3.0 → hotdata-0.3.1}/pyproject.toml +3 -3
  6. {hotdata-0.3.0 → hotdata-0.3.1}/tests/test_arrow.py +11 -2
  7. {hotdata-0.3.0 → hotdata-0.3.1}/README.md +0 -0
  8. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/__init__.py +0 -0
  9. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/_auth.py +0 -0
  10. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/__init__.py +0 -0
  11. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/connection_types_api.py +0 -0
  12. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/connections_api.py +0 -0
  13. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/database_context_api.py +0 -0
  14. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/databases_api.py +0 -0
  15. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/datasets_api.py +0 -0
  16. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/embedding_providers_api.py +0 -0
  17. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/indexes_api.py +0 -0
  18. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/information_schema_api.py +0 -0
  19. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/jobs_api.py +0 -0
  20. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/query_api.py +0 -0
  21. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/query_runs_api.py +0 -0
  22. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/refresh_api.py +0 -0
  23. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/results_api.py +0 -0
  24. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/sandboxes_api.py +0 -0
  25. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/saved_queries_api.py +0 -0
  26. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/secrets_api.py +0 -0
  27. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/uploads_api.py +0 -0
  28. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/workspace_context_api.py +0 -0
  29. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api/workspaces_api.py +0 -0
  30. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api_client.py +0 -0
  31. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/api_response.py +0 -0
  32. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/configuration.py +0 -0
  33. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/exceptions.py +0 -0
  34. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/__init__.py +0 -0
  35. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/add_managed_schema_request.py +0 -0
  36. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/add_managed_table_decl.py +0 -0
  37. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/add_managed_table_request.py +0 -0
  38. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/api_error_detail.py +0 -0
  39. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/api_error_response.py +0 -0
  40. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/async_query_response.py +0 -0
  41. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/attach_database_catalog_request.py +0 -0
  42. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/boolean_profile_detail.py +0 -0
  43. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/categorical_profile_detail.py +0 -0
  44. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/category_value_info.py +0 -0
  45. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/column_definition.py +0 -0
  46. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/column_info.py +0 -0
  47. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/column_profile_detail.py +0 -0
  48. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/column_profile_detail_one_of.py +0 -0
  49. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/column_profile_detail_one_of1.py +0 -0
  50. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/column_profile_detail_one_of2.py +0 -0
  51. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/column_profile_detail_one_of3.py +0 -0
  52. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/column_profile_detail_one_of4.py +0 -0
  53. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/column_profile_info.py +0 -0
  54. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/column_type_spec.py +0 -0
  55. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/connection_health_response.py +0 -0
  56. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/connection_info.py +0 -0
  57. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/connection_refresh_result.py +0 -0
  58. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/connection_schema_error.py +0 -0
  59. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/connection_type_detail.py +0 -0
  60. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/connection_type_summary.py +0 -0
  61. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/create_connection_request.py +0 -0
  62. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/create_connection_response.py +0 -0
  63. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/create_database_request.py +0 -0
  64. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/create_database_response.py +0 -0
  65. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/create_dataset_request.py +0 -0
  66. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/create_dataset_response.py +0 -0
  67. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/create_embedding_provider_request.py +0 -0
  68. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/create_embedding_provider_response.py +0 -0
  69. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/create_index_request.py +0 -0
  70. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/create_sandbox_request.py +0 -0
  71. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/create_saved_query_request.py +0 -0
  72. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/create_secret_request.py +0 -0
  73. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/create_secret_response.py +0 -0
  74. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/create_workspace201_response.py +0 -0
  75. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/create_workspace_request.py +0 -0
  76. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/create_workspace_response.py +0 -0
  77. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/database_attachment_info.py +0 -0
  78. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/database_context_entry.py +0 -0
  79. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/database_default_schema_decl.py +0 -0
  80. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/database_default_table_decl.py +0 -0
  81. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/database_detail_response.py +0 -0
  82. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/database_summary.py +0 -0
  83. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/dataset_source.py +0 -0
  84. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/dataset_source_one_of.py +0 -0
  85. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/dataset_source_one_of1.py +0 -0
  86. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/dataset_source_one_of2.py +0 -0
  87. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/dataset_source_one_of3.py +0 -0
  88. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/dataset_source_one_of4.py +0 -0
  89. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/dataset_summary.py +0 -0
  90. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/dataset_version_summary.py +0 -0
  91. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/delete_sandbox_response.py +0 -0
  92. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/discovery_status.py +0 -0
  93. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/embedding_provider_response.py +0 -0
  94. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/error.py +0 -0
  95. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/execute_saved_query_request.py +0 -0
  96. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/get_connection_response.py +0 -0
  97. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/get_database_context_response.py +0 -0
  98. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/get_dataset_response.py +0 -0
  99. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/get_result_response.py +0 -0
  100. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/get_secret_response.py +0 -0
  101. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/get_workspace_context_response.py +0 -0
  102. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/index_info_response.py +0 -0
  103. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/index_status.py +0 -0
  104. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/information_schema_response.py +0 -0
  105. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/inline_data.py +0 -0
  106. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/inline_dataset_source.py +0 -0
  107. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/job_result.py +0 -0
  108. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/job_status.py +0 -0
  109. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/job_status_response.py +0 -0
  110. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/job_type.py +0 -0
  111. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_connection_types_response.py +0 -0
  112. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_connections_response.py +0 -0
  113. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_database_contexts_response.py +0 -0
  114. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_databases_response.py +0 -0
  115. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_dataset_versions_response.py +0 -0
  116. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_datasets_response.py +0 -0
  117. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_embedding_providers_response.py +0 -0
  118. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_indexes_response.py +0 -0
  119. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_jobs_response.py +0 -0
  120. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_query_runs_response.py +0 -0
  121. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_results_response.py +0 -0
  122. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_sandboxes_response.py +0 -0
  123. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_saved_queries_response.py +0 -0
  124. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_saved_query_versions_response.py +0 -0
  125. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_secrets_response.py +0 -0
  126. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_uploads_response.py +0 -0
  127. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_workspace_contexts_response.py +0 -0
  128. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_workspaces200_response.py +0 -0
  129. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/list_workspaces_response.py +0 -0
  130. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/load_managed_table_request.py +0 -0
  131. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/load_managed_table_response.py +0 -0
  132. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/managed_schema_response.py +0 -0
  133. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/managed_table_response.py +0 -0
  134. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/numeric_profile_detail.py +0 -0
  135. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/query_request.py +0 -0
  136. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/query_response.py +0 -0
  137. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/query_run_info.py +0 -0
  138. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/refresh_dataset_response.py +0 -0
  139. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/refresh_request.py +0 -0
  140. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/refresh_response.py +0 -0
  141. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/refresh_warning.py +0 -0
  142. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/result_info.py +0 -0
  143. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/results_format_query.py +0 -0
  144. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/sandbox.py +0 -0
  145. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/sandbox_response.py +0 -0
  146. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/saved_query_dataset_source.py +0 -0
  147. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/saved_query_detail.py +0 -0
  148. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/saved_query_summary.py +0 -0
  149. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/saved_query_version_info.py +0 -0
  150. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/schema_refresh_result.py +0 -0
  151. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/secret_metadata_response.py +0 -0
  152. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/sql_query_dataset_source.py +0 -0
  153. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/submit_job_response.py +0 -0
  154. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/table_info.py +0 -0
  155. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/table_profile_response.py +0 -0
  156. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/table_refresh_error.py +0 -0
  157. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/table_refresh_result.py +0 -0
  158. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/temporal_profile_detail.py +0 -0
  159. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/text_profile_detail.py +0 -0
  160. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/update_dataset_request.py +0 -0
  161. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/update_dataset_response.py +0 -0
  162. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/update_embedding_provider_request.py +0 -0
  163. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/update_embedding_provider_response.py +0 -0
  164. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/update_sandbox_request.py +0 -0
  165. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/update_saved_query_request.py +0 -0
  166. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/update_secret_request.py +0 -0
  167. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/update_secret_response.py +0 -0
  168. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/upload_dataset_source.py +0 -0
  169. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/upload_info.py +0 -0
  170. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/upload_response.py +0 -0
  171. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/upsert_database_context_request.py +0 -0
  172. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/upsert_database_context_response.py +0 -0
  173. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/upsert_workspace_context_request.py +0 -0
  174. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/upsert_workspace_context_response.py +0 -0
  175. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/url_dataset_source.py +0 -0
  176. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/workspace_context_entry.py +0 -0
  177. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/workspace_detail.py +0 -0
  178. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/models/workspace_list_item.py +0 -0
  179. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/py.typed +0 -0
  180. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata/rest.py +0 -0
  181. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata.egg-info/SOURCES.txt +0 -0
  182. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata.egg-info/dependency_links.txt +0 -0
  183. {hotdata-0.3.0 → hotdata-0.3.1}/hotdata.egg-info/top_level.txt +0 -0
  184. {hotdata-0.3.0 → hotdata-0.3.1}/setup.cfg +0 -0
  185. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_add_managed_schema_request.py +0 -0
  186. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_add_managed_table_decl.py +0 -0
  187. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_add_managed_table_request.py +0 -0
  188. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_api_client_close.py +0 -0
  189. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_api_error_detail.py +0 -0
  190. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_api_error_response.py +0 -0
  191. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_async_query_response.py +0 -0
  192. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_attach_database_catalog_request.py +0 -0
  193. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_boolean_profile_detail.py +0 -0
  194. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_categorical_profile_detail.py +0 -0
  195. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_category_value_info.py +0 -0
  196. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_column_definition.py +0 -0
  197. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_column_info.py +0 -0
  198. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_column_profile_detail.py +0 -0
  199. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_column_profile_detail_one_of.py +0 -0
  200. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_column_profile_detail_one_of1.py +0 -0
  201. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_column_profile_detail_one_of2.py +0 -0
  202. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_column_profile_detail_one_of3.py +0 -0
  203. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_column_profile_detail_one_of4.py +0 -0
  204. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_column_profile_info.py +0 -0
  205. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_column_type_spec.py +0 -0
  206. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_connection_health_response.py +0 -0
  207. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_connection_info.py +0 -0
  208. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_connection_refresh_result.py +0 -0
  209. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_connection_schema_error.py +0 -0
  210. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_connection_type_detail.py +0 -0
  211. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_connection_type_summary.py +0 -0
  212. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_connection_types_api.py +0 -0
  213. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_connections_api.py +0 -0
  214. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_create_connection_request.py +0 -0
  215. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_create_connection_response.py +0 -0
  216. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_create_database_request.py +0 -0
  217. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_create_database_response.py +0 -0
  218. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_create_dataset_request.py +0 -0
  219. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_create_dataset_response.py +0 -0
  220. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_create_embedding_provider_request.py +0 -0
  221. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_create_embedding_provider_response.py +0 -0
  222. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_create_index_request.py +0 -0
  223. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_create_sandbox_request.py +0 -0
  224. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_create_saved_query_request.py +0 -0
  225. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_create_secret_request.py +0 -0
  226. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_create_secret_response.py +0 -0
  227. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_create_workspace201_response.py +0 -0
  228. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_create_workspace_request.py +0 -0
  229. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_create_workspace_response.py +0 -0
  230. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_database_attachment_info.py +0 -0
  231. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_database_context_api.py +0 -0
  232. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_database_context_entry.py +0 -0
  233. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_database_default_schema_decl.py +0 -0
  234. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_database_default_table_decl.py +0 -0
  235. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_database_detail_response.py +0 -0
  236. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_database_summary.py +0 -0
  237. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_databases_api.py +0 -0
  238. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_dataset_source.py +0 -0
  239. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_dataset_source_one_of.py +0 -0
  240. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_dataset_source_one_of1.py +0 -0
  241. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_dataset_source_one_of2.py +0 -0
  242. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_dataset_source_one_of3.py +0 -0
  243. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_dataset_source_one_of4.py +0 -0
  244. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_dataset_summary.py +0 -0
  245. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_dataset_version_summary.py +0 -0
  246. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_datasets_api.py +0 -0
  247. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_delete_sandbox_response.py +0 -0
  248. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_discovery_status.py +0 -0
  249. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_embedding_provider_response.py +0 -0
  250. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_embedding_providers_api.py +0 -0
  251. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_error.py +0 -0
  252. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_execute_saved_query_request.py +0 -0
  253. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_get_connection_response.py +0 -0
  254. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_get_database_context_response.py +0 -0
  255. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_get_dataset_response.py +0 -0
  256. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_get_result_response.py +0 -0
  257. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_get_secret_response.py +0 -0
  258. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_get_workspace_context_response.py +0 -0
  259. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_index_info_response.py +0 -0
  260. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_index_status.py +0 -0
  261. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_indexes_api.py +0 -0
  262. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_information_schema_api.py +0 -0
  263. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_information_schema_response.py +0 -0
  264. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_inline_data.py +0 -0
  265. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_inline_dataset_source.py +0 -0
  266. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_job_result.py +0 -0
  267. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_job_status.py +0 -0
  268. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_job_status_response.py +0 -0
  269. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_job_type.py +0 -0
  270. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_jobs_api.py +0 -0
  271. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_connection_types_response.py +0 -0
  272. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_connections_response.py +0 -0
  273. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_database_contexts_response.py +0 -0
  274. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_databases_response.py +0 -0
  275. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_dataset_versions_response.py +0 -0
  276. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_datasets_response.py +0 -0
  277. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_embedding_providers_response.py +0 -0
  278. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_indexes_response.py +0 -0
  279. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_jobs_response.py +0 -0
  280. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_query_runs_response.py +0 -0
  281. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_results_response.py +0 -0
  282. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_sandboxes_response.py +0 -0
  283. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_saved_queries_response.py +0 -0
  284. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_saved_query_versions_response.py +0 -0
  285. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_secrets_response.py +0 -0
  286. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_uploads_response.py +0 -0
  287. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_workspace_contexts_response.py +0 -0
  288. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_workspaces200_response.py +0 -0
  289. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_list_workspaces_response.py +0 -0
  290. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_load_managed_table_request.py +0 -0
  291. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_load_managed_table_response.py +0 -0
  292. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_managed_schema_response.py +0 -0
  293. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_managed_table_response.py +0 -0
  294. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_numeric_profile_detail.py +0 -0
  295. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_query_api.py +0 -0
  296. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_query_request.py +0 -0
  297. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_query_response.py +0 -0
  298. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_query_run_info.py +0 -0
  299. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_query_runs_api.py +0 -0
  300. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_refresh_api.py +0 -0
  301. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_refresh_dataset_response.py +0 -0
  302. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_refresh_request.py +0 -0
  303. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_refresh_response.py +0 -0
  304. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_refresh_warning.py +0 -0
  305. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_result_info.py +0 -0
  306. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_results_api.py +0 -0
  307. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_results_format_query.py +0 -0
  308. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_sandbox.py +0 -0
  309. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_sandbox_response.py +0 -0
  310. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_sandboxes_api.py +0 -0
  311. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_saved_queries_api.py +0 -0
  312. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_saved_query_dataset_source.py +0 -0
  313. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_saved_query_detail.py +0 -0
  314. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_saved_query_summary.py +0 -0
  315. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_saved_query_version_info.py +0 -0
  316. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_schema_refresh_result.py +0 -0
  317. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_secret_metadata_response.py +0 -0
  318. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_secrets_api.py +0 -0
  319. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_sql_query_dataset_source.py +0 -0
  320. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_submit_job_response.py +0 -0
  321. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_table_info.py +0 -0
  322. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_table_profile_response.py +0 -0
  323. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_table_refresh_error.py +0 -0
  324. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_table_refresh_result.py +0 -0
  325. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_temporal_profile_detail.py +0 -0
  326. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_text_profile_detail.py +0 -0
  327. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_update_dataset_request.py +0 -0
  328. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_update_dataset_response.py +0 -0
  329. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_update_embedding_provider_request.py +0 -0
  330. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_update_embedding_provider_response.py +0 -0
  331. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_update_sandbox_request.py +0 -0
  332. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_update_saved_query_request.py +0 -0
  333. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_update_secret_request.py +0 -0
  334. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_update_secret_response.py +0 -0
  335. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_upload_dataset_source.py +0 -0
  336. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_upload_info.py +0 -0
  337. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_upload_response.py +0 -0
  338. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_uploads_api.py +0 -0
  339. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_upsert_database_context_request.py +0 -0
  340. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_upsert_database_context_response.py +0 -0
  341. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_upsert_workspace_context_request.py +0 -0
  342. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_upsert_workspace_context_response.py +0 -0
  343. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_url_dataset_source.py +0 -0
  344. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_workspace_context_api.py +0 -0
  345. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_workspace_context_entry.py +0 -0
  346. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_workspace_detail.py +0 -0
  347. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_workspace_list_item.py +0 -0
  348. {hotdata-0.3.0 → hotdata-0.3.1}/test/test_workspaces_api.py +0 -0
  349. {hotdata-0.3.0 → hotdata-0.3.1}/tests/test_auth.py +0 -0
  350. {hotdata-0.3.0 → hotdata-0.3.1}/tests/test_update_changelog.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hotdata
3
- Version: 0.3.0
3
+ Version: 0.3.1
4
4
  Summary: Hotdata API
5
5
  Author-email: Hotdata <developers@hotdata.dev>
6
6
  License: MIT
@@ -11,10 +11,10 @@ Requires-Python: >=3.9
11
11
  Description-Content-Type: text/markdown
12
12
  Requires-Dist: urllib3<3.0.0,>=2.1.0
13
13
  Requires-Dist: python-dateutil>=2.8.2
14
- Requires-Dist: pydantic>=2
14
+ Requires-Dist: pydantic>=2.4.0
15
15
  Requires-Dist: typing-extensions>=4.7.1
16
16
  Provides-Extra: arrow
17
- Requires-Dist: pyarrow>=14; extra == "arrow"
17
+ Requires-Dist: pyarrow>=14.0.1; extra == "arrow"
18
18
 
19
19
  # hotdata
20
20
 
@@ -50,6 +50,22 @@ class ResultNotReadyError(Exception):
50
50
  )
51
51
 
52
52
 
53
+ def _release_conn(response: Any) -> None:
54
+ """Return a urllib3 connection to the pool without poisoning it.
55
+
56
+ pyarrow stops reading at the Arrow end-of-stream marker, which can leave
57
+ bytes unconsumed at the HTTP layer (e.g. the terminating zero-length chunk
58
+ of a chunked response). ``release_conn`` on a partially-read connection
59
+ hands a tainted socket back to the pool — the next request to reuse it
60
+ fails with ``http.client.ResponseNotReady`` ("Request-sent"). Draining any
61
+ unread bytes first makes the connection safe to reuse.
62
+ """
63
+ try:
64
+ response.drain_conn()
65
+ finally:
66
+ response.release_conn()
67
+
68
+
53
69
  def _import_pyarrow() -> Any:
54
70
  try:
55
71
  import pyarrow.ipc as ipc # type: ignore[import-untyped]
@@ -95,7 +111,7 @@ class ResultsApi(_GeneratedResultsApi):
95
111
  try:
96
112
  return ipc.open_stream(response).read_all()
97
113
  finally:
98
- response.release_conn()
114
+ _release_conn(response)
99
115
 
100
116
  @contextmanager
101
117
  def stream_result_arrow(
@@ -108,8 +124,10 @@ class ResultsApi(_GeneratedResultsApi):
108
124
  ) -> Iterator["pa.RecordBatchStreamReader"]:
109
125
  """Yield a :class:`pyarrow.RecordBatchStreamReader` for a ready result.
110
126
 
111
- The HTTP connection is released when the context exits. Iterate the
112
- reader to consume :class:`pyarrow.RecordBatch` messages, or call
127
+ The HTTP connection is drained and released when the context exits, so
128
+ exiting early (before the reader is exhausted) reads and discards the
129
+ remaining body to keep the connection reusable. Iterate the reader to
130
+ consume :class:`pyarrow.RecordBatch` messages, or call
113
131
  ``reader.read_all()`` for a full :class:`pyarrow.Table`.
114
132
 
115
133
  Example::
@@ -127,7 +145,7 @@ class ResultsApi(_GeneratedResultsApi):
127
145
  try:
128
146
  yield ipc.open_stream(response)
129
147
  finally:
130
- response.release_conn()
148
+ _release_conn(response)
131
149
 
132
150
  def _call_arrow(
133
151
  self,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hotdata
3
- Version: 0.3.0
3
+ Version: 0.3.1
4
4
  Summary: Hotdata API
5
5
  Author-email: Hotdata <developers@hotdata.dev>
6
6
  License: MIT
@@ -11,10 +11,10 @@ Requires-Python: >=3.9
11
11
  Description-Content-Type: text/markdown
12
12
  Requires-Dist: urllib3<3.0.0,>=2.1.0
13
13
  Requires-Dist: python-dateutil>=2.8.2
14
- Requires-Dist: pydantic>=2
14
+ Requires-Dist: pydantic>=2.4.0
15
15
  Requires-Dist: typing-extensions>=4.7.1
16
16
  Provides-Extra: arrow
17
- Requires-Dist: pyarrow>=14; extra == "arrow"
17
+ Requires-Dist: pyarrow>=14.0.1; extra == "arrow"
18
18
 
19
19
  # hotdata
20
20
 
@@ -1,7 +1,7 @@
1
1
  urllib3<3.0.0,>=2.1.0
2
2
  python-dateutil>=2.8.2
3
- pydantic>=2
3
+ pydantic>=2.4.0
4
4
  typing-extensions>=4.7.1
5
5
 
6
6
  [arrow]
7
- pyarrow>=14
7
+ pyarrow>=14.0.1
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "hotdata"
3
- version = "0.3.0"
3
+ version = "0.3.1"
4
4
  description = "Hotdata API"
5
5
  authors = [
6
6
  {name = "Hotdata",email = "developers@hotdata.dev"},
@@ -13,12 +13,12 @@ requires-python = ">=3.9"
13
13
  dependencies = [
14
14
  "urllib3 (>=2.1.0,<3.0.0)",
15
15
  "python-dateutil (>=2.8.2)",
16
- "pydantic (>=2)",
16
+ "pydantic (>=2.4.0)",
17
17
  "typing-extensions (>=4.7.1)",
18
18
  ]
19
19
 
20
20
  [project.optional-dependencies]
21
- arrow = ["pyarrow >= 14"]
21
+ arrow = ["pyarrow >= 14.0.1"]
22
22
 
23
23
  [project.urls]
24
24
  Homepage = "https://www.hotdata.dev"
@@ -45,7 +45,8 @@ class _FakeUrllib3Response(io.RawIOBase):
45
45
 
46
46
  pyarrow.ipc.open_stream wants a real file-like object (it checks
47
47
  ``closed`` and ``readable()``); the SDK's RESTResponse needs ``status``,
48
- ``reason``, ``data``, and ``headers``. release_conn is recorded.
48
+ ``reason``, ``data``, and ``headers``. drain_conn / release_conn are
49
+ recorded so tests can assert the connection is drained before reuse.
49
50
  """
50
51
 
51
52
  def __init__(self, status: int, body: bytes, headers: Dict[str, str]):
@@ -56,6 +57,7 @@ class _FakeUrllib3Response(io.RawIOBase):
56
57
  self._buf = io.BytesIO(body)
57
58
  self.headers = headers
58
59
  self.release_conn_called = False
60
+ self.drain_conn_called = False
59
61
 
60
62
  @property
61
63
  def data(self) -> bytes:
@@ -71,6 +73,9 @@ class _FakeUrllib3Response(io.RawIOBase):
71
73
  def readable(self) -> bool:
72
74
  return True
73
75
 
76
+ def drain_conn(self) -> None:
77
+ self.drain_conn_called = True
78
+
74
79
  def release_conn(self) -> None:
75
80
  self.release_conn_called = True
76
81
 
@@ -146,6 +151,9 @@ def test_get_result_arrow_returns_table(monkeypatch: pytest.MonkeyPatch) -> None
146
151
  got = results.get_result_arrow("res_123")
147
152
 
148
153
  assert got.equals(table)
154
+ # Connection is drained (not just released) so a partially-read body can't
155
+ # poison the pool and break the next request with ResponseNotReady.
156
+ assert fake.drain_conn_called
149
157
  assert fake.release_conn_called
150
158
 
151
159
  # Single request was made.
@@ -197,7 +205,8 @@ def test_stream_result_arrow_yields_reader(
197
205
  roundtrip = pa.Table.from_batches(batches, schema=reader.schema)
198
206
  assert roundtrip.equals(table)
199
207
 
200
- # Connection is released after the context exits.
208
+ # Connection is drained and released after the context exits.
209
+ assert fake.drain_conn_called
201
210
  assert fake.release_conn_called
202
211
 
203
212
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes