hotdata 0.2.0__tar.gz → 0.2.2__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.
- {hotdata-0.2.0 → hotdata-0.2.2}/PKG-INFO +1 -1
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/results_api.py +13 -10
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api_client.py +6 -2
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/results_format_query.py +4 -1
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/rest.py +4 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata.egg-info/PKG-INFO +1 -1
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata.egg-info/SOURCES.txt +3 -1
- {hotdata-0.2.0 → hotdata-0.2.2}/pyproject.toml +1 -1
- hotdata-0.2.2/test/test_api_client_close.py +28 -0
- hotdata-0.2.2/tests/test_update_changelog.py +48 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/README.md +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/__init__.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/__init__.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/connection_types_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/connections_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/datasets_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/embedding_providers_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/indexes_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/information_schema_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/jobs_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/query_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/query_runs_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/refresh_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/sandboxes_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/saved_queries_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/secrets_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/uploads_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/workspace_context_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api/workspaces_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/api_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/arrow.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/configuration.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/exceptions.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/__init__.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/api_error_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/api_error_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/async_query_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/boolean_profile_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/categorical_profile_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/category_value_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/column_definition.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/column_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/column_profile_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/column_profile_detail_one_of.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/column_profile_detail_one_of1.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/column_profile_detail_one_of2.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/column_profile_detail_one_of3.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/column_profile_detail_one_of4.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/column_profile_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/column_type_spec.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/connection_health_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/connection_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/connection_refresh_result.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/connection_schema_error.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/connection_type_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/connection_type_summary.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/create_connection_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/create_connection_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/create_dataset_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/create_dataset_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/create_embedding_provider_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/create_embedding_provider_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/create_index_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/create_sandbox_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/create_saved_query_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/create_secret_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/create_secret_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/create_workspace201_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/create_workspace_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/create_workspace_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/dataset_source.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/dataset_source_one_of.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/dataset_source_one_of1.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/dataset_source_one_of2.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/dataset_source_one_of3.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/dataset_source_one_of4.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/dataset_summary.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/dataset_version_summary.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/delete_sandbox_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/discovery_status.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/embedding_provider_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/error.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/execute_saved_query_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/get_connection_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/get_dataset_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/get_result_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/get_secret_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/get_workspace_context_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/index_info_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/index_status.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/information_schema_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/inline_data.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/inline_dataset_source.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/job_result.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/job_status.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/job_status_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/job_type.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/list_connection_types_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/list_connections_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/list_dataset_versions_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/list_datasets_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/list_embedding_providers_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/list_indexes_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/list_jobs_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/list_query_runs_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/list_results_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/list_sandboxes_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/list_saved_queries_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/list_saved_query_versions_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/list_secrets_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/list_uploads_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/list_workspace_contexts_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/list_workspaces200_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/list_workspaces_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/load_managed_table_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/load_managed_table_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/numeric_profile_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/query_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/query_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/query_run_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/refresh_dataset_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/refresh_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/refresh_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/refresh_warning.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/result_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/sandbox.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/sandbox_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/saved_query_dataset_source.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/saved_query_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/saved_query_summary.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/saved_query_version_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/schema_refresh_result.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/secret_metadata_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/sql_query_dataset_source.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/submit_job_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/table_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/table_profile_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/table_refresh_error.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/table_refresh_result.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/temporal_profile_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/text_profile_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/update_dataset_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/update_dataset_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/update_embedding_provider_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/update_embedding_provider_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/update_sandbox_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/update_saved_query_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/update_secret_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/update_secret_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/upload_dataset_source.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/upload_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/upload_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/upsert_workspace_context_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/upsert_workspace_context_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/url_dataset_source.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/workspace_context_entry.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/workspace_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/models/workspace_list_item.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata/py.typed +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata.egg-info/dependency_links.txt +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata.egg-info/requires.txt +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/hotdata.egg-info/top_level.txt +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/setup.cfg +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_api_error_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_api_error_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_async_query_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_boolean_profile_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_categorical_profile_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_category_value_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_column_definition.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_column_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_column_profile_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_column_profile_detail_one_of.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_column_profile_detail_one_of1.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_column_profile_detail_one_of2.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_column_profile_detail_one_of3.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_column_profile_detail_one_of4.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_column_profile_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_column_type_spec.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_connection_health_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_connection_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_connection_refresh_result.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_connection_schema_error.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_connection_type_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_connection_type_summary.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_connection_types_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_connections_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_create_connection_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_create_connection_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_create_dataset_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_create_dataset_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_create_embedding_provider_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_create_embedding_provider_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_create_index_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_create_sandbox_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_create_saved_query_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_create_secret_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_create_secret_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_create_workspace201_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_create_workspace_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_create_workspace_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_dataset_source.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_dataset_source_one_of.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_dataset_source_one_of1.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_dataset_source_one_of2.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_dataset_source_one_of3.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_dataset_source_one_of4.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_dataset_summary.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_dataset_version_summary.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_datasets_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_delete_sandbox_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_discovery_status.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_embedding_provider_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_embedding_providers_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_error.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_execute_saved_query_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_get_connection_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_get_dataset_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_get_result_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_get_secret_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_get_workspace_context_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_index_info_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_index_status.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_indexes_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_information_schema_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_information_schema_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_inline_data.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_inline_dataset_source.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_job_result.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_job_status.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_job_status_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_job_type.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_jobs_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_list_connection_types_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_list_connections_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_list_dataset_versions_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_list_datasets_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_list_embedding_providers_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_list_indexes_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_list_jobs_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_list_query_runs_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_list_results_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_list_sandboxes_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_list_saved_queries_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_list_saved_query_versions_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_list_secrets_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_list_uploads_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_list_workspace_contexts_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_list_workspaces200_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_list_workspaces_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_load_managed_table_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_load_managed_table_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_numeric_profile_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_query_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_query_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_query_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_query_run_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_query_runs_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_refresh_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_refresh_dataset_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_refresh_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_refresh_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_refresh_warning.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_result_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_results_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_results_format_query.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_sandbox.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_sandbox_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_sandboxes_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_saved_queries_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_saved_query_dataset_source.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_saved_query_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_saved_query_summary.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_saved_query_version_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_schema_refresh_result.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_secret_metadata_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_secrets_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_sql_query_dataset_source.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_submit_job_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_table_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_table_profile_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_table_refresh_error.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_table_refresh_result.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_temporal_profile_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_text_profile_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_update_dataset_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_update_dataset_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_update_embedding_provider_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_update_embedding_provider_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_update_sandbox_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_update_saved_query_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_update_secret_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_update_secret_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_upload_dataset_source.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_upload_info.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_upload_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_uploads_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_upsert_workspace_context_request.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_upsert_workspace_context_response.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_url_dataset_source.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_workspace_context_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_workspace_context_entry.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_workspace_detail.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_workspace_list_item.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/test/test_workspaces_api.py +0 -0
- {hotdata-0.2.0 → hotdata-0.2.2}/tests/test_arrow.py +0 -0
|
@@ -47,7 +47,7 @@ class ResultsApi:
|
|
|
47
47
|
id: Annotated[StrictStr, Field(description="Result ID")],
|
|
48
48
|
offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Rows to skip (default: 0)")] = None,
|
|
49
49
|
limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Maximum rows to return (default: unbounded)")] = None,
|
|
50
|
-
format: Annotated[Optional[ResultsFormatQuery], Field(description="`arrow` or `
|
|
50
|
+
format: Annotated[Optional[ResultsFormatQuery], Field(description="`arrow`, `json`, `csv`, `md`, or `parquet` — overrides the `Accept` header. `markdown` is also accepted at runtime as an alias for `md`, but is not in the OpenAPI enum to keep the SDK shape clean.")] = None,
|
|
51
51
|
_request_timeout: Union[
|
|
52
52
|
None,
|
|
53
53
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -63,7 +63,7 @@ class ResultsApi:
|
|
|
63
63
|
) -> GetResultResponse:
|
|
64
64
|
"""Get result
|
|
65
65
|
|
|
66
|
-
Retrieve a persisted query result by ID. The response format for the `ready` state is selected by `Accept` header or `?format=` query param; non-ready states use the same status codes and JSON body shape regardless of format. | Result status | Status × body | |-----------------------|------------------------------------------------------------------------------| | `ready` + JSON | 200 `application/json` — `GetResultResponse` with `columns`, `rows`, etc. | | `ready` + Arrow | 200 `application/vnd.apache.arrow.stream` — schema, RecordBatches, EOS | | `pending`/`processing`| 202 `application/json` `{status, result_id}` + `Retry-After` | | `failed` | 409 `application/json` `{status, result_id, error_message}` | | not found | 404 `application/json` (`ApiErrorResponse`) | `?format
|
|
66
|
+
Retrieve a persisted query result by ID. The response format for the `ready` state is selected by `Accept` header or `?format=` query param; non-ready states use the same status codes and JSON body shape regardless of format. | Result status | Status × body | |-----------------------|------------------------------------------------------------------------------| | `ready` + JSON | 200 `application/json` — `GetResultResponse` with `columns`, `rows`, etc. | | `ready` + Arrow | 200 `application/vnd.apache.arrow.stream` — schema, RecordBatches, EOS | | `ready` + CSV | 200 `text/csv; charset=utf-8` — single header row, streamed batch-by-batch | | `ready` + Markdown | 200 `text/markdown; charset=utf-8` — GitHub-flavored pipe table, streamed | | `ready` + Parquet | 200 `application/vnd.apache.parquet` — raw parquet bytes (no conversion) | | `pending`/`processing`| 202 `application/json` `{status, result_id}` + `Retry-After` | | `failed` | 409 `application/json` `{status, result_id, error_message}` | | not found | 404 `application/json` (`ApiErrorResponse`) | `?format=` accepts `arrow`, `json`, `csv`, `md`, `parquet` and takes precedence over `Accept`. `markdown` is accepted as a runtime alias for `md` (the OpenAPI enum lists only `md` to keep the SDK shape clean). Use `?offset=N&limit=M` to slice the result; `offset` defaults to 0 and `limit` is unbounded by default. Both must be non-negative; invalid values return 400. When a finite `limit` doesn't reach the end of the result, a `Link` header with `rel=\"next\"` points at the following page. `?offset`/`?limit` are ignored for `format=parquet` since that path returns the underlying file unchanged. Ready responses (Arrow, CSV, Markdown, JSON) carry `X-Total-Row-Count` (full result row count from parquet metadata, independent of offset/limit). The streaming paths run end-to-end with no spawned task between the parquet reader and the wire — clients can disconnect at any time and the server stops reading. IEEE special floats (`±Inf`, `NaN`) have no canonical JSON representation. For cross-format consistency the JSON, CSV, and Markdown paths emit them as `null` / empty cells, and JSON `nullable[]` is widened to match. The Arrow IPC and Parquet bodies are binary round-trip formats and preserve the raw IEEE values; callers cross-checking a result across CSV and Parquet should not byte-compare those slots.
|
|
67
67
|
|
|
68
68
|
:param id: Result ID (required)
|
|
69
69
|
:type id: str
|
|
@@ -71,7 +71,7 @@ class ResultsApi:
|
|
|
71
71
|
:type offset: int
|
|
72
72
|
:param limit: Maximum rows to return (default: unbounded)
|
|
73
73
|
:type limit: int
|
|
74
|
-
:param format: `arrow` or `
|
|
74
|
+
:param format: `arrow`, `json`, `csv`, `md`, or `parquet` — overrides the `Accept` header. `markdown` is also accepted at runtime as an alias for `md`, but is not in the OpenAPI enum to keep the SDK shape clean.
|
|
75
75
|
:type format: ResultsFormatQuery
|
|
76
76
|
:param _request_timeout: timeout setting for this request. If one
|
|
77
77
|
number provided, it will be total request
|
|
@@ -130,7 +130,7 @@ class ResultsApi:
|
|
|
130
130
|
id: Annotated[StrictStr, Field(description="Result ID")],
|
|
131
131
|
offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Rows to skip (default: 0)")] = None,
|
|
132
132
|
limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Maximum rows to return (default: unbounded)")] = None,
|
|
133
|
-
format: Annotated[Optional[ResultsFormatQuery], Field(description="`arrow` or `
|
|
133
|
+
format: Annotated[Optional[ResultsFormatQuery], Field(description="`arrow`, `json`, `csv`, `md`, or `parquet` — overrides the `Accept` header. `markdown` is also accepted at runtime as an alias for `md`, but is not in the OpenAPI enum to keep the SDK shape clean.")] = None,
|
|
134
134
|
_request_timeout: Union[
|
|
135
135
|
None,
|
|
136
136
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -146,7 +146,7 @@ class ResultsApi:
|
|
|
146
146
|
) -> ApiResponse[GetResultResponse]:
|
|
147
147
|
"""Get result
|
|
148
148
|
|
|
149
|
-
Retrieve a persisted query result by ID. The response format for the `ready` state is selected by `Accept` header or `?format=` query param; non-ready states use the same status codes and JSON body shape regardless of format. | Result status | Status × body | |-----------------------|------------------------------------------------------------------------------| | `ready` + JSON | 200 `application/json` — `GetResultResponse` with `columns`, `rows`, etc. | | `ready` + Arrow | 200 `application/vnd.apache.arrow.stream` — schema, RecordBatches, EOS | | `pending`/`processing`| 202 `application/json` `{status, result_id}` + `Retry-After` | | `failed` | 409 `application/json` `{status, result_id, error_message}` | | not found | 404 `application/json` (`ApiErrorResponse`) | `?format
|
|
149
|
+
Retrieve a persisted query result by ID. The response format for the `ready` state is selected by `Accept` header or `?format=` query param; non-ready states use the same status codes and JSON body shape regardless of format. | Result status | Status × body | |-----------------------|------------------------------------------------------------------------------| | `ready` + JSON | 200 `application/json` — `GetResultResponse` with `columns`, `rows`, etc. | | `ready` + Arrow | 200 `application/vnd.apache.arrow.stream` — schema, RecordBatches, EOS | | `ready` + CSV | 200 `text/csv; charset=utf-8` — single header row, streamed batch-by-batch | | `ready` + Markdown | 200 `text/markdown; charset=utf-8` — GitHub-flavored pipe table, streamed | | `ready` + Parquet | 200 `application/vnd.apache.parquet` — raw parquet bytes (no conversion) | | `pending`/`processing`| 202 `application/json` `{status, result_id}` + `Retry-After` | | `failed` | 409 `application/json` `{status, result_id, error_message}` | | not found | 404 `application/json` (`ApiErrorResponse`) | `?format=` accepts `arrow`, `json`, `csv`, `md`, `parquet` and takes precedence over `Accept`. `markdown` is accepted as a runtime alias for `md` (the OpenAPI enum lists only `md` to keep the SDK shape clean). Use `?offset=N&limit=M` to slice the result; `offset` defaults to 0 and `limit` is unbounded by default. Both must be non-negative; invalid values return 400. When a finite `limit` doesn't reach the end of the result, a `Link` header with `rel=\"next\"` points at the following page. `?offset`/`?limit` are ignored for `format=parquet` since that path returns the underlying file unchanged. Ready responses (Arrow, CSV, Markdown, JSON) carry `X-Total-Row-Count` (full result row count from parquet metadata, independent of offset/limit). The streaming paths run end-to-end with no spawned task between the parquet reader and the wire — clients can disconnect at any time and the server stops reading. IEEE special floats (`±Inf`, `NaN`) have no canonical JSON representation. For cross-format consistency the JSON, CSV, and Markdown paths emit them as `null` / empty cells, and JSON `nullable[]` is widened to match. The Arrow IPC and Parquet bodies are binary round-trip formats and preserve the raw IEEE values; callers cross-checking a result across CSV and Parquet should not byte-compare those slots.
|
|
150
150
|
|
|
151
151
|
:param id: Result ID (required)
|
|
152
152
|
:type id: str
|
|
@@ -154,7 +154,7 @@ class ResultsApi:
|
|
|
154
154
|
:type offset: int
|
|
155
155
|
:param limit: Maximum rows to return (default: unbounded)
|
|
156
156
|
:type limit: int
|
|
157
|
-
:param format: `arrow` or `
|
|
157
|
+
:param format: `arrow`, `json`, `csv`, `md`, or `parquet` — overrides the `Accept` header. `markdown` is also accepted at runtime as an alias for `md`, but is not in the OpenAPI enum to keep the SDK shape clean.
|
|
158
158
|
:type format: ResultsFormatQuery
|
|
159
159
|
:param _request_timeout: timeout setting for this request. If one
|
|
160
160
|
number provided, it will be total request
|
|
@@ -213,7 +213,7 @@ class ResultsApi:
|
|
|
213
213
|
id: Annotated[StrictStr, Field(description="Result ID")],
|
|
214
214
|
offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Rows to skip (default: 0)")] = None,
|
|
215
215
|
limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Maximum rows to return (default: unbounded)")] = None,
|
|
216
|
-
format: Annotated[Optional[ResultsFormatQuery], Field(description="`arrow` or `
|
|
216
|
+
format: Annotated[Optional[ResultsFormatQuery], Field(description="`arrow`, `json`, `csv`, `md`, or `parquet` — overrides the `Accept` header. `markdown` is also accepted at runtime as an alias for `md`, but is not in the OpenAPI enum to keep the SDK shape clean.")] = None,
|
|
217
217
|
_request_timeout: Union[
|
|
218
218
|
None,
|
|
219
219
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -229,7 +229,7 @@ class ResultsApi:
|
|
|
229
229
|
) -> RESTResponseType:
|
|
230
230
|
"""Get result
|
|
231
231
|
|
|
232
|
-
Retrieve a persisted query result by ID. The response format for the `ready` state is selected by `Accept` header or `?format=` query param; non-ready states use the same status codes and JSON body shape regardless of format. | Result status | Status × body | |-----------------------|------------------------------------------------------------------------------| | `ready` + JSON | 200 `application/json` — `GetResultResponse` with `columns`, `rows`, etc. | | `ready` + Arrow | 200 `application/vnd.apache.arrow.stream` — schema, RecordBatches, EOS | | `pending`/`processing`| 202 `application/json` `{status, result_id}` + `Retry-After` | | `failed` | 409 `application/json` `{status, result_id, error_message}` | | not found | 404 `application/json` (`ApiErrorResponse`) | `?format
|
|
232
|
+
Retrieve a persisted query result by ID. The response format for the `ready` state is selected by `Accept` header or `?format=` query param; non-ready states use the same status codes and JSON body shape regardless of format. | Result status | Status × body | |-----------------------|------------------------------------------------------------------------------| | `ready` + JSON | 200 `application/json` — `GetResultResponse` with `columns`, `rows`, etc. | | `ready` + Arrow | 200 `application/vnd.apache.arrow.stream` — schema, RecordBatches, EOS | | `ready` + CSV | 200 `text/csv; charset=utf-8` — single header row, streamed batch-by-batch | | `ready` + Markdown | 200 `text/markdown; charset=utf-8` — GitHub-flavored pipe table, streamed | | `ready` + Parquet | 200 `application/vnd.apache.parquet` — raw parquet bytes (no conversion) | | `pending`/`processing`| 202 `application/json` `{status, result_id}` + `Retry-After` | | `failed` | 409 `application/json` `{status, result_id, error_message}` | | not found | 404 `application/json` (`ApiErrorResponse`) | `?format=` accepts `arrow`, `json`, `csv`, `md`, `parquet` and takes precedence over `Accept`. `markdown` is accepted as a runtime alias for `md` (the OpenAPI enum lists only `md` to keep the SDK shape clean). Use `?offset=N&limit=M` to slice the result; `offset` defaults to 0 and `limit` is unbounded by default. Both must be non-negative; invalid values return 400. When a finite `limit` doesn't reach the end of the result, a `Link` header with `rel=\"next\"` points at the following page. `?offset`/`?limit` are ignored for `format=parquet` since that path returns the underlying file unchanged. Ready responses (Arrow, CSV, Markdown, JSON) carry `X-Total-Row-Count` (full result row count from parquet metadata, independent of offset/limit). The streaming paths run end-to-end with no spawned task between the parquet reader and the wire — clients can disconnect at any time and the server stops reading. IEEE special floats (`±Inf`, `NaN`) have no canonical JSON representation. For cross-format consistency the JSON, CSV, and Markdown paths emit them as `null` / empty cells, and JSON `nullable[]` is widened to match. The Arrow IPC and Parquet bodies are binary round-trip formats and preserve the raw IEEE values; callers cross-checking a result across CSV and Parquet should not byte-compare those slots.
|
|
233
233
|
|
|
234
234
|
:param id: Result ID (required)
|
|
235
235
|
:type id: str
|
|
@@ -237,7 +237,7 @@ class ResultsApi:
|
|
|
237
237
|
:type offset: int
|
|
238
238
|
:param limit: Maximum rows to return (default: unbounded)
|
|
239
239
|
:type limit: int
|
|
240
|
-
:param format: `arrow` or `
|
|
240
|
+
:param format: `arrow`, `json`, `csv`, `md`, or `parquet` — overrides the `Accept` header. `markdown` is also accepted at runtime as an alias for `md`, but is not in the OpenAPI enum to keep the SDK shape clean.
|
|
241
241
|
:type format: ResultsFormatQuery
|
|
242
242
|
:param _request_timeout: timeout setting for this request. If one
|
|
243
243
|
number provided, it will be total request
|
|
@@ -338,7 +338,10 @@ class ResultsApi:
|
|
|
338
338
|
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
339
339
|
[
|
|
340
340
|
'application/json',
|
|
341
|
-
'application/vnd.apache.arrow.stream'
|
|
341
|
+
'application/vnd.apache.arrow.stream',
|
|
342
|
+
'text/csv',
|
|
343
|
+
'text/markdown',
|
|
344
|
+
'application/vnd.apache.parquet'
|
|
342
345
|
]
|
|
343
346
|
)
|
|
344
347
|
|
|
@@ -91,14 +91,18 @@ class ApiClient:
|
|
|
91
91
|
self.default_headers[header_name] = header_value
|
|
92
92
|
self.cookie = cookie
|
|
93
93
|
# Set default User-Agent.
|
|
94
|
-
self.user_agent = 'OpenAPI-Generator/0.
|
|
94
|
+
self.user_agent = 'OpenAPI-Generator/0.2.0/python'
|
|
95
95
|
self.client_side_validation = configuration.client_side_validation
|
|
96
96
|
|
|
97
97
|
def __enter__(self):
|
|
98
98
|
return self
|
|
99
99
|
|
|
100
|
+
def close(self) -> None:
|
|
101
|
+
if self.rest_client is not None:
|
|
102
|
+
self.rest_client.close()
|
|
103
|
+
|
|
100
104
|
def __exit__(self, exc_type, exc_value, traceback):
|
|
101
|
-
|
|
105
|
+
self.close()
|
|
102
106
|
|
|
103
107
|
@property
|
|
104
108
|
def user_agent(self):
|
|
@@ -21,7 +21,7 @@ from typing_extensions import Self
|
|
|
21
21
|
|
|
22
22
|
class ResultsFormatQuery(str, Enum):
|
|
23
23
|
"""
|
|
24
|
-
Schema for the `?format=` query parameter on `GET /v1/results/{id}`. Documents the canonical values
|
|
24
|
+
Schema for the `?format=` query parameter on `GET /v1/results/{id}`. Documents the canonical values that SDKs should treat as a closed set (`arrow`, `json`, `csv`, `md`, `parquet`). The runtime handler's negotiator (`negotiate_results_format`) additionally accepts `markdown` as an alias for `md` — case-insensitive, with unknown values falling through to the `Accept` header — but `markdown` is intentionally NOT listed in this enum so SDK generators emit a single canonical `Markdown` (or equivalent) variant rather than two distinct ones for the same logical format.
|
|
25
25
|
"""
|
|
26
26
|
|
|
27
27
|
"""
|
|
@@ -29,6 +29,9 @@ class ResultsFormatQuery(str, Enum):
|
|
|
29
29
|
"""
|
|
30
30
|
ARROW = 'arrow'
|
|
31
31
|
JSON = 'json'
|
|
32
|
+
CSV = 'csv'
|
|
33
|
+
MD = 'md'
|
|
34
|
+
PARQUET = 'parquet'
|
|
32
35
|
|
|
33
36
|
@classmethod
|
|
34
37
|
def from_json(cls, json_str: str) -> Self:
|
|
@@ -158,6 +158,7 @@ hotdata/models/url_dataset_source.py
|
|
|
158
158
|
hotdata/models/workspace_context_entry.py
|
|
159
159
|
hotdata/models/workspace_detail.py
|
|
160
160
|
hotdata/models/workspace_list_item.py
|
|
161
|
+
test/test_api_client_close.py
|
|
161
162
|
test/test_api_error_detail.py
|
|
162
163
|
test/test_api_error_response.py
|
|
163
164
|
test/test_async_query_response.py
|
|
@@ -300,4 +301,5 @@ test/test_workspace_context_entry.py
|
|
|
300
301
|
test/test_workspace_detail.py
|
|
301
302
|
test/test_workspace_list_item.py
|
|
302
303
|
test/test_workspaces_api.py
|
|
303
|
-
tests/test_arrow.py
|
|
304
|
+
tests/test_arrow.py
|
|
305
|
+
tests/test_update_changelog.py
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import unittest
|
|
2
|
+
|
|
3
|
+
from hotdata import ApiClient
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class TestApiClientClose(unittest.TestCase):
|
|
7
|
+
def test_close_does_not_raise(self) -> None:
|
|
8
|
+
client = ApiClient()
|
|
9
|
+
client.close()
|
|
10
|
+
|
|
11
|
+
def test_context_manager_calls_close(self) -> None:
|
|
12
|
+
client = ApiClient()
|
|
13
|
+
called = False
|
|
14
|
+
original_close = client.rest_client.close
|
|
15
|
+
|
|
16
|
+
def tracked_close() -> None:
|
|
17
|
+
nonlocal called
|
|
18
|
+
called = True
|
|
19
|
+
original_close()
|
|
20
|
+
|
|
21
|
+
client.rest_client.close = tracked_close
|
|
22
|
+
with client:
|
|
23
|
+
pass
|
|
24
|
+
self.assertTrue(called)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
if __name__ == "__main__":
|
|
28
|
+
unittest.main()
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import importlib.util
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def _update_changelog_text(text: str, ver: str, date: str) -> str:
|
|
6
|
+
path = Path(__file__).resolve().parents[1] / "scripts" / "update_changelog.py"
|
|
7
|
+
spec = importlib.util.spec_from_file_location("update_changelog", path)
|
|
8
|
+
module = importlib.util.module_from_spec(spec)
|
|
9
|
+
assert spec.loader is not None
|
|
10
|
+
spec.loader.exec_module(module)
|
|
11
|
+
return module.update_changelog_text(text, ver, date)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
HEADER = """# Changelog
|
|
15
|
+
|
|
16
|
+
All notable changes to this project will be documented in this file.
|
|
17
|
+
|
|
18
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
19
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
20
|
+
|
|
21
|
+
## [Unreleased]
|
|
22
|
+
|
|
23
|
+
## [0.1.1] - 2026-05-19
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- Initial feature.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def test_empty_unreleased_inserts_version_without_duplicate_heading():
|
|
32
|
+
result = _update_changelog_text(HEADER, "0.1.2", "2026-05-20")
|
|
33
|
+
assert result.count("## [Unreleased]") == 1
|
|
34
|
+
assert "## [0.1.2] - 2026-05-20" in result
|
|
35
|
+
assert "The format is based on [Keep a Changelog]" in result.split("## [0.1.2]")[0]
|
|
36
|
+
assert result.index("## [0.1.2]") < result.index("## [0.1.1]")
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def test_populated_unreleased_moves_notes_into_new_section():
|
|
40
|
+
text = HEADER.replace(
|
|
41
|
+
"## [Unreleased]\n\n",
|
|
42
|
+
"## [Unreleased]\n\n### Added\n\n- New widget.\n\n",
|
|
43
|
+
)
|
|
44
|
+
result = _update_changelog_text(text, "0.1.2", "2026-05-20")
|
|
45
|
+
assert result.count("## [Unreleased]") == 1
|
|
46
|
+
assert "- New widget." in result
|
|
47
|
+
assert result.index("- New widget.") < result.index("## [0.1.1]")
|
|
48
|
+
assert "The format is based on [Keep a Changelog]" in result.split("## [0.1.2]")[0]
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|