diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES
index 30f4ef8..ceb7462 100644
--- a/.openapi-generator/FILES
+++ b/.openapi-generator/FILES
@@ -19,7 +19,6 @@ docs/ColumnProfileDetailOneOf2.md
docs/ColumnProfileDetailOneOf3.md
docs/ColumnProfileDetailOneOf4.md
docs/ColumnProfileInfo.md
-docs/ColumnTypeSpec.md
docs/ConnectionHealthResponse.md
docs/ConnectionInfo.md
docs/ConnectionRefreshResult.md
@@ -32,8 +31,6 @@ docs/CreateConnectionRequest.md
docs/CreateConnectionResponse.md
docs/CreateDatabaseRequest.md
docs/CreateDatabaseResponse.md
-docs/CreateDatasetRequest.md
-docs/CreateDatasetResponse.md
docs/CreateEmbeddingProviderRequest.md
docs/CreateEmbeddingProviderResponse.md
docs/CreateIndexRequest.md
@@ -50,15 +47,6 @@ docs/DatabaseDefaultTableDecl.md
docs/DatabaseDetailResponse.md
docs/DatabaseSummary.md
docs/DatabasesApi.md
-docs/DatasetSource.md
-docs/DatasetSourceOneOf.md
-docs/DatasetSourceOneOf1.md
-docs/DatasetSourceOneOf2.md
-docs/DatasetSourceOneOf3.md
-docs/DatasetSourceOneOf4.md
-docs/DatasetSummary.md
-docs/DatasetVersionSummary.md
-docs/DatasetsApi.md
docs/DiscoveryStatus.md
docs/EmbeddingProviderResponse.md
docs/EmbeddingProvidersApi.md
@@ -66,7 +54,6 @@ docs/Error.md
docs/ExecuteSavedQueryRequest.md
docs/GetConnectionResponse.md
docs/GetDatabaseContextResponse.md
-docs/GetDatasetResponse.md
docs/GetResultResponse.md
docs/GetSecretResponse.md
docs/IndexEntryResponse.md
@@ -75,8 +62,6 @@ docs/IndexStatus.md
docs/IndexesApi.md
docs/InformationSchemaApi.md
docs/InformationSchemaResponse.md
-docs/InlineData.md
-docs/InlineDatasetSource.md
docs/JobResult.md
docs/JobStatus.md
docs/JobStatusResponse.md
@@ -86,8 +71,6 @@ docs/ListConnectionTypesResponse.md
docs/ListConnectionsResponse.md
docs/ListDatabaseContextsResponse.md
docs/ListDatabasesResponse.md
-docs/ListDatasetVersionsResponse.md
-docs/ListDatasetsResponse.md
docs/ListEmbeddingProvidersResponse.md
docs/ListIndexesPageResponse.md
docs/ListIndexesResponse.md
@@ -110,7 +93,6 @@ docs/QueryResponse.md
docs/QueryRunInfo.md
docs/QueryRunsApi.md
docs/RefreshApi.md
-docs/RefreshDatasetResponse.md
docs/RefreshRequest.md
docs/RefreshResponse.md
docs/RefreshWarning.md
@@ -118,14 +100,12 @@ docs/ResultInfo.md
docs/ResultsApi.md
docs/ResultsFormatQuery.md
docs/SavedQueriesApi.md
-docs/SavedQueryDatasetSource.md
docs/SavedQueryDetail.md
docs/SavedQuerySummary.md
docs/SavedQueryVersionInfo.md
docs/SchemaRefreshResult.md
docs/SecretMetadataResponse.md
docs/SecretsApi.md
-docs/SqlQueryDatasetSource.md
docs/SubmitJobResponse.md
docs/TableInfo.md
docs/TableProfileResponse.md
@@ -133,22 +113,20 @@ docs/TableRefreshError.md
docs/TableRefreshResult.md
docs/TemporalProfileDetail.md
docs/TextProfileDetail.md
-docs/UpdateDatasetRequest.md
-docs/UpdateDatasetResponse.md
docs/UpdateEmbeddingProviderRequest.md
docs/UpdateEmbeddingProviderResponse.md
docs/UpdateSavedQueryRequest.md
docs/UpdateSecretRequest.md
docs/UpdateSecretResponse.md
-docs/UploadDatasetSource.md
docs/UploadInfo.md
docs/UploadResponse.md
docs/UploadsApi.md
docs/UpsertDatabaseContextRequest.md
docs/UpsertDatabaseContextResponse.md
-docs/UrlDatasetSource.md
+docs/UsageApi.md
docs/WorkspaceDetail.md
docs/WorkspaceListItem.md
+docs/WorkspaceUsageResponse.md
docs/WorkspacesApi.md
hotdata/__init__.py
hotdata/api/__init__.py
@@ -156,7 +134,6 @@ hotdata/api/connection_types_api.py
hotdata/api/connections_api.py
hotdata/api/database_context_api.py
hotdata/api/databases_api.py
-hotdata/api/datasets_api.py
hotdata/api/embedding_providers_api.py
hotdata/api/indexes_api.py
hotdata/api/information_schema_api.py
@@ -168,6 +145,7 @@ hotdata/api/results_api.py
hotdata/api/saved_queries_api.py
hotdata/api/secrets_api.py
hotdata/api/uploads_api.py
+hotdata/api/usage_api.py
hotdata/api/workspaces_api.py
hotdata/api_client.py
hotdata/api_response.py
@@ -192,7 +170,6 @@ hotdata/models/column_profile_detail_one_of2.py
hotdata/models/column_profile_detail_one_of3.py
hotdata/models/column_profile_detail_one_of4.py
hotdata/models/column_profile_info.py
-hotdata/models/column_type_spec.py
hotdata/models/connection_health_response.py
hotdata/models/connection_info.py
hotdata/models/connection_refresh_result.py
@@ -203,8 +180,6 @@ hotdata/models/create_connection_request.py
hotdata/models/create_connection_response.py
hotdata/models/create_database_request.py
hotdata/models/create_database_response.py
-hotdata/models/create_dataset_request.py
-hotdata/models/create_dataset_response.py
hotdata/models/create_embedding_provider_request.py
hotdata/models/create_embedding_provider_response.py
hotdata/models/create_index_request.py
@@ -219,29 +194,18 @@ hotdata/models/database_default_schema_decl.py
hotdata/models/database_default_table_decl.py
hotdata/models/database_detail_response.py
hotdata/models/database_summary.py
-hotdata/models/dataset_source.py
-hotdata/models/dataset_source_one_of.py
-hotdata/models/dataset_source_one_of1.py
-hotdata/models/dataset_source_one_of2.py
-hotdata/models/dataset_source_one_of3.py
-hotdata/models/dataset_source_one_of4.py
-hotdata/models/dataset_summary.py
-hotdata/models/dataset_version_summary.py
hotdata/models/discovery_status.py
hotdata/models/embedding_provider_response.py
hotdata/models/error.py
hotdata/models/execute_saved_query_request.py
hotdata/models/get_connection_response.py
hotdata/models/get_database_context_response.py
-hotdata/models/get_dataset_response.py
hotdata/models/get_result_response.py
hotdata/models/get_secret_response.py
hotdata/models/index_entry_response.py
hotdata/models/index_info_response.py
hotdata/models/index_status.py
hotdata/models/information_schema_response.py
-hotdata/models/inline_data.py
-hotdata/models/inline_dataset_source.py
hotdata/models/job_result.py
hotdata/models/job_status.py
hotdata/models/job_status_response.py
@@ -250,8 +214,6 @@ hotdata/models/list_connection_types_response.py
hotdata/models/list_connections_response.py
hotdata/models/list_database_contexts_response.py
hotdata/models/list_databases_response.py
-hotdata/models/list_dataset_versions_response.py
-hotdata/models/list_datasets_response.py
hotdata/models/list_embedding_providers_response.py
hotdata/models/list_indexes_page_response.py
hotdata/models/list_indexes_response.py
@@ -271,19 +233,16 @@ hotdata/models/numeric_profile_detail.py
hotdata/models/query_request.py
hotdata/models/query_response.py
hotdata/models/query_run_info.py
-hotdata/models/refresh_dataset_response.py
hotdata/models/refresh_request.py
hotdata/models/refresh_response.py
hotdata/models/refresh_warning.py
hotdata/models/result_info.py
hotdata/models/results_format_query.py
-hotdata/models/saved_query_dataset_source.py
hotdata/models/saved_query_detail.py
hotdata/models/saved_query_summary.py
hotdata/models/saved_query_version_info.py
hotdata/models/schema_refresh_result.py
hotdata/models/secret_metadata_response.py
-hotdata/models/sql_query_dataset_source.py
hotdata/models/submit_job_response.py
hotdata/models/table_info.py
hotdata/models/table_profile_response.py
@@ -291,21 +250,18 @@ hotdata/models/table_refresh_error.py
hotdata/models/table_refresh_result.py
hotdata/models/temporal_profile_detail.py
hotdata/models/text_profile_detail.py
-hotdata/models/update_dataset_request.py
-hotdata/models/update_dataset_response.py
hotdata/models/update_embedding_provider_request.py
hotdata/models/update_embedding_provider_response.py
hotdata/models/update_saved_query_request.py
hotdata/models/update_secret_request.py
hotdata/models/update_secret_response.py
-hotdata/models/upload_dataset_source.py
hotdata/models/upload_info.py
hotdata/models/upload_response.py
hotdata/models/upsert_database_context_request.py
hotdata/models/upsert_database_context_response.py
-hotdata/models/url_dataset_source.py
hotdata/models/workspace_detail.py
hotdata/models/workspace_list_item.py
+hotdata/models/workspace_usage_response.py
hotdata/py.typed
hotdata/rest.py
setup.cfg
@@ -328,7 +284,6 @@ test/test_column_profile_detail_one_of2.py
test/test_column_profile_detail_one_of3.py
test/test_column_profile_detail_one_of4.py
test/test_column_profile_info.py
-test/test_column_type_spec.py
test/test_connection_health_response.py
test/test_connection_info.py
test/test_connection_refresh_result.py
@@ -341,8 +296,6 @@ test/test_create_connection_request.py
test/test_create_connection_response.py
test/test_create_database_request.py
test/test_create_database_response.py
-test/test_create_dataset_request.py
-test/test_create_dataset_response.py
test/test_create_embedding_provider_request.py
test/test_create_embedding_provider_response.py
test/test_create_index_request.py
@@ -359,15 +312,6 @@ test/test_database_default_table_decl.py
test/test_database_detail_response.py
test/test_database_summary.py
test/test_databases_api.py
-test/test_dataset_source.py
-test/test_dataset_source_one_of.py
-test/test_dataset_source_one_of1.py
-test/test_dataset_source_one_of2.py
-test/test_dataset_source_one_of3.py
-test/test_dataset_source_one_of4.py
-test/test_dataset_summary.py
-test/test_dataset_version_summary.py
-test/test_datasets_api.py
test/test_discovery_status.py
test/test_embedding_provider_response.py
test/test_embedding_providers_api.py
@@ -375,7 +319,6 @@ test/test_error.py
test/test_execute_saved_query_request.py
test/test_get_connection_response.py
test/test_get_database_context_response.py
-test/test_get_dataset_response.py
test/test_get_result_response.py
test/test_get_secret_response.py
test/test_index_entry_response.py
@@ -384,8 +327,6 @@ test/test_index_status.py
test/test_indexes_api.py
test/test_information_schema_api.py
test/test_information_schema_response.py
-test/test_inline_data.py
-test/test_inline_dataset_source.py
test/test_job_result.py
test/test_job_status.py
test/test_job_status_response.py
@@ -395,8 +336,6 @@ test/test_list_connection_types_response.py
test/test_list_connections_response.py
test/test_list_database_contexts_response.py
test/test_list_databases_response.py
-test/test_list_dataset_versions_response.py
-test/test_list_datasets_response.py
test/test_list_embedding_providers_response.py
test/test_list_indexes_page_response.py
test/test_list_indexes_response.py
@@ -419,7 +358,6 @@ test/test_query_response.py
test/test_query_run_info.py
test/test_query_runs_api.py
test/test_refresh_api.py
-test/test_refresh_dataset_response.py
test/test_refresh_request.py
test/test_refresh_response.py
test/test_refresh_warning.py
@@ -427,14 +365,12 @@ test/test_result_info.py
test/test_results_api.py
test/test_results_format_query.py
test/test_saved_queries_api.py
-test/test_saved_query_dataset_source.py
test/test_saved_query_detail.py
test/test_saved_query_summary.py
test/test_saved_query_version_info.py
test/test_schema_refresh_result.py
test/test_secret_metadata_response.py
test/test_secrets_api.py
-test/test_sql_query_dataset_source.py
test/test_submit_job_response.py
test/test_table_info.py
test/test_table_profile_response.py
@@ -442,21 +378,19 @@ test/test_table_refresh_error.py
test/test_table_refresh_result.py
test/test_temporal_profile_detail.py
test/test_text_profile_detail.py
-test/test_update_dataset_request.py
-test/test_update_dataset_response.py
test/test_update_embedding_provider_request.py
test/test_update_embedding_provider_response.py
test/test_update_saved_query_request.py
test/test_update_secret_request.py
test/test_update_secret_response.py
-test/test_upload_dataset_source.py
test/test_upload_info.py
test/test_upload_response.py
test/test_uploads_api.py
test/test_upsert_database_context_request.py
test/test_upsert_database_context_response.py
-test/test_url_dataset_source.py
+test/test_usage_api.py
test/test_workspace_detail.py
test/test_workspace_list_item.py
+test/test_workspace_usage_response.py
test/test_workspaces_api.py
tox.ini
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1f17668..624e5a5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+### Changed
+
+- chore: remove datasets API and related job types
+
## [0.4.1] - 2026-06-19
### Changed
diff --git a/docs/ColumnTypeSpec.md b/docs/ColumnTypeSpec.md
deleted file mode 100644
index abd7678..0000000
--- a/docs/ColumnTypeSpec.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# ColumnTypeSpec
-
-Detailed column type specification with optional properties.
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**geometry_type** | **str** | Geometry type for GEOMETRY/GEOGRAPHY columns. E.g., \"Point\", \"LineString\", \"Polygon\", \"MultiPoint\", \"MultiLineString\", \"MultiPolygon\", \"GeometryCollection\", or \"Geometry\" (any). | [optional]
-**precision** | **int** | Precision for DECIMAL type (1-38) | [optional]
-**scale** | **int** | Scale for DECIMAL type | [optional]
-**srid** | **int** | Spatial Reference System Identifier for GEOMETRY/GEOGRAPHY types. Common values: 4326 (WGS84), 3857 (Web Mercator). | [optional]
-**type** | **str** | The data type name (e.g., \"DECIMAL\", \"TIMESTAMP\", \"GEOMETRY\") |
-
-## Example
-
-```python
-from hotdata.models.column_type_spec import ColumnTypeSpec
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of ColumnTypeSpec from a JSON string
-column_type_spec_instance = ColumnTypeSpec.from_json(json)
-# print the JSON string representation of the object
-print(ColumnTypeSpec.to_json())
-
-# convert the object into a dict
-column_type_spec_dict = column_type_spec_instance.to_dict()
-# create an instance of ColumnTypeSpec from a dict
-column_type_spec_from_dict = ColumnTypeSpec.from_dict(column_type_spec_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/CreateDatabaseRequest.md b/docs/CreateDatabaseRequest.md
index ed6d218..0b2ba4d 100644
--- a/docs/CreateDatabaseRequest.md
+++ b/docs/CreateDatabaseRequest.md
@@ -6,7 +6,7 @@ Request body for POST /databases
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**default_catalog** | **str** | Optional name the database's auto-created default catalog answers to inside its query scope. Must be a valid SQL identifier (`[a-z0-9_]`, not starting with a digit) and may not collide with the system catalogs `hotdata`, `datasets`, or `information_schema`. Defaults to `default` when omitted, so `default.main.<table>` keeps working. | [optional]
+**default_catalog** | **str** | Optional name the database's auto-created default catalog answers to inside its query scope. Must be a valid SQL identifier (`[a-z0-9_]`, not starting with a digit) and may not collide with the reserved catalog names `hotdata`, `datasets`, or `information_schema`. Defaults to `default` when omitted, so `default.main.<table>` keeps working. | [optional]
**expires_at** | **str** | When this database expires. Accepts either an RFC 3339 timestamp (e.g. `\"2026-06-01T00:00:00Z\"`) or a relative duration suffixed with `h` (hours), `m` (minutes), or `d` (days) — for example `\"24h\"`, `\"48h\"`, or `\"7d\"`. Omitted (or empty) means the database never expires. Expiry is best-effort: the database will not be deleted before `expires_at`, but cleanup may run later than the exact timestamp. | [optional]
**name** | **str** | Optional free-form display label (for UIs/CLIs). Not unique. Not an identifier — databases are always addressed by `id`. Accepts the legacy `description` key as an alias so clients that predate the rename keep populating this field. | [optional]
**schemas** | [**List[DatabaseDefaultSchemaDecl]**](DatabaseDefaultSchemaDecl.md) | Optional schemas/tables to declare on the database's auto-created default catalog. Tables declared here can be loaded via the standard managed-table load endpoint targeting `default_connection_id`. Omitted or empty means the default catalog starts empty. | [optional]
diff --git a/docs/CreateDatasetRequest.md b/docs/CreateDatasetRequest.md
deleted file mode 100644
index 72e78e3..0000000
--- a/docs/CreateDatasetRequest.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# CreateDatasetRequest
-
-Request body for POST /v1/datasets
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**label** | **str** | |
-**source** | [**DatasetSource**](DatasetSource.md) | |
-**table_name** | **str** | Optional table_name - if not provided, derived from label | [optional]
-
-## Example
-
-```python
-from hotdata.models.create_dataset_request import CreateDatasetRequest
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of CreateDatasetRequest from a JSON string
-create_dataset_request_instance = CreateDatasetRequest.from_json(json)
-# print the JSON string representation of the object
-print(CreateDatasetRequest.to_json())
-
-# convert the object into a dict
-create_dataset_request_dict = create_dataset_request_instance.to_dict()
-# create an instance of CreateDatasetRequest from a dict
-create_dataset_request_from_dict = CreateDatasetRequest.from_dict(create_dataset_request_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/CreateDatasetResponse.md b/docs/CreateDatasetResponse.md
deleted file mode 100644
index 64a8416..0000000
--- a/docs/CreateDatasetResponse.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# CreateDatasetResponse
-
-Response body for POST /v1/datasets
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**created_at** | **datetime** | |
-**id** | **str** | |
-**label** | **str** | |
-**schema_name** | **str** | |
-**status** | **str** | |
-**table_name** | **str** | |
-
-## Example
-
-```python
-from hotdata.models.create_dataset_response import CreateDatasetResponse
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of CreateDatasetResponse from a JSON string
-create_dataset_response_instance = CreateDatasetResponse.from_json(json)
-# print the JSON string representation of the object
-print(CreateDatasetResponse.to_json())
-
-# convert the object into a dict
-create_dataset_response_dict = create_dataset_response_instance.to_dict()
-# create an instance of CreateDatasetResponse from a dict
-create_dataset_response_from_dict = CreateDatasetResponse.from_dict(create_dataset_response_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/DatabaseContextApi.md b/docs/DatabaseContextApi.md
index 6547496..54ca591 100644
--- a/docs/DatabaseContextApi.md
+++ b/docs/DatabaseContextApi.md
@@ -54,7 +54,7 @@ with hotdata.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = hotdata.DatabaseContextApi(api_client)
database_id = 'database_id_example' # str | Database ID
- name = 'name_example' # str | Context key: same character rules as a dataset table name
+ name = 'name_example' # str | Context key: same character rules as a table name
try:
# Delete database context
@@ -71,7 +71,7 @@ with hotdata.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**database_id** | **str**| Database ID |
- **name** | **str**| Context key: same character rules as a dataset table name |
+ **name** | **str**| Context key: same character rules as a table name |
### Return type
@@ -139,7 +139,7 @@ with hotdata.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = hotdata.DatabaseContextApi(api_client)
database_id = 'database_id_example' # str | Database ID
- name = 'name_example' # str | Context key: same character rules as a dataset table name
+ name = 'name_example' # str | Context key: same character rules as a table name
try:
# Get one database context
@@ -158,7 +158,7 @@ with hotdata.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**database_id** | **str**| Database ID |
- **name** | **str**| Context key: same character rules as a dataset table name |
+ **name** | **str**| Context key: same character rules as a table name |
### Return type
diff --git a/docs/DatabasesApi.md b/docs/DatabasesApi.md
index 6439c20..d464b56 100644
--- a/docs/DatabasesApi.md
+++ b/docs/DatabasesApi.md
@@ -291,7 +291,7 @@ void (empty response body)
Create database
-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.
` works out of the box. The optional `name` is a free-form display label and is not required to be unique. Optional `default_catalog` overrides the name the default catalog answers to; it must be a valid SQL identifier and may not collide with the `hotdata`, `datasets`, or `information_schema` system catalogs. Optional `schemas` declares additional schemas/tables on the default catalog at create time; declared tables can be loaded via the standard managed-tables-load endpoint targeting `default_connection_id`. Optional `expires_at` sets when the database expires — accepts either an RFC 3339 timestamp or a relative duration suffixed with `h` (hours), `m` (minutes), or `d` (days), e.g. `24h`, `48h`, `90m`, `7d`. When omitted, the database never expires. Expiry is best-effort: the database will not be deleted before `expires_at`, but cleanup may run later than the exact timestamp.
+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.` 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.
### Example
diff --git a/docs/DatasetSource.md b/docs/DatasetSource.md
deleted file mode 100644
index 14d01fb..0000000
--- a/docs/DatasetSource.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# DatasetSource
-
-Dataset source specification. Internally tagged on `type`, e.g. `{\"type\": \"upload\", \"upload_id\": \"...\"}`. Discriminator values: `upload`, `saved_query`, `sql_query`, `url`, `inline`.
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**columns** | **Dict[str, str]** | Optional explicit column definitions. Keys are column names, values are type specs. | [optional]
-**format** | **str** | | [optional]
-**upload_id** | **str** | |
-**type** | **str** | |
-**saved_query_id** | **str** | |
-**version** | **int** | | [optional]
-**description** | **str** | Optional description for the auto-created saved query. | [optional]
-**name** | **str** | Optional name for the auto-created saved query. Defaults to the dataset label. | [optional]
-**sql** | **str** | |
-**url** | **str** | |
-**inline** | [**InlineData**](InlineData.md) | |
-
-## Example
-
-```python
-from hotdata.models.dataset_source import DatasetSource
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of DatasetSource from a JSON string
-dataset_source_instance = DatasetSource.from_json(json)
-# print the JSON string representation of the object
-print(DatasetSource.to_json())
-
-# convert the object into a dict
-dataset_source_dict = dataset_source_instance.to_dict()
-# create an instance of DatasetSource from a dict
-dataset_source_from_dict = DatasetSource.from_dict(dataset_source_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/DatasetSourceOneOf.md b/docs/DatasetSourceOneOf.md
deleted file mode 100644
index aa924e7..0000000
--- a/docs/DatasetSourceOneOf.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# DatasetSourceOneOf
-
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**columns** | **Dict[str, str]** | Optional explicit column definitions. Keys are column names, values are type specs. When provided, the schema is built from these definitions instead of being inferred. | [optional]
-**format** | **str** | | [optional]
-**upload_id** | **str** | |
-**type** | **str** | |
-
-## Example
-
-```python
-from hotdata.models.dataset_source_one_of import DatasetSourceOneOf
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of DatasetSourceOneOf from a JSON string
-dataset_source_one_of_instance = DatasetSourceOneOf.from_json(json)
-# print the JSON string representation of the object
-print(DatasetSourceOneOf.to_json())
-
-# convert the object into a dict
-dataset_source_one_of_dict = dataset_source_one_of_instance.to_dict()
-# create an instance of DatasetSourceOneOf from a dict
-dataset_source_one_of_from_dict = DatasetSourceOneOf.from_dict(dataset_source_one_of_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/DatasetSourceOneOf1.md b/docs/DatasetSourceOneOf1.md
deleted file mode 100644
index 5587e12..0000000
--- a/docs/DatasetSourceOneOf1.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# DatasetSourceOneOf1
-
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**saved_query_id** | **str** | |
-**version** | **int** | | [optional]
-**type** | **str** | |
-
-## Example
-
-```python
-from hotdata.models.dataset_source_one_of1 import DatasetSourceOneOf1
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of DatasetSourceOneOf1 from a JSON string
-dataset_source_one_of1_instance = DatasetSourceOneOf1.from_json(json)
-# print the JSON string representation of the object
-print(DatasetSourceOneOf1.to_json())
-
-# convert the object into a dict
-dataset_source_one_of1_dict = dataset_source_one_of1_instance.to_dict()
-# create an instance of DatasetSourceOneOf1 from a dict
-dataset_source_one_of1_from_dict = DatasetSourceOneOf1.from_dict(dataset_source_one_of1_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/DatasetSourceOneOf2.md b/docs/DatasetSourceOneOf2.md
deleted file mode 100644
index 8a4f995..0000000
--- a/docs/DatasetSourceOneOf2.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# DatasetSourceOneOf2
-
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**description** | **str** | Optional description for the auto-created saved query. | [optional]
-**name** | **str** | Optional name for the auto-created saved query. Defaults to the dataset label. | [optional]
-**sql** | **str** | |
-**type** | **str** | |
-
-## Example
-
-```python
-from hotdata.models.dataset_source_one_of2 import DatasetSourceOneOf2
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of DatasetSourceOneOf2 from a JSON string
-dataset_source_one_of2_instance = DatasetSourceOneOf2.from_json(json)
-# print the JSON string representation of the object
-print(DatasetSourceOneOf2.to_json())
-
-# convert the object into a dict
-dataset_source_one_of2_dict = dataset_source_one_of2_instance.to_dict()
-# create an instance of DatasetSourceOneOf2 from a dict
-dataset_source_one_of2_from_dict = DatasetSourceOneOf2.from_dict(dataset_source_one_of2_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/DatasetSourceOneOf3.md b/docs/DatasetSourceOneOf3.md
deleted file mode 100644
index 5d43931..0000000
--- a/docs/DatasetSourceOneOf3.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# DatasetSourceOneOf3
-
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**columns** | **Dict[str, str]** | Optional explicit column definitions. Keys are column names, values are type specs. | [optional]
-**format** | **str** | | [optional]
-**url** | **str** | |
-**type** | **str** | |
-
-## Example
-
-```python
-from hotdata.models.dataset_source_one_of3 import DatasetSourceOneOf3
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of DatasetSourceOneOf3 from a JSON string
-dataset_source_one_of3_instance = DatasetSourceOneOf3.from_json(json)
-# print the JSON string representation of the object
-print(DatasetSourceOneOf3.to_json())
-
-# convert the object into a dict
-dataset_source_one_of3_dict = dataset_source_one_of3_instance.to_dict()
-# create an instance of DatasetSourceOneOf3 from a dict
-dataset_source_one_of3_from_dict = DatasetSourceOneOf3.from_dict(dataset_source_one_of3_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/DatasetSourceOneOf4.md b/docs/DatasetSourceOneOf4.md
deleted file mode 100644
index e6b2f4d..0000000
--- a/docs/DatasetSourceOneOf4.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# DatasetSourceOneOf4
-
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**inline** | [**InlineData**](InlineData.md) | |
-**type** | **str** | |
-
-## Example
-
-```python
-from hotdata.models.dataset_source_one_of4 import DatasetSourceOneOf4
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of DatasetSourceOneOf4 from a JSON string
-dataset_source_one_of4_instance = DatasetSourceOneOf4.from_json(json)
-# print the JSON string representation of the object
-print(DatasetSourceOneOf4.to_json())
-
-# convert the object into a dict
-dataset_source_one_of4_dict = dataset_source_one_of4_instance.to_dict()
-# create an instance of DatasetSourceOneOf4 from a dict
-dataset_source_one_of4_from_dict = DatasetSourceOneOf4.from_dict(dataset_source_one_of4_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/DatasetSummary.md b/docs/DatasetSummary.md
deleted file mode 100644
index af03246..0000000
--- a/docs/DatasetSummary.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# DatasetSummary
-
-Dataset summary for listing
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**created_at** | **datetime** | |
-**id** | **str** | |
-**label** | **str** | |
-**latest_version** | **int** | |
-**pinned_version** | **int** | | [optional]
-**schema_name** | **str** | |
-**table_name** | **str** | |
-**updated_at** | **datetime** | |
-
-## Example
-
-```python
-from hotdata.models.dataset_summary import DatasetSummary
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of DatasetSummary from a JSON string
-dataset_summary_instance = DatasetSummary.from_json(json)
-# print the JSON string representation of the object
-print(DatasetSummary.to_json())
-
-# convert the object into a dict
-dataset_summary_dict = dataset_summary_instance.to_dict()
-# create an instance of DatasetSummary from a dict
-dataset_summary_from_dict = DatasetSummary.from_dict(dataset_summary_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/DatasetVersionSummary.md b/docs/DatasetVersionSummary.md
deleted file mode 100644
index 53582fa..0000000
--- a/docs/DatasetVersionSummary.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# DatasetVersionSummary
-
-Dataset version summary
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**created_at** | **datetime** | |
-**id** | **str** | |
-**source_type** | **str** | |
-**version** | **int** | |
-
-## Example
-
-```python
-from hotdata.models.dataset_version_summary import DatasetVersionSummary
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of DatasetVersionSummary from a JSON string
-dataset_version_summary_instance = DatasetVersionSummary.from_json(json)
-# print the JSON string representation of the object
-print(DatasetVersionSummary.to_json())
-
-# convert the object into a dict
-dataset_version_summary_dict = dataset_version_summary_instance.to_dict()
-# create an instance of DatasetVersionSummary from a dict
-dataset_version_summary_from_dict = DatasetVersionSummary.from_dict(dataset_version_summary_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/DatasetsApi.md b/docs/DatasetsApi.md
deleted file mode 100644
index 566e49f..0000000
--- a/docs/DatasetsApi.md
+++ /dev/null
@@ -1,561 +0,0 @@
-# hotdata.DatasetsApi
-
-All URIs are relative to *https://api.hotdata.dev*
-
-Method | HTTP request | Description
-------------- | ------------- | -------------
-[**create_dataset**](DatasetsApi.md#create_dataset) | **POST** /v1/datasets | Create dataset
-[**delete_dataset**](DatasetsApi.md#delete_dataset) | **DELETE** /v1/datasets/{id} | Delete dataset
-[**get_dataset**](DatasetsApi.md#get_dataset) | **GET** /v1/datasets/{id} | Get dataset
-[**list_dataset_versions**](DatasetsApi.md#list_dataset_versions) | **GET** /v1/datasets/{id}/versions | List dataset versions
-[**list_datasets**](DatasetsApi.md#list_datasets) | **GET** /v1/datasets | List datasets
-[**update_dataset**](DatasetsApi.md#update_dataset) | **PUT** /v1/datasets/{id} | Update dataset
-
-
-# **create_dataset**
-> CreateDatasetResponse create_dataset(create_dataset_request, x_database_id=x_database_id)
-
-Create dataset
-
-Create a new dataset from an uploaded file, inline data, a URL, or a SQL/saved query. The dataset becomes a queryable table under the `datasets` schema (e.g., `SELECT * FROM datasets.my_table`). Supports CSV, JSON, and Parquet formats. Optionally specify explicit column types.
-
-For `sql_query` / `saved_query` sources the dataset materializes by running that SQL, so the `X-Database-Id` header is required and the query sees only that database's catalogs (the scope is also reused on refresh). Upload/url/inline sources ignore the header.
-
-### Example
-
-* Api Key Authentication (WorkspaceId):
-* Api Key Authentication (SessionId):
-* Bearer Authentication (BearerAuth):
-
-```python
-import hotdata
-from hotdata.models.create_dataset_request import CreateDatasetRequest
-from hotdata.models.create_dataset_response import CreateDatasetResponse
-from hotdata.rest import ApiException
-from pprint import pprint
-
-# Defining the host is optional and defaults to https://api.hotdata.dev
-# See configuration.py for a list of all supported configuration parameters.
-configuration = hotdata.Configuration(
- host = "https://api.hotdata.dev"
-)
-
-# The client must configure the authentication and authorization parameters
-# in accordance with the API server security policy.
-# Examples for each auth method are provided below, use the example that
-# satisfies your auth use case.
-
-# Configure API key authorization: WorkspaceId
-configuration.api_key['WorkspaceId'] = os.environ["API_KEY"]
-
-# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
-# configuration.api_key_prefix['WorkspaceId'] = 'Bearer'
-
-# Configure API key authorization: SessionId
-configuration.api_key['SessionId'] = os.environ["API_KEY"]
-
-# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
-# configuration.api_key_prefix['SessionId'] = 'Bearer'
-
-# Configure Bearer authorization: BearerAuth
-configuration = hotdata.Configuration(
- access_token = os.environ["BEARER_TOKEN"]
-)
-
-# Enter a context with an instance of the API client
-with hotdata.ApiClient(configuration) as api_client:
- # Create an instance of the API class
- api_instance = hotdata.DatasetsApi(api_client)
- create_dataset_request = hotdata.CreateDatasetRequest() # CreateDatasetRequest |
- x_database_id = 'x_database_id_example' # str | Required for query-backed datasets (sql_query / saved_query): the database whose catalogs the materializing query runs against. An unknown id is a 404. (optional)
-
- try:
- # Create dataset
- api_response = api_instance.create_dataset(create_dataset_request, x_database_id=x_database_id)
- print("The response of DatasetsApi->create_dataset:\n")
- pprint(api_response)
- except Exception as e:
- print("Exception when calling DatasetsApi->create_dataset: %s\n" % e)
-```
-
-
-
-### Parameters
-
-
-Name | Type | Description | Notes
-------------- | ------------- | ------------- | -------------
- **create_dataset_request** | [**CreateDatasetRequest**](CreateDatasetRequest.md)| |
- **x_database_id** | **str**| Required for query-backed datasets (sql_query / saved_query): the database whose catalogs the materializing query runs against. An unknown id is a 404. | [optional]
-
-### Return type
-
-[**CreateDatasetResponse**](CreateDatasetResponse.md)
-
-### Authorization
-
-[WorkspaceId](../README.md#WorkspaceId), [SessionId](../README.md#SessionId), [BearerAuth](../README.md#BearerAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-**201** | Dataset created | - |
-**400** | Invalid request (query-backed dataset without X-Database-Id) | - |
-**404** | Database (from X-Database-Id) not found | - |
-**409** | Dataset already exists | - |
-
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
-
-# **delete_dataset**
-> delete_dataset(id)
-
-Delete dataset
-
-### Example
-
-* Api Key Authentication (WorkspaceId):
-* Api Key Authentication (SessionId):
-* Bearer Authentication (BearerAuth):
-
-```python
-import hotdata
-from hotdata.rest import ApiException
-from pprint import pprint
-
-# Defining the host is optional and defaults to https://api.hotdata.dev
-# See configuration.py for a list of all supported configuration parameters.
-configuration = hotdata.Configuration(
- host = "https://api.hotdata.dev"
-)
-
-# The client must configure the authentication and authorization parameters
-# in accordance with the API server security policy.
-# Examples for each auth method are provided below, use the example that
-# satisfies your auth use case.
-
-# Configure API key authorization: WorkspaceId
-configuration.api_key['WorkspaceId'] = os.environ["API_KEY"]
-
-# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
-# configuration.api_key_prefix['WorkspaceId'] = 'Bearer'
-
-# Configure API key authorization: SessionId
-configuration.api_key['SessionId'] = os.environ["API_KEY"]
-
-# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
-# configuration.api_key_prefix['SessionId'] = 'Bearer'
-
-# Configure Bearer authorization: BearerAuth
-configuration = hotdata.Configuration(
- access_token = os.environ["BEARER_TOKEN"]
-)
-
-# Enter a context with an instance of the API client
-with hotdata.ApiClient(configuration) as api_client:
- # Create an instance of the API class
- api_instance = hotdata.DatasetsApi(api_client)
- id = 'id_example' # str | Dataset ID
-
- try:
- # Delete dataset
- api_instance.delete_dataset(id)
- except Exception as e:
- print("Exception when calling DatasetsApi->delete_dataset: %s\n" % e)
-```
-
-
-
-### Parameters
-
-
-Name | Type | Description | Notes
-------------- | ------------- | ------------- | -------------
- **id** | **str**| Dataset ID |
-
-### Return type
-
-void (empty response body)
-
-### Authorization
-
-[WorkspaceId](../README.md#WorkspaceId), [SessionId](../README.md#SessionId), [BearerAuth](../README.md#BearerAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-**204** | Dataset deleted | - |
-**404** | Dataset not found | - |
-
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
-
-# **get_dataset**
-> GetDatasetResponse get_dataset(id)
-
-Get dataset
-
-### Example
-
-* Api Key Authentication (WorkspaceId):
-* Bearer Authentication (BearerAuth):
-
-```python
-import hotdata
-from hotdata.models.get_dataset_response import GetDatasetResponse
-from hotdata.rest import ApiException
-from pprint import pprint
-
-# Defining the host is optional and defaults to https://api.hotdata.dev
-# See configuration.py for a list of all supported configuration parameters.
-configuration = hotdata.Configuration(
- host = "https://api.hotdata.dev"
-)
-
-# The client must configure the authentication and authorization parameters
-# in accordance with the API server security policy.
-# Examples for each auth method are provided below, use the example that
-# satisfies your auth use case.
-
-# Configure API key authorization: WorkspaceId
-configuration.api_key['WorkspaceId'] = os.environ["API_KEY"]
-
-# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
-# configuration.api_key_prefix['WorkspaceId'] = 'Bearer'
-
-# Configure Bearer authorization: BearerAuth
-configuration = hotdata.Configuration(
- access_token = os.environ["BEARER_TOKEN"]
-)
-
-# Enter a context with an instance of the API client
-with hotdata.ApiClient(configuration) as api_client:
- # Create an instance of the API class
- api_instance = hotdata.DatasetsApi(api_client)
- id = 'id_example' # str | Dataset ID
-
- try:
- # Get dataset
- api_response = api_instance.get_dataset(id)
- print("The response of DatasetsApi->get_dataset:\n")
- pprint(api_response)
- except Exception as e:
- print("Exception when calling DatasetsApi->get_dataset: %s\n" % e)
-```
-
-
-
-### Parameters
-
-
-Name | Type | Description | Notes
-------------- | ------------- | ------------- | -------------
- **id** | **str**| Dataset ID |
-
-### Return type
-
-[**GetDatasetResponse**](GetDatasetResponse.md)
-
-### Authorization
-
-[WorkspaceId](../README.md#WorkspaceId), [BearerAuth](../README.md#BearerAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-**200** | Dataset details | - |
-**404** | Dataset not found | - |
-
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
-
-# **list_dataset_versions**
-> ListDatasetVersionsResponse list_dataset_versions(id, limit=limit, offset=offset)
-
-List dataset versions
-
-### Example
-
-* Api Key Authentication (WorkspaceId):
-* Bearer Authentication (BearerAuth):
-
-```python
-import hotdata
-from hotdata.models.list_dataset_versions_response import ListDatasetVersionsResponse
-from hotdata.rest import ApiException
-from pprint import pprint
-
-# Defining the host is optional and defaults to https://api.hotdata.dev
-# See configuration.py for a list of all supported configuration parameters.
-configuration = hotdata.Configuration(
- host = "https://api.hotdata.dev"
-)
-
-# The client must configure the authentication and authorization parameters
-# in accordance with the API server security policy.
-# Examples for each auth method are provided below, use the example that
-# satisfies your auth use case.
-
-# Configure API key authorization: WorkspaceId
-configuration.api_key['WorkspaceId'] = os.environ["API_KEY"]
-
-# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
-# configuration.api_key_prefix['WorkspaceId'] = 'Bearer'
-
-# Configure Bearer authorization: BearerAuth
-configuration = hotdata.Configuration(
- access_token = os.environ["BEARER_TOKEN"]
-)
-
-# Enter a context with an instance of the API client
-with hotdata.ApiClient(configuration) as api_client:
- # Create an instance of the API class
- api_instance = hotdata.DatasetsApi(api_client)
- id = 'id_example' # str | Dataset ID
- limit = 56 # int | Maximum number of versions (default: 100, max: 1000) (optional)
- offset = 56 # int | Pagination offset (default: 0) (optional)
-
- try:
- # List dataset versions
- api_response = api_instance.list_dataset_versions(id, limit=limit, offset=offset)
- print("The response of DatasetsApi->list_dataset_versions:\n")
- pprint(api_response)
- except Exception as e:
- print("Exception when calling DatasetsApi->list_dataset_versions: %s\n" % e)
-```
-
-
-
-### Parameters
-
-
-Name | Type | Description | Notes
-------------- | ------------- | ------------- | -------------
- **id** | **str**| Dataset ID |
- **limit** | **int**| Maximum number of versions (default: 100, max: 1000) | [optional]
- **offset** | **int**| Pagination offset (default: 0) | [optional]
-
-### Return type
-
-[**ListDatasetVersionsResponse**](ListDatasetVersionsResponse.md)
-
-### Authorization
-
-[WorkspaceId](../README.md#WorkspaceId), [BearerAuth](../README.md#BearerAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-**200** | List of dataset versions | - |
-**404** | Dataset not found | - |
-
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
-
-# **list_datasets**
-> ListDatasetsResponse list_datasets(limit=limit, offset=offset)
-
-List datasets
-
-### Example
-
-* Api Key Authentication (WorkspaceId):
-* Api Key Authentication (SessionId):
-* Bearer Authentication (BearerAuth):
-
-```python
-import hotdata
-from hotdata.models.list_datasets_response import ListDatasetsResponse
-from hotdata.rest import ApiException
-from pprint import pprint
-
-# Defining the host is optional and defaults to https://api.hotdata.dev
-# See configuration.py for a list of all supported configuration parameters.
-configuration = hotdata.Configuration(
- host = "https://api.hotdata.dev"
-)
-
-# The client must configure the authentication and authorization parameters
-# in accordance with the API server security policy.
-# Examples for each auth method are provided below, use the example that
-# satisfies your auth use case.
-
-# Configure API key authorization: WorkspaceId
-configuration.api_key['WorkspaceId'] = os.environ["API_KEY"]
-
-# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
-# configuration.api_key_prefix['WorkspaceId'] = 'Bearer'
-
-# Configure API key authorization: SessionId
-configuration.api_key['SessionId'] = os.environ["API_KEY"]
-
-# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
-# configuration.api_key_prefix['SessionId'] = 'Bearer'
-
-# Configure Bearer authorization: BearerAuth
-configuration = hotdata.Configuration(
- access_token = os.environ["BEARER_TOKEN"]
-)
-
-# Enter a context with an instance of the API client
-with hotdata.ApiClient(configuration) as api_client:
- # Create an instance of the API class
- api_instance = hotdata.DatasetsApi(api_client)
- limit = 56 # int | Maximum number of datasets (default: 100, max: 1000) (optional)
- offset = 56 # int | Pagination offset (default: 0) (optional)
-
- try:
- # List datasets
- api_response = api_instance.list_datasets(limit=limit, offset=offset)
- print("The response of DatasetsApi->list_datasets:\n")
- pprint(api_response)
- except Exception as e:
- print("Exception when calling DatasetsApi->list_datasets: %s\n" % e)
-```
-
-
-
-### Parameters
-
-
-Name | Type | Description | Notes
-------------- | ------------- | ------------- | -------------
- **limit** | **int**| Maximum number of datasets (default: 100, max: 1000) | [optional]
- **offset** | **int**| Pagination offset (default: 0) | [optional]
-
-### Return type
-
-[**ListDatasetsResponse**](ListDatasetsResponse.md)
-
-### Authorization
-
-[WorkspaceId](../README.md#WorkspaceId), [SessionId](../README.md#SessionId), [BearerAuth](../README.md#BearerAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-**200** | List of datasets | - |
-
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
-
-# **update_dataset**
-> UpdateDatasetResponse update_dataset(id, update_dataset_request)
-
-Update dataset
-
-### Example
-
-* Api Key Authentication (WorkspaceId):
-* Api Key Authentication (SessionId):
-* Bearer Authentication (BearerAuth):
-
-```python
-import hotdata
-from hotdata.models.update_dataset_request import UpdateDatasetRequest
-from hotdata.models.update_dataset_response import UpdateDatasetResponse
-from hotdata.rest import ApiException
-from pprint import pprint
-
-# Defining the host is optional and defaults to https://api.hotdata.dev
-# See configuration.py for a list of all supported configuration parameters.
-configuration = hotdata.Configuration(
- host = "https://api.hotdata.dev"
-)
-
-# The client must configure the authentication and authorization parameters
-# in accordance with the API server security policy.
-# Examples for each auth method are provided below, use the example that
-# satisfies your auth use case.
-
-# Configure API key authorization: WorkspaceId
-configuration.api_key['WorkspaceId'] = os.environ["API_KEY"]
-
-# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
-# configuration.api_key_prefix['WorkspaceId'] = 'Bearer'
-
-# Configure API key authorization: SessionId
-configuration.api_key['SessionId'] = os.environ["API_KEY"]
-
-# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
-# configuration.api_key_prefix['SessionId'] = 'Bearer'
-
-# Configure Bearer authorization: BearerAuth
-configuration = hotdata.Configuration(
- access_token = os.environ["BEARER_TOKEN"]
-)
-
-# Enter a context with an instance of the API client
-with hotdata.ApiClient(configuration) as api_client:
- # Create an instance of the API class
- api_instance = hotdata.DatasetsApi(api_client)
- id = 'id_example' # str | Dataset ID
- update_dataset_request = hotdata.UpdateDatasetRequest() # UpdateDatasetRequest |
-
- try:
- # Update dataset
- api_response = api_instance.update_dataset(id, update_dataset_request)
- print("The response of DatasetsApi->update_dataset:\n")
- pprint(api_response)
- except Exception as e:
- print("Exception when calling DatasetsApi->update_dataset: %s\n" % e)
-```
-
-
-
-### Parameters
-
-
-Name | Type | Description | Notes
-------------- | ------------- | ------------- | -------------
- **id** | **str**| Dataset ID |
- **update_dataset_request** | [**UpdateDatasetRequest**](UpdateDatasetRequest.md)| |
-
-### Return type
-
-[**UpdateDatasetResponse**](UpdateDatasetResponse.md)
-
-### Authorization
-
-[WorkspaceId](../README.md#WorkspaceId), [SessionId](../README.md#SessionId), [BearerAuth](../README.md#BearerAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-**200** | Dataset updated | - |
-**404** | Dataset not found | - |
-**409** | Conflict | - |
-
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
-
diff --git a/docs/GetDatasetResponse.md b/docs/GetDatasetResponse.md
deleted file mode 100644
index 5a4119b..0000000
--- a/docs/GetDatasetResponse.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# GetDatasetResponse
-
-Response body for GET /v1/datasets/{id}
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**columns** | [**List[ColumnInfo]**](ColumnInfo.md) | |
-**created_at** | **datetime** | |
-**id** | **str** | |
-**label** | **str** | |
-**latest_version** | **int** | |
-**pinned_version** | **int** | | [optional]
-**schema_name** | **str** | |
-**source_type** | **str** | |
-**table_name** | **str** | |
-**updated_at** | **datetime** | |
-
-## Example
-
-```python
-from hotdata.models.get_dataset_response import GetDatasetResponse
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of GetDatasetResponse from a JSON string
-get_dataset_response_instance = GetDatasetResponse.from_json(json)
-# print the JSON string representation of the object
-print(GetDatasetResponse.to_json())
-
-# convert the object into a dict
-get_dataset_response_dict = get_dataset_response_instance.to_dict()
-# create an instance of GetDatasetResponse from a dict
-get_dataset_response_from_dict = GetDatasetResponse.from_dict(get_dataset_response_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/IndexEntryResponse.md b/docs/IndexEntryResponse.md
index 6129383..39ecf2c 100644
--- a/docs/IndexEntryResponse.md
+++ b/docs/IndexEntryResponse.md
@@ -11,6 +11,7 @@ Name | Type | Description | Notes
**index_name** | **str** | |
**index_type** | **str** | |
**metric** | **str** | Distance metric this index was built with. Only present for vector indexes. | [optional]
+**source_column** | **str** | Source text column for an embedding-backed vector index. A query searches it via `vector_distance(<source_column>, …)`; the indexed `columns` hold the generated embedding column instead. Absent for BM25, sorted, and direct (existing-column) vector indexes. | [optional]
**status** | [**IndexStatus**](IndexStatus.md) | |
**updated_at** | **datetime** | |
**connection_id** | **str** | | [optional]
diff --git a/docs/IndexInfoResponse.md b/docs/IndexInfoResponse.md
index ef2c65b..69b909b 100644
--- a/docs/IndexInfoResponse.md
+++ b/docs/IndexInfoResponse.md
@@ -11,6 +11,7 @@ Name | Type | Description | Notes
**index_name** | **str** | |
**index_type** | **str** | |
**metric** | **str** | Distance metric this index was built with. Only present for vector indexes. | [optional]
+**source_column** | **str** | Source text column for an embedding-backed vector index. A query searches it via `vector_distance(<source_column>, …)`; the indexed `columns` hold the generated embedding column instead. Absent for BM25, sorted, and direct (existing-column) vector indexes. | [optional]
**status** | [**IndexStatus**](IndexStatus.md) | |
**updated_at** | **datetime** | |
diff --git a/docs/IndexesApi.md b/docs/IndexesApi.md
index 47c6224..ed516fe 100644
--- a/docs/IndexesApi.md
+++ b/docs/IndexesApi.md
@@ -4,113 +4,12 @@ All URIs are relative to *https://api.hotdata.dev*
Method | HTTP request | Description
------------- | ------------- | -------------
-[**create_dataset_index**](IndexesApi.md#create_dataset_index) | **POST** /v1/datasets/{dataset_id}/indexes | Create an index on a dataset
[**create_index**](IndexesApi.md#create_index) | **POST** /v1/connections/{connection_id}/tables/{schema}/{table}/indexes | Create an index on a table
-[**delete_dataset_index**](IndexesApi.md#delete_dataset_index) | **DELETE** /v1/datasets/{dataset_id}/indexes/{index_name} | Delete a dataset index
[**delete_index**](IndexesApi.md#delete_index) | **DELETE** /v1/connections/{connection_id}/tables/{schema}/{table}/indexes/{index_name} | Delete an index
-[**list_dataset_indexes**](IndexesApi.md#list_dataset_indexes) | **GET** /v1/datasets/{dataset_id}/indexes | List indexes on a dataset
[**list_indexes**](IndexesApi.md#list_indexes) | **GET** /v1/connections/{connection_id}/tables/{schema}/{table}/indexes | List indexes on a table
[**list_indexes_collection**](IndexesApi.md#list_indexes_collection) | **GET** /v1/indexes | List indexes across tables in a database
-# **create_dataset_index**
-> IndexInfoResponse create_dataset_index(dataset_id, create_index_request)
-
-Create an index on a dataset
-
-Create a sorted, BM25, or vector index on a dataset.
-
-### Example
-
-* Api Key Authentication (WorkspaceId):
-* Api Key Authentication (SessionId):
-* Bearer Authentication (BearerAuth):
-
-```python
-import hotdata
-from hotdata.models.create_index_request import CreateIndexRequest
-from hotdata.models.index_info_response import IndexInfoResponse
-from hotdata.rest import ApiException
-from pprint import pprint
-
-# Defining the host is optional and defaults to https://api.hotdata.dev
-# See configuration.py for a list of all supported configuration parameters.
-configuration = hotdata.Configuration(
- host = "https://api.hotdata.dev"
-)
-
-# The client must configure the authentication and authorization parameters
-# in accordance with the API server security policy.
-# Examples for each auth method are provided below, use the example that
-# satisfies your auth use case.
-
-# Configure API key authorization: WorkspaceId
-configuration.api_key['WorkspaceId'] = os.environ["API_KEY"]
-
-# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
-# configuration.api_key_prefix['WorkspaceId'] = 'Bearer'
-
-# Configure API key authorization: SessionId
-configuration.api_key['SessionId'] = os.environ["API_KEY"]
-
-# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
-# configuration.api_key_prefix['SessionId'] = 'Bearer'
-
-# Configure Bearer authorization: BearerAuth
-configuration = hotdata.Configuration(
- access_token = os.environ["BEARER_TOKEN"]
-)
-
-# Enter a context with an instance of the API client
-with hotdata.ApiClient(configuration) as api_client:
- # Create an instance of the API class
- api_instance = hotdata.IndexesApi(api_client)
- dataset_id = 'dataset_id_example' # str | Dataset ID
- create_index_request = hotdata.CreateIndexRequest() # CreateIndexRequest |
-
- try:
- # Create an index on a dataset
- api_response = api_instance.create_dataset_index(dataset_id, create_index_request)
- print("The response of IndexesApi->create_dataset_index:\n")
- pprint(api_response)
- except Exception as e:
- print("Exception when calling IndexesApi->create_dataset_index: %s\n" % e)
-```
-
-
-
-### Parameters
-
-
-Name | Type | Description | Notes
-------------- | ------------- | ------------- | -------------
- **dataset_id** | **str**| Dataset ID |
- **create_index_request** | [**CreateIndexRequest**](CreateIndexRequest.md)| |
-
-### Return type
-
-[**IndexInfoResponse**](IndexInfoResponse.md)
-
-### Authorization
-
-[WorkspaceId](../README.md#WorkspaceId), [SessionId](../README.md#SessionId), [BearerAuth](../README.md#BearerAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-**201** | Index created | - |
-**400** | Invalid request | - |
-**404** | Dataset not found | - |
-**500** | Internal server error | - |
-
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
-
# **create_index**
> IndexInfoResponse create_index(connection_id, var_schema, table, create_index_request)
@@ -206,98 +105,6 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
-# **delete_dataset_index**
-> delete_dataset_index(dataset_id, index_name)
-
-Delete a dataset index
-
-Delete a specific index from a dataset.
-
-### Example
-
-* Api Key Authentication (WorkspaceId):
-* Api Key Authentication (SessionId):
-* Bearer Authentication (BearerAuth):
-
-```python
-import hotdata
-from hotdata.rest import ApiException
-from pprint import pprint
-
-# Defining the host is optional and defaults to https://api.hotdata.dev
-# See configuration.py for a list of all supported configuration parameters.
-configuration = hotdata.Configuration(
- host = "https://api.hotdata.dev"
-)
-
-# The client must configure the authentication and authorization parameters
-# in accordance with the API server security policy.
-# Examples for each auth method are provided below, use the example that
-# satisfies your auth use case.
-
-# Configure API key authorization: WorkspaceId
-configuration.api_key['WorkspaceId'] = os.environ["API_KEY"]
-
-# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
-# configuration.api_key_prefix['WorkspaceId'] = 'Bearer'
-
-# Configure API key authorization: SessionId
-configuration.api_key['SessionId'] = os.environ["API_KEY"]
-
-# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
-# configuration.api_key_prefix['SessionId'] = 'Bearer'
-
-# Configure Bearer authorization: BearerAuth
-configuration = hotdata.Configuration(
- access_token = os.environ["BEARER_TOKEN"]
-)
-
-# Enter a context with an instance of the API client
-with hotdata.ApiClient(configuration) as api_client:
- # Create an instance of the API class
- api_instance = hotdata.IndexesApi(api_client)
- dataset_id = 'dataset_id_example' # str | Dataset ID
- index_name = 'index_name_example' # str | Index name
-
- try:
- # Delete a dataset index
- api_instance.delete_dataset_index(dataset_id, index_name)
- except Exception as e:
- print("Exception when calling IndexesApi->delete_dataset_index: %s\n" % e)
-```
-
-
-
-### Parameters
-
-
-Name | Type | Description | Notes
-------------- | ------------- | ------------- | -------------
- **dataset_id** | **str**| Dataset ID |
- **index_name** | **str**| Index name |
-
-### Return type
-
-void (empty response body)
-
-### Authorization
-
-[WorkspaceId](../README.md#WorkspaceId), [SessionId](../README.md#SessionId), [BearerAuth](../README.md#BearerAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-**204** | Index deleted | - |
-**404** | Index or dataset not found | - |
-
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
-
# **delete_index**
> delete_index(connection_id, var_schema, table, index_name)
@@ -388,99 +195,6 @@ void (empty response body)
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
-# **list_dataset_indexes**
-> ListIndexesResponse list_dataset_indexes(dataset_id)
-
-List indexes on a dataset
-
-List all indexes created on a dataset.
-
-### Example
-
-* Api Key Authentication (WorkspaceId):
-* Api Key Authentication (SessionId):
-* Bearer Authentication (BearerAuth):
-
-```python
-import hotdata
-from hotdata.models.list_indexes_response import ListIndexesResponse
-from hotdata.rest import ApiException
-from pprint import pprint
-
-# Defining the host is optional and defaults to https://api.hotdata.dev
-# See configuration.py for a list of all supported configuration parameters.
-configuration = hotdata.Configuration(
- host = "https://api.hotdata.dev"
-)
-
-# The client must configure the authentication and authorization parameters
-# in accordance with the API server security policy.
-# Examples for each auth method are provided below, use the example that
-# satisfies your auth use case.
-
-# Configure API key authorization: WorkspaceId
-configuration.api_key['WorkspaceId'] = os.environ["API_KEY"]
-
-# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
-# configuration.api_key_prefix['WorkspaceId'] = 'Bearer'
-
-# Configure API key authorization: SessionId
-configuration.api_key['SessionId'] = os.environ["API_KEY"]
-
-# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
-# configuration.api_key_prefix['SessionId'] = 'Bearer'
-
-# Configure Bearer authorization: BearerAuth
-configuration = hotdata.Configuration(
- access_token = os.environ["BEARER_TOKEN"]
-)
-
-# Enter a context with an instance of the API client
-with hotdata.ApiClient(configuration) as api_client:
- # Create an instance of the API class
- api_instance = hotdata.IndexesApi(api_client)
- dataset_id = 'dataset_id_example' # str | Dataset ID
-
- try:
- # List indexes on a dataset
- api_response = api_instance.list_dataset_indexes(dataset_id)
- print("The response of IndexesApi->list_dataset_indexes:\n")
- pprint(api_response)
- except Exception as e:
- print("Exception when calling IndexesApi->list_dataset_indexes: %s\n" % e)
-```
-
-
-
-### Parameters
-
-
-Name | Type | Description | Notes
-------------- | ------------- | ------------- | -------------
- **dataset_id** | **str**| Dataset ID |
-
-### Return type
-
-[**ListIndexesResponse**](ListIndexesResponse.md)
-
-### Authorization
-
-[WorkspaceId](../README.md#WorkspaceId), [SessionId](../README.md#SessionId), [BearerAuth](../README.md#BearerAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-**200** | Indexes listed | - |
-**404** | Dataset not found | - |
-
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
-
# **list_indexes**
> ListIndexesResponse list_indexes(connection_id, var_schema, table)
diff --git a/docs/InlineData.md b/docs/InlineData.md
deleted file mode 100644
index a0a7bdf..0000000
--- a/docs/InlineData.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# InlineData
-
-Inline data specification
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**columns** | **Dict[str, str]** | Optional explicit column definitions. Keys are column names, values are type specs. When provided, the schema is built from these definitions instead of being inferred. | [optional]
-**content** | **str** | |
-**format** | **str** | |
-
-## Example
-
-```python
-from hotdata.models.inline_data import InlineData
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of InlineData from a JSON string
-inline_data_instance = InlineData.from_json(json)
-# print the JSON string representation of the object
-print(InlineData.to_json())
-
-# convert the object into a dict
-inline_data_dict = inline_data_instance.to_dict()
-# create an instance of InlineData from a dict
-inline_data_from_dict = InlineData.from_dict(inline_data_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/InlineDatasetSource.md b/docs/InlineDatasetSource.md
deleted file mode 100644
index aef6220..0000000
--- a/docs/InlineDatasetSource.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# InlineDatasetSource
-
-Create dataset from inline data (small payloads)
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**inline** | [**InlineData**](InlineData.md) | |
-
-## Example
-
-```python
-from hotdata.models.inline_dataset_source import InlineDatasetSource
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of InlineDatasetSource from a JSON string
-inline_dataset_source_instance = InlineDatasetSource.from_json(json)
-# print the JSON string representation of the object
-print(InlineDatasetSource.to_json())
-
-# convert the object into a dict
-inline_dataset_source_dict = inline_dataset_source_instance.to_dict()
-# create an instance of InlineDatasetSource from a dict
-inline_dataset_source_from_dict = InlineDatasetSource.from_dict(inline_dataset_source_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/JobResult.md b/docs/JobResult.md
index 79c6fb9..f3c1cfb 100644
--- a/docs/JobResult.md
+++ b/docs/JobResult.md
@@ -16,14 +16,13 @@ Name | Type | Description | Notes
**tables_failed** | **int** | |
**tables_refreshed** | **int** | |
**total_rows** | **int** | |
-**created_at** | **datetime** | |
-**id** | **str** | |
-**status** | [**IndexStatus**](IndexStatus.md) | |
-**version** | **int** | |
**columns** | **List[str]** | |
+**created_at** | **datetime** | |
**index_name** | **str** | |
**index_type** | **str** | |
**metric** | **str** | Distance metric this index was built with. Only present for vector indexes. | [optional]
+**source_column** | **str** | Source text column for an embedding-backed vector index. A query searches it via `vector_distance(<source_column>, …)`; the indexed `columns` hold the generated embedding column instead. Absent for BM25, sorted, and direct (existing-column) vector indexes. | [optional]
+**status** | [**IndexStatus**](IndexStatus.md) | |
**updated_at** | **datetime** | |
## Example
diff --git a/docs/JobType.md b/docs/JobType.md
index 3d7ada6..a7feb8a 100644
--- a/docs/JobType.md
+++ b/docs/JobType.md
@@ -10,12 +10,8 @@ Background job types returned by the API.
* `DATA_REFRESH_CONNECTION` (value: `'data_refresh_connection'`)
-* `DATASET_REFRESH` (value: `'dataset_refresh'`)
-
* `CREATE_INDEX` (value: `'create_index'`)
-* `CREATE_DATASET_INDEX` (value: `'create_dataset_index'`)
-
* `MANAGED_LOAD` (value: `'managed_load'`)
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/ListDatasetVersionsResponse.md b/docs/ListDatasetVersionsResponse.md
deleted file mode 100644
index 389e9cf..0000000
--- a/docs/ListDatasetVersionsResponse.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# ListDatasetVersionsResponse
-
-Response body for GET /v1/datasets/{id}/versions
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**count** | **int** | |
-**dataset_id** | **str** | |
-**has_more** | **bool** | |
-**limit** | **int** | |
-**offset** | **int** | |
-**versions** | [**List[DatasetVersionSummary]**](DatasetVersionSummary.md) | |
-
-## Example
-
-```python
-from hotdata.models.list_dataset_versions_response import ListDatasetVersionsResponse
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of ListDatasetVersionsResponse from a JSON string
-list_dataset_versions_response_instance = ListDatasetVersionsResponse.from_json(json)
-# print the JSON string representation of the object
-print(ListDatasetVersionsResponse.to_json())
-
-# convert the object into a dict
-list_dataset_versions_response_dict = list_dataset_versions_response_instance.to_dict()
-# create an instance of ListDatasetVersionsResponse from a dict
-list_dataset_versions_response_from_dict = ListDatasetVersionsResponse.from_dict(list_dataset_versions_response_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/ListDatasetsResponse.md b/docs/ListDatasetsResponse.md
deleted file mode 100644
index aa62ea8..0000000
--- a/docs/ListDatasetsResponse.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# ListDatasetsResponse
-
-Response body for GET /v1/datasets
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**count** | **int** | Number of datasets returned in this response |
-**datasets** | [**List[DatasetSummary]**](DatasetSummary.md) | |
-**has_more** | **bool** | Whether there are more datasets available after this page |
-**limit** | **int** | Limit used for this request |
-**offset** | **int** | Pagination offset used for this request |
-
-## Example
-
-```python
-from hotdata.models.list_datasets_response import ListDatasetsResponse
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of ListDatasetsResponse from a JSON string
-list_datasets_response_instance = ListDatasetsResponse.from_json(json)
-# print the JSON string representation of the object
-print(ListDatasetsResponse.to_json())
-
-# convert the object into a dict
-list_datasets_response_dict = list_datasets_response_instance.to_dict()
-# create an instance of ListDatasetsResponse from a dict
-list_datasets_response_from_dict = ListDatasetsResponse.from_dict(list_datasets_response_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/QueryApi.md b/docs/QueryApi.md
index bd6b254..2a1607b 100644
--- a/docs/QueryApi.md
+++ b/docs/QueryApi.md
@@ -104,7 +104,7 @@ Name | Type | Description | Notes
**202** | Query submitted asynchronously | - |
**400** | Invalid request (no database specified, or header/body database_id conflict) | - |
**404** | Database not found | - |
-**429** | Too many concurrent queries; retry after the Retry-After delay | - |
+**429** | The engine was too busy to run this query right now — too many concurrent queries, or not enough memory available (often because of other queries running at the same time). Retry after the Retry-After delay; if it persists, narrowing the query (add a filter or LIMIT) may help. | - |
**500** | Internal server error | - |
**503** | Result store temporarily unavailable (a truncated result could not be persisted); retry after the Retry-After delay | - |
diff --git a/docs/RefreshApi.md b/docs/RefreshApi.md
index a6c4e33..e0d2c4f 100644
--- a/docs/RefreshApi.md
+++ b/docs/RefreshApi.md
@@ -12,15 +12,14 @@ Method | HTTP request | Description
Refresh connection data
-Refresh schema metadata, table data, or dataset data. The behavior depends on the request fields:
+Refresh schema metadata or table data. The behavior depends on the request fields:
- **Schema refresh (all)**: omit all fields — re-discovers tables for every connection.
- **Schema refresh (single)**: set `connection_id` — re-discovers tables for one connection.
- **Data refresh (single table)**: set `connection_id`, `schema_name`, `table_name`, and `data: true`.
- **Data refresh (connection)**: set `connection_id` and `data: true` — refreshes all cached tables. Set `include_uncached: true` to also sync tables that haven't been cached yet.
-- **Dataset refresh**: set `dataset_id` — re-runs the dataset's source (URL fetch or saved query) and creates a new version. Mutually exclusive with `connection_id`.
-Set `async: true` on data or dataset refresh operations to run in the background and return a job ID for polling.
+Set `async: true` on data refresh operations to run in the background and return a job ID for polling.
### Example
diff --git a/docs/RefreshDatasetResponse.md b/docs/RefreshDatasetResponse.md
deleted file mode 100644
index ee54afa..0000000
--- a/docs/RefreshDatasetResponse.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# RefreshDatasetResponse
-
-Response body for POST /v1/datasets/{id}/refresh
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**created_at** | **datetime** | |
-**id** | **str** | |
-**status** | **str** | |
-**version** | **int** | |
-
-## Example
-
-```python
-from hotdata.models.refresh_dataset_response import RefreshDatasetResponse
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of RefreshDatasetResponse from a JSON string
-refresh_dataset_response_instance = RefreshDatasetResponse.from_json(json)
-# print the JSON string representation of the object
-print(RefreshDatasetResponse.to_json())
-
-# convert the object into a dict
-refresh_dataset_response_dict = refresh_dataset_response_instance.to_dict()
-# create an instance of RefreshDatasetResponse from a dict
-refresh_dataset_response_from_dict = RefreshDatasetResponse.from_dict(refresh_dataset_response_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/RefreshRequest.md b/docs/RefreshRequest.md
index 35d1e5d..5182a48 100644
--- a/docs/RefreshRequest.md
+++ b/docs/RefreshRequest.md
@@ -9,7 +9,6 @@ Name | Type | Description | Notes
**var_async** | **bool** | When true, submit the refresh as a background job and return immediately with a job ID for status polling. Only supported for data refresh operations. | [optional]
**connection_id** | **str** | | [optional]
**data** | **bool** | | [optional]
-**dataset_id** | **str** | | [optional]
**include_uncached** | **bool** | Controls whether uncached tables are included in connection-wide data refresh. - `false` (default): Only refresh tables that already have cached data. This is the common case for keeping existing data up-to-date. - `true`: Also sync tables that haven't been cached yet, essentially performing an initial sync for any new tables discovered since the connection was created. This field only applies to connection-wide data refresh (when `data=true` and `table_name` is not specified). It has no effect on single-table refresh or schema refresh operations. | [optional]
**schema_name** | **str** | | [optional]
**table_name** | **str** | | [optional]
diff --git a/docs/RefreshResponse.md b/docs/RefreshResponse.md
index 8f543e6..75de0b5 100644
--- a/docs/RefreshResponse.md
+++ b/docs/RefreshResponse.md
@@ -21,10 +21,8 @@ Name | Type | Description | Notes
**tables_failed** | **int** | |
**tables_refreshed** | **int** | |
**total_rows** | **int** | |
-**created_at** | **datetime** | |
**id** | **str** | Job ID for status polling. |
**status** | [**JobStatus**](JobStatus.md) | Current status of the submitted job. |
-**version** | **int** | |
**status_url** | **str** | URL to poll for job status. |
## Example
diff --git a/docs/SavedQueryDatasetSource.md b/docs/SavedQueryDatasetSource.md
deleted file mode 100644
index f38f50d..0000000
--- a/docs/SavedQueryDatasetSource.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# SavedQueryDatasetSource
-
-Create dataset from a saved query result
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**saved_query_id** | **str** | |
-**version** | **int** | | [optional]
-
-## Example
-
-```python
-from hotdata.models.saved_query_dataset_source import SavedQueryDatasetSource
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of SavedQueryDatasetSource from a JSON string
-saved_query_dataset_source_instance = SavedQueryDatasetSource.from_json(json)
-# print the JSON string representation of the object
-print(SavedQueryDatasetSource.to_json())
-
-# convert the object into a dict
-saved_query_dataset_source_dict = saved_query_dataset_source_instance.to_dict()
-# create an instance of SavedQueryDatasetSource from a dict
-saved_query_dataset_source_from_dict = SavedQueryDatasetSource.from_dict(saved_query_dataset_source_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/SqlQueryDatasetSource.md b/docs/SqlQueryDatasetSource.md
deleted file mode 100644
index 4893a86..0000000
--- a/docs/SqlQueryDatasetSource.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# SqlQueryDatasetSource
-
-Create dataset from a SQL query (auto-creates a saved query)
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**description** | **str** | Optional description for the auto-created saved query. | [optional]
-**name** | **str** | Optional name for the auto-created saved query. Defaults to the dataset label. | [optional]
-**sql** | **str** | |
-
-## Example
-
-```python
-from hotdata.models.sql_query_dataset_source import SqlQueryDatasetSource
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of SqlQueryDatasetSource from a JSON string
-sql_query_dataset_source_instance = SqlQueryDatasetSource.from_json(json)
-# print the JSON string representation of the object
-print(SqlQueryDatasetSource.to_json())
-
-# convert the object into a dict
-sql_query_dataset_source_dict = sql_query_dataset_source_instance.to_dict()
-# create an instance of SqlQueryDatasetSource from a dict
-sql_query_dataset_source_from_dict = SqlQueryDatasetSource.from_dict(sql_query_dataset_source_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/UpdateDatasetRequest.md b/docs/UpdateDatasetRequest.md
deleted file mode 100644
index fe72f0d..0000000
--- a/docs/UpdateDatasetRequest.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# UpdateDatasetRequest
-
-Request body for PUT /v1/datasets/{id}
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**label** | **str** | | [optional]
-**pinned_version** | **int** | Pin to a specific version, or send null to unpin. Omit the field entirely to leave pinning unchanged. | [optional]
-**table_name** | **str** | | [optional]
-
-## Example
-
-```python
-from hotdata.models.update_dataset_request import UpdateDatasetRequest
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of UpdateDatasetRequest from a JSON string
-update_dataset_request_instance = UpdateDatasetRequest.from_json(json)
-# print the JSON string representation of the object
-print(UpdateDatasetRequest.to_json())
-
-# convert the object into a dict
-update_dataset_request_dict = update_dataset_request_instance.to_dict()
-# create an instance of UpdateDatasetRequest from a dict
-update_dataset_request_from_dict = UpdateDatasetRequest.from_dict(update_dataset_request_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/UpdateDatasetResponse.md b/docs/UpdateDatasetResponse.md
deleted file mode 100644
index c46d24f..0000000
--- a/docs/UpdateDatasetResponse.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# UpdateDatasetResponse
-
-Response body for PUT /v1/datasets/{id}
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**id** | **str** | |
-**label** | **str** | |
-**latest_version** | **int** | |
-**pinned_version** | **int** | | [optional]
-**table_name** | **str** | |
-**updated_at** | **datetime** | |
-
-## Example
-
-```python
-from hotdata.models.update_dataset_response import UpdateDatasetResponse
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of UpdateDatasetResponse from a JSON string
-update_dataset_response_instance = UpdateDatasetResponse.from_json(json)
-# print the JSON string representation of the object
-print(UpdateDatasetResponse.to_json())
-
-# convert the object into a dict
-update_dataset_response_dict = update_dataset_response_instance.to_dict()
-# create an instance of UpdateDatasetResponse from a dict
-update_dataset_response_from_dict = UpdateDatasetResponse.from_dict(update_dataset_response_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/UploadDatasetSource.md b/docs/UploadDatasetSource.md
deleted file mode 100644
index 16c2518..0000000
--- a/docs/UploadDatasetSource.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# UploadDatasetSource
-
-Create dataset from a previously uploaded file
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**columns** | **Dict[str, str]** | Optional explicit column definitions. Keys are column names, values are type specs. When provided, the schema is built from these definitions instead of being inferred. | [optional]
-**format** | **str** | | [optional]
-**upload_id** | **str** | |
-
-## Example
-
-```python
-from hotdata.models.upload_dataset_source import UploadDatasetSource
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of UploadDatasetSource from a JSON string
-upload_dataset_source_instance = UploadDatasetSource.from_json(json)
-# print the JSON string representation of the object
-print(UploadDatasetSource.to_json())
-
-# convert the object into a dict
-upload_dataset_source_dict = upload_dataset_source_instance.to_dict()
-# create an instance of UploadDatasetSource from a dict
-upload_dataset_source_from_dict = UploadDatasetSource.from_dict(upload_dataset_source_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/UploadsApi.md b/docs/UploadsApi.md
index bfb77fc..e0c4e90 100644
--- a/docs/UploadsApi.md
+++ b/docs/UploadsApi.md
@@ -96,7 +96,7 @@ Name | Type | Description | Notes
Upload file
-Upload a file to be used as a dataset source. Send the raw file bytes as the request body with an appropriate Content-Type header (e.g., `text/csv`, `application/json`, `application/parquet`). The body is streamed to disk, so files up to 20GB are supported. The returned upload ID can be passed to POST /v1/datasets to create a queryable table.
+Upload a Parquet file to publish as the contents of a managed table. Send the raw file bytes as the request body with an appropriate Content-Type header (e.g., `application/parquet`). The body is streamed to disk, so files up to 20GB are supported. The returned upload ID can be passed to the managed-table load endpoint.
### Example
diff --git a/docs/UpsertDatabaseContextRequest.md b/docs/UpsertDatabaseContextRequest.md
index e891781..0b863f1 100644
--- a/docs/UpsertDatabaseContextRequest.md
+++ b/docs/UpsertDatabaseContextRequest.md
@@ -7,7 +7,7 @@ Request body for POST `/v1/databases/{database_id}/context`.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**content** | **str** | |
-**name** | **str** | Upsert key in the catalog. Validated with dataset table-name rules (preserves case): ASCII letter or `_` first; then alphanumeric or `_` only; 1–128 chars; not a SQL reserved word. |
+**name** | **str** | Upsert key in the catalog. Validated with table-name rules (preserves case): ASCII letter or `_` first; then alphanumeric or `_` only; 1–128 chars; not a SQL reserved word. |
## Example
diff --git a/docs/UrlDatasetSource.md b/docs/UrlDatasetSource.md
deleted file mode 100644
index 2a28494..0000000
--- a/docs/UrlDatasetSource.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# UrlDatasetSource
-
-Create dataset from an external HTTP URL
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**columns** | **Dict[str, str]** | Optional explicit column definitions. Keys are column names, values are type specs. | [optional]
-**format** | **str** | | [optional]
-**url** | **str** | |
-
-## Example
-
-```python
-from hotdata.models.url_dataset_source import UrlDatasetSource
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of UrlDatasetSource from a JSON string
-url_dataset_source_instance = UrlDatasetSource.from_json(json)
-# print the JSON string representation of the object
-print(UrlDatasetSource.to_json())
-
-# convert the object into a dict
-url_dataset_source_dict = url_dataset_source_instance.to_dict()
-# create an instance of UrlDatasetSource from a dict
-url_dataset_source_from_dict = UrlDatasetSource.from_dict(url_dataset_source_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/UsageApi.md b/docs/UsageApi.md
new file mode 100644
index 0000000..73975c2
--- /dev/null
+++ b/docs/UsageApi.md
@@ -0,0 +1,94 @@
+# hotdata.UsageApi
+
+All URIs are relative to *https://api.hotdata.dev*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**get_usage**](UsageApi.md#get_usage) | **GET** /v1/usage | Get workspace usage snapshot
+
+
+# **get_usage**
+> WorkspaceUsageResponse get_usage(since=since)
+
+Get workspace usage snapshot
+
+Return aggregated bytes scanned and current storage size for a billing period. Pass `since` as the subscription's `current_period_start` so the meter value aligns with the Stripe invoice window rather than the calendar month.
+
+### Example
+
+* Api Key Authentication (WorkspaceId):
+* Bearer Authentication (BearerAuth):
+
+```python
+import hotdata
+from hotdata.models.workspace_usage_response import WorkspaceUsageResponse
+from hotdata.rest import ApiException
+from pprint import pprint
+
+# Defining the host is optional and defaults to https://api.hotdata.dev
+# See configuration.py for a list of all supported configuration parameters.
+configuration = hotdata.Configuration(
+ host = "https://api.hotdata.dev"
+)
+
+# The client must configure the authentication and authorization parameters
+# in accordance with the API server security policy.
+# Examples for each auth method are provided below, use the example that
+# satisfies your auth use case.
+
+# Configure API key authorization: WorkspaceId
+configuration.api_key['WorkspaceId'] = os.environ["API_KEY"]
+
+# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
+# configuration.api_key_prefix['WorkspaceId'] = 'Bearer'
+
+# Configure Bearer authorization: BearerAuth
+configuration = hotdata.Configuration(
+ access_token = os.environ["BEARER_TOKEN"]
+)
+
+# Enter a context with an instance of the API client
+with hotdata.ApiClient(configuration) as api_client:
+ # Create an instance of the API class
+ api_instance = hotdata.UsageApi(api_client)
+ since = 'since_example' # str | Billing period start (ISO-8601). Defaults to the start of the current UTC calendar month when omitted. (optional)
+
+ try:
+ # Get workspace usage snapshot
+ api_response = api_instance.get_usage(since=since)
+ print("The response of UsageApi->get_usage:\n")
+ pprint(api_response)
+ except Exception as e:
+ print("Exception when calling UsageApi->get_usage: %s\n" % e)
+```
+
+
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **since** | **str**| Billing period start (ISO-8601). Defaults to the start of the current UTC calendar month when omitted. | [optional]
+
+### Return type
+
+[**WorkspaceUsageResponse**](WorkspaceUsageResponse.md)
+
+### Authorization
+
+[WorkspaceId](../README.md#WorkspaceId), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Workspace usage snapshot | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/docs/WorkspaceUsageResponse.md b/docs/WorkspaceUsageResponse.md
new file mode 100644
index 0000000..c9f5af4
--- /dev/null
+++ b/docs/WorkspaceUsageResponse.md
@@ -0,0 +1,34 @@
+# WorkspaceUsageResponse
+
+Response for GET /v1/usage
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**bytes_scanned** | **int** | Sum of `bytes_scanned` across all completed/failed query runs since `since`. Null bytes (queries that touched no row data) contribute 0. |
+**query_count** | **int** | Number of query runs (succeeded + failed) since `since`. |
+**since** | **datetime** | The period start used for this response (echoed back for the caller to verify). |
+**storage_bytes** | **int** | The workspace's current stored-data footprint in bytes, measured at request time: managed-database and dataset data, plus un-consumed uploads, connection caches, and search-index artifacts. |
+**storage_captured_at** | **datetime** | When `storage_bytes` was measured (the time this response was produced). | [optional]
+
+## Example
+
+```python
+from hotdata.models.workspace_usage_response import WorkspaceUsageResponse
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of WorkspaceUsageResponse from a JSON string
+workspace_usage_response_instance = WorkspaceUsageResponse.from_json(json)
+# print the JSON string representation of the object
+print(WorkspaceUsageResponse.to_json())
+
+# convert the object into a dict
+workspace_usage_response_dict = workspace_usage_response_instance.to_dict()
+# create an instance of WorkspaceUsageResponse from a dict
+workspace_usage_response_from_dict = WorkspaceUsageResponse.from_dict(workspace_usage_response_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/hotdata/__init__.py b/hotdata/__init__.py
index a2a3804..2674e95 100644
--- a/hotdata/__init__.py
+++ b/hotdata/__init__.py
@@ -28,7 +28,6 @@
"ConnectionsApi",
"DatabaseContextApi",
"DatabasesApi",
- "DatasetsApi",
"EmbeddingProvidersApi",
"IndexesApi",
"InformationSchemaApi",
@@ -40,6 +39,7 @@
"SavedQueriesApi",
"SecretsApi",
"UploadsApi",
+ "UsageApi",
"WorkspacesApi",
"ApiResponse",
"ApiClient",
@@ -68,7 +68,6 @@
"ColumnProfileDetailOneOf3",
"ColumnProfileDetailOneOf4",
"ColumnProfileInfo",
- "ColumnTypeSpec",
"ConnectionHealthResponse",
"ConnectionInfo",
"ConnectionRefreshResult",
@@ -79,8 +78,6 @@
"CreateConnectionResponse",
"CreateDatabaseRequest",
"CreateDatabaseResponse",
- "CreateDatasetRequest",
- "CreateDatasetResponse",
"CreateEmbeddingProviderRequest",
"CreateEmbeddingProviderResponse",
"CreateIndexRequest",
@@ -95,29 +92,18 @@
"DatabaseDefaultTableDecl",
"DatabaseDetailResponse",
"DatabaseSummary",
- "DatasetSource",
- "DatasetSourceOneOf",
- "DatasetSourceOneOf1",
- "DatasetSourceOneOf2",
- "DatasetSourceOneOf3",
- "DatasetSourceOneOf4",
- "DatasetSummary",
- "DatasetVersionSummary",
"DiscoveryStatus",
"EmbeddingProviderResponse",
"Error",
"ExecuteSavedQueryRequest",
"GetConnectionResponse",
"GetDatabaseContextResponse",
- "GetDatasetResponse",
"GetResultResponse",
"GetSecretResponse",
"IndexEntryResponse",
"IndexInfoResponse",
"IndexStatus",
"InformationSchemaResponse",
- "InlineData",
- "InlineDatasetSource",
"JobResult",
"JobStatus",
"JobStatusResponse",
@@ -126,8 +112,6 @@
"ListConnectionsResponse",
"ListDatabaseContextsResponse",
"ListDatabasesResponse",
- "ListDatasetVersionsResponse",
- "ListDatasetsResponse",
"ListEmbeddingProvidersResponse",
"ListIndexesPageResponse",
"ListIndexesResponse",
@@ -147,19 +131,16 @@
"QueryRequest",
"QueryResponse",
"QueryRunInfo",
- "RefreshDatasetResponse",
"RefreshRequest",
"RefreshResponse",
"RefreshWarning",
"ResultInfo",
"ResultsFormatQuery",
- "SavedQueryDatasetSource",
"SavedQueryDetail",
"SavedQuerySummary",
"SavedQueryVersionInfo",
"SchemaRefreshResult",
"SecretMetadataResponse",
- "SqlQueryDatasetSource",
"SubmitJobResponse",
"TableInfo",
"TableProfileResponse",
@@ -167,21 +148,18 @@
"TableRefreshResult",
"TemporalProfileDetail",
"TextProfileDetail",
- "UpdateDatasetRequest",
- "UpdateDatasetResponse",
"UpdateEmbeddingProviderRequest",
"UpdateEmbeddingProviderResponse",
"UpdateSavedQueryRequest",
"UpdateSecretRequest",
"UpdateSecretResponse",
- "UploadDatasetSource",
"UploadInfo",
"UploadResponse",
"UpsertDatabaseContextRequest",
"UpsertDatabaseContextResponse",
- "UrlDatasetSource",
"WorkspaceDetail",
"WorkspaceListItem",
+ "WorkspaceUsageResponse",
]
# import apis into sdk package
@@ -189,7 +167,6 @@
from hotdata.api.connections_api import ConnectionsApi as ConnectionsApi
from hotdata.api.database_context_api import DatabaseContextApi as DatabaseContextApi
from hotdata.api.databases_api import DatabasesApi as DatabasesApi
-from hotdata.api.datasets_api import DatasetsApi as DatasetsApi
from hotdata.api.embedding_providers_api import EmbeddingProvidersApi as EmbeddingProvidersApi
from hotdata.api.indexes_api import IndexesApi as IndexesApi
from hotdata.api.information_schema_api import InformationSchemaApi as InformationSchemaApi
@@ -201,6 +178,7 @@
from hotdata.api.saved_queries_api import SavedQueriesApi as SavedQueriesApi
from hotdata.api.secrets_api import SecretsApi as SecretsApi
from hotdata.api.uploads_api import UploadsApi as UploadsApi
+from hotdata.api.usage_api import UsageApi as UsageApi
from hotdata.api.workspaces_api import WorkspacesApi as WorkspacesApi
# import ApiClient
@@ -233,7 +211,6 @@
from hotdata.models.column_profile_detail_one_of3 import ColumnProfileDetailOneOf3 as ColumnProfileDetailOneOf3
from hotdata.models.column_profile_detail_one_of4 import ColumnProfileDetailOneOf4 as ColumnProfileDetailOneOf4
from hotdata.models.column_profile_info import ColumnProfileInfo as ColumnProfileInfo
-from hotdata.models.column_type_spec import ColumnTypeSpec as ColumnTypeSpec
from hotdata.models.connection_health_response import ConnectionHealthResponse as ConnectionHealthResponse
from hotdata.models.connection_info import ConnectionInfo as ConnectionInfo
from hotdata.models.connection_refresh_result import ConnectionRefreshResult as ConnectionRefreshResult
@@ -244,8 +221,6 @@
from hotdata.models.create_connection_response import CreateConnectionResponse as CreateConnectionResponse
from hotdata.models.create_database_request import CreateDatabaseRequest as CreateDatabaseRequest
from hotdata.models.create_database_response import CreateDatabaseResponse as CreateDatabaseResponse
-from hotdata.models.create_dataset_request import CreateDatasetRequest as CreateDatasetRequest
-from hotdata.models.create_dataset_response import CreateDatasetResponse as CreateDatasetResponse
from hotdata.models.create_embedding_provider_request import CreateEmbeddingProviderRequest as CreateEmbeddingProviderRequest
from hotdata.models.create_embedding_provider_response import CreateEmbeddingProviderResponse as CreateEmbeddingProviderResponse
from hotdata.models.create_index_request import CreateIndexRequest as CreateIndexRequest
@@ -260,29 +235,18 @@
from hotdata.models.database_default_table_decl import DatabaseDefaultTableDecl as DatabaseDefaultTableDecl
from hotdata.models.database_detail_response import DatabaseDetailResponse as DatabaseDetailResponse
from hotdata.models.database_summary import DatabaseSummary as DatabaseSummary
-from hotdata.models.dataset_source import DatasetSource as DatasetSource
-from hotdata.models.dataset_source_one_of import DatasetSourceOneOf as DatasetSourceOneOf
-from hotdata.models.dataset_source_one_of1 import DatasetSourceOneOf1 as DatasetSourceOneOf1
-from hotdata.models.dataset_source_one_of2 import DatasetSourceOneOf2 as DatasetSourceOneOf2
-from hotdata.models.dataset_source_one_of3 import DatasetSourceOneOf3 as DatasetSourceOneOf3
-from hotdata.models.dataset_source_one_of4 import DatasetSourceOneOf4 as DatasetSourceOneOf4
-from hotdata.models.dataset_summary import DatasetSummary as DatasetSummary
-from hotdata.models.dataset_version_summary import DatasetVersionSummary as DatasetVersionSummary
from hotdata.models.discovery_status import DiscoveryStatus as DiscoveryStatus
from hotdata.models.embedding_provider_response import EmbeddingProviderResponse as EmbeddingProviderResponse
from hotdata.models.error import Error as Error
from hotdata.models.execute_saved_query_request import ExecuteSavedQueryRequest as ExecuteSavedQueryRequest
from hotdata.models.get_connection_response import GetConnectionResponse as GetConnectionResponse
from hotdata.models.get_database_context_response import GetDatabaseContextResponse as GetDatabaseContextResponse
-from hotdata.models.get_dataset_response import GetDatasetResponse as GetDatasetResponse
from hotdata.models.get_result_response import GetResultResponse as GetResultResponse
from hotdata.models.get_secret_response import GetSecretResponse as GetSecretResponse
from hotdata.models.index_entry_response import IndexEntryResponse as IndexEntryResponse
from hotdata.models.index_info_response import IndexInfoResponse as IndexInfoResponse
from hotdata.models.index_status import IndexStatus as IndexStatus
from hotdata.models.information_schema_response import InformationSchemaResponse as InformationSchemaResponse
-from hotdata.models.inline_data import InlineData as InlineData
-from hotdata.models.inline_dataset_source import InlineDatasetSource as InlineDatasetSource
from hotdata.models.job_result import JobResult as JobResult
from hotdata.models.job_status import JobStatus as JobStatus
from hotdata.models.job_status_response import JobStatusResponse as JobStatusResponse
@@ -291,8 +255,6 @@
from hotdata.models.list_connections_response import ListConnectionsResponse as ListConnectionsResponse
from hotdata.models.list_database_contexts_response import ListDatabaseContextsResponse as ListDatabaseContextsResponse
from hotdata.models.list_databases_response import ListDatabasesResponse as ListDatabasesResponse
-from hotdata.models.list_dataset_versions_response import ListDatasetVersionsResponse as ListDatasetVersionsResponse
-from hotdata.models.list_datasets_response import ListDatasetsResponse as ListDatasetsResponse
from hotdata.models.list_embedding_providers_response import ListEmbeddingProvidersResponse as ListEmbeddingProvidersResponse
from hotdata.models.list_indexes_page_response import ListIndexesPageResponse as ListIndexesPageResponse
from hotdata.models.list_indexes_response import ListIndexesResponse as ListIndexesResponse
@@ -312,19 +274,16 @@
from hotdata.models.query_request import QueryRequest as QueryRequest
from hotdata.models.query_response import QueryResponse as QueryResponse
from hotdata.models.query_run_info import QueryRunInfo as QueryRunInfo
-from hotdata.models.refresh_dataset_response import RefreshDatasetResponse as RefreshDatasetResponse
from hotdata.models.refresh_request import RefreshRequest as RefreshRequest
from hotdata.models.refresh_response import RefreshResponse as RefreshResponse
from hotdata.models.refresh_warning import RefreshWarning as RefreshWarning
from hotdata.models.result_info import ResultInfo as ResultInfo
from hotdata.models.results_format_query import ResultsFormatQuery as ResultsFormatQuery
-from hotdata.models.saved_query_dataset_source import SavedQueryDatasetSource as SavedQueryDatasetSource
from hotdata.models.saved_query_detail import SavedQueryDetail as SavedQueryDetail
from hotdata.models.saved_query_summary import SavedQuerySummary as SavedQuerySummary
from hotdata.models.saved_query_version_info import SavedQueryVersionInfo as SavedQueryVersionInfo
from hotdata.models.schema_refresh_result import SchemaRefreshResult as SchemaRefreshResult
from hotdata.models.secret_metadata_response import SecretMetadataResponse as SecretMetadataResponse
-from hotdata.models.sql_query_dataset_source import SqlQueryDatasetSource as SqlQueryDatasetSource
from hotdata.models.submit_job_response import SubmitJobResponse as SubmitJobResponse
from hotdata.models.table_info import TableInfo as TableInfo
from hotdata.models.table_profile_response import TableProfileResponse as TableProfileResponse
@@ -332,21 +291,18 @@
from hotdata.models.table_refresh_result import TableRefreshResult as TableRefreshResult
from hotdata.models.temporal_profile_detail import TemporalProfileDetail as TemporalProfileDetail
from hotdata.models.text_profile_detail import TextProfileDetail as TextProfileDetail
-from hotdata.models.update_dataset_request import UpdateDatasetRequest as UpdateDatasetRequest
-from hotdata.models.update_dataset_response import UpdateDatasetResponse as UpdateDatasetResponse
from hotdata.models.update_embedding_provider_request import UpdateEmbeddingProviderRequest as UpdateEmbeddingProviderRequest
from hotdata.models.update_embedding_provider_response import UpdateEmbeddingProviderResponse as UpdateEmbeddingProviderResponse
from hotdata.models.update_saved_query_request import UpdateSavedQueryRequest as UpdateSavedQueryRequest
from hotdata.models.update_secret_request import UpdateSecretRequest as UpdateSecretRequest
from hotdata.models.update_secret_response import UpdateSecretResponse as UpdateSecretResponse
-from hotdata.models.upload_dataset_source import UploadDatasetSource as UploadDatasetSource
from hotdata.models.upload_info import UploadInfo as UploadInfo
from hotdata.models.upload_response import UploadResponse as UploadResponse
from hotdata.models.upsert_database_context_request import UpsertDatabaseContextRequest as UpsertDatabaseContextRequest
from hotdata.models.upsert_database_context_response import UpsertDatabaseContextResponse as UpsertDatabaseContextResponse
-from hotdata.models.url_dataset_source import UrlDatasetSource as UrlDatasetSource
from hotdata.models.workspace_detail import WorkspaceDetail as WorkspaceDetail
from hotdata.models.workspace_list_item import WorkspaceListItem as WorkspaceListItem
+from hotdata.models.workspace_usage_response import WorkspaceUsageResponse as WorkspaceUsageResponse
# --- hand-applied: prefer the enhanced clients over the generated ones
diff --git a/hotdata/api/__init__.py b/hotdata/api/__init__.py
index 61fc98d..5471f7c 100644
--- a/hotdata/api/__init__.py
+++ b/hotdata/api/__init__.py
@@ -5,7 +5,6 @@
from hotdata.api.connections_api import ConnectionsApi
from hotdata.api.database_context_api import DatabaseContextApi
from hotdata.api.databases_api import DatabasesApi
-from hotdata.api.datasets_api import DatasetsApi
from hotdata.api.embedding_providers_api import EmbeddingProvidersApi
from hotdata.api.indexes_api import IndexesApi
from hotdata.api.information_schema_api import InformationSchemaApi
@@ -17,5 +16,6 @@
from hotdata.api.saved_queries_api import SavedQueriesApi
from hotdata.api.secrets_api import SecretsApi
from hotdata.api.uploads_api import UploadsApi
+from hotdata.api.usage_api import UsageApi
from hotdata.api.workspaces_api import WorkspacesApi
diff --git a/hotdata/api/database_context_api.py b/hotdata/api/database_context_api.py
index 230c7dd..9525b01 100644
--- a/hotdata/api/database_context_api.py
+++ b/hotdata/api/database_context_api.py
@@ -45,7 +45,7 @@ def __init__(self, api_client=None) -> None:
def delete_database_context(
self,
database_id: Annotated[StrictStr, Field(description="Database ID")],
- name: Annotated[StrictStr, Field(description="Context key: same character rules as a dataset table name")],
+ name: Annotated[StrictStr, Field(description="Context key: same character rules as a table name")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -65,7 +65,7 @@ def delete_database_context(
:param database_id: Database ID (required)
:type database_id: str
- :param name: Context key: same character rules as a dataset table name (required)
+ :param name: Context key: same character rules as a table name (required)
:type name: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -118,7 +118,7 @@ def delete_database_context(
def delete_database_context_with_http_info(
self,
database_id: Annotated[StrictStr, Field(description="Database ID")],
- name: Annotated[StrictStr, Field(description="Context key: same character rules as a dataset table name")],
+ name: Annotated[StrictStr, Field(description="Context key: same character rules as a table name")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -138,7 +138,7 @@ def delete_database_context_with_http_info(
:param database_id: Database ID (required)
:type database_id: str
- :param name: Context key: same character rules as a dataset table name (required)
+ :param name: Context key: same character rules as a table name (required)
:type name: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -191,7 +191,7 @@ def delete_database_context_with_http_info(
def delete_database_context_without_preload_content(
self,
database_id: Annotated[StrictStr, Field(description="Database ID")],
- name: Annotated[StrictStr, Field(description="Context key: same character rules as a dataset table name")],
+ name: Annotated[StrictStr, Field(description="Context key: same character rules as a table name")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -211,7 +211,7 @@ def delete_database_context_without_preload_content(
:param database_id: Database ID (required)
:type database_id: str
- :param name: Context key: same character rules as a dataset table name (required)
+ :param name: Context key: same character rules as a table name (required)
:type name: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -328,7 +328,7 @@ def _delete_database_context_serialize(
def get_database_context(
self,
database_id: Annotated[StrictStr, Field(description="Database ID")],
- name: Annotated[StrictStr, Field(description="Context key: same character rules as a dataset table name")],
+ name: Annotated[StrictStr, Field(description="Context key: same character rules as a table name")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -347,7 +347,7 @@ def get_database_context(
:param database_id: Database ID (required)
:type database_id: str
- :param name: Context key: same character rules as a dataset table name (required)
+ :param name: Context key: same character rules as a table name (required)
:type name: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -400,7 +400,7 @@ def get_database_context(
def get_database_context_with_http_info(
self,
database_id: Annotated[StrictStr, Field(description="Database ID")],
- name: Annotated[StrictStr, Field(description="Context key: same character rules as a dataset table name")],
+ name: Annotated[StrictStr, Field(description="Context key: same character rules as a table name")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -419,7 +419,7 @@ def get_database_context_with_http_info(
:param database_id: Database ID (required)
:type database_id: str
- :param name: Context key: same character rules as a dataset table name (required)
+ :param name: Context key: same character rules as a table name (required)
:type name: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -472,7 +472,7 @@ def get_database_context_with_http_info(
def get_database_context_without_preload_content(
self,
database_id: Annotated[StrictStr, Field(description="Database ID")],
- name: Annotated[StrictStr, Field(description="Context key: same character rules as a dataset table name")],
+ name: Annotated[StrictStr, Field(description="Context key: same character rules as a table name")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -491,7 +491,7 @@ def get_database_context_without_preload_content(
:param database_id: Database ID (required)
:type database_id: str
- :param name: Context key: same character rules as a dataset table name (required)
+ :param name: Context key: same character rules as a table name (required)
:type name: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
diff --git a/hotdata/api/databases_api.py b/hotdata/api/databases_api.py
index a2a2b6b..85a5aec 100644
--- a/hotdata/api/databases_api.py
+++ b/hotdata/api/databases_api.py
@@ -977,7 +977,7 @@ def create_database(
) -> CreateDatabaseResponse:
"""Create database
- 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.` works out of the box. The optional `name` is a free-form display label and is not required to be unique. Optional `default_catalog` overrides the name the default catalog answers to; it must be a valid SQL identifier and may not collide with the `hotdata`, `datasets`, or `information_schema` system catalogs. Optional `schemas` declares additional schemas/tables on the default catalog at create time; declared tables can be loaded via the standard managed-tables-load endpoint targeting `default_connection_id`. Optional `expires_at` sets when the database expires — accepts either an RFC 3339 timestamp or a relative duration suffixed with `h` (hours), `m` (minutes), or `d` (days), e.g. `24h`, `48h`, `90m`, `7d`. When omitted, the database never expires. Expiry is best-effort: the database will not be deleted before `expires_at`, but cleanup may run later than the exact timestamp.
+ 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.` 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.
:param create_database_request: (required)
:type create_database_request: CreateDatabaseRequest
@@ -1046,7 +1046,7 @@ def create_database_with_http_info(
) -> ApiResponse[CreateDatabaseResponse]:
"""Create database
- 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.` works out of the box. The optional `name` is a free-form display label and is not required to be unique. Optional `default_catalog` overrides the name the default catalog answers to; it must be a valid SQL identifier and may not collide with the `hotdata`, `datasets`, or `information_schema` system catalogs. Optional `schemas` declares additional schemas/tables on the default catalog at create time; declared tables can be loaded via the standard managed-tables-load endpoint targeting `default_connection_id`. Optional `expires_at` sets when the database expires — accepts either an RFC 3339 timestamp or a relative duration suffixed with `h` (hours), `m` (minutes), or `d` (days), e.g. `24h`, `48h`, `90m`, `7d`. When omitted, the database never expires. Expiry is best-effort: the database will not be deleted before `expires_at`, but cleanup may run later than the exact timestamp.
+ 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.` 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.
:param create_database_request: (required)
:type create_database_request: CreateDatabaseRequest
@@ -1115,7 +1115,7 @@ def create_database_without_preload_content(
) -> RESTResponseType:
"""Create database
- 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.` works out of the box. The optional `name` is a free-form display label and is not required to be unique. Optional `default_catalog` overrides the name the default catalog answers to; it must be a valid SQL identifier and may not collide with the `hotdata`, `datasets`, or `information_schema` system catalogs. Optional `schemas` declares additional schemas/tables on the default catalog at create time; declared tables can be loaded via the standard managed-tables-load endpoint targeting `default_connection_id`. Optional `expires_at` sets when the database expires — accepts either an RFC 3339 timestamp or a relative duration suffixed with `h` (hours), `m` (minutes), or `d` (days), e.g. `24h`, `48h`, `90m`, `7d`. When omitted, the database never expires. Expiry is best-effort: the database will not be deleted before `expires_at`, but cleanup may run later than the exact timestamp.
+ 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.` 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.
:param create_database_request: (required)
:type create_database_request: CreateDatabaseRequest
diff --git a/hotdata/api/datasets_api.py b/hotdata/api/datasets_api.py
deleted file mode 100644
index cccf150..0000000
--- a/hotdata/api/datasets_api.py
+++ /dev/null
@@ -1,1739 +0,0 @@
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import warnings
-from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
-from typing import Any, Dict, List, Optional, Tuple, Union
-from typing_extensions import Annotated
-
-from pydantic import Field, StrictStr
-from typing import Optional
-from typing_extensions import Annotated
-from hotdata.models.create_dataset_request import CreateDatasetRequest
-from hotdata.models.create_dataset_response import CreateDatasetResponse
-from hotdata.models.get_dataset_response import GetDatasetResponse
-from hotdata.models.list_dataset_versions_response import ListDatasetVersionsResponse
-from hotdata.models.list_datasets_response import ListDatasetsResponse
-from hotdata.models.update_dataset_request import UpdateDatasetRequest
-from hotdata.models.update_dataset_response import UpdateDatasetResponse
-
-from hotdata.api_client import ApiClient, RequestSerialized
-from hotdata.api_response import ApiResponse
-from hotdata.rest import RESTResponseType
-
-
-class DatasetsApi:
- """NOTE: This class is auto generated by OpenAPI Generator
- Ref: https://openapi-generator.tech
-
- Do not edit the class manually.
- """
-
- def __init__(self, api_client=None) -> None:
- if api_client is None:
- api_client = ApiClient.get_default()
- self.api_client = api_client
-
-
- @validate_call
- def create_dataset(
- self,
- create_dataset_request: CreateDatasetRequest,
- x_database_id: Annotated[Optional[StrictStr], Field(description="Required for query-backed datasets (sql_query / saved_query): the database whose catalogs the materializing query runs against. An unknown id is a 404.")] = None,
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> CreateDatasetResponse:
- """Create dataset
-
- Create a new dataset from an uploaded file, inline data, a URL, or a SQL/saved query. The dataset becomes a queryable table under the `datasets` schema (e.g., `SELECT * FROM datasets.my_table`). Supports CSV, JSON, and Parquet formats. Optionally specify explicit column types. For `sql_query` / `saved_query` sources the dataset materializes by running that SQL, so the `X-Database-Id` header is required and the query sees only that database's catalogs (the scope is also reused on refresh). Upload/url/inline sources ignore the header.
-
- :param create_dataset_request: (required)
- :type create_dataset_request: CreateDatasetRequest
- :param x_database_id: Required for query-backed datasets (sql_query / saved_query): the database whose catalogs the materializing query runs against. An unknown id is a 404.
- :type x_database_id: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._create_dataset_serialize(
- create_dataset_request=create_dataset_request,
- x_database_id=x_database_id,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '201': "CreateDatasetResponse",
- '400': "ApiErrorResponse",
- '404': "ApiErrorResponse",
- '409': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- ).data
-
-
- @validate_call
- def create_dataset_with_http_info(
- self,
- create_dataset_request: CreateDatasetRequest,
- x_database_id: Annotated[Optional[StrictStr], Field(description="Required for query-backed datasets (sql_query / saved_query): the database whose catalogs the materializing query runs against. An unknown id is a 404.")] = None,
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ApiResponse[CreateDatasetResponse]:
- """Create dataset
-
- Create a new dataset from an uploaded file, inline data, a URL, or a SQL/saved query. The dataset becomes a queryable table under the `datasets` schema (e.g., `SELECT * FROM datasets.my_table`). Supports CSV, JSON, and Parquet formats. Optionally specify explicit column types. For `sql_query` / `saved_query` sources the dataset materializes by running that SQL, so the `X-Database-Id` header is required and the query sees only that database's catalogs (the scope is also reused on refresh). Upload/url/inline sources ignore the header.
-
- :param create_dataset_request: (required)
- :type create_dataset_request: CreateDatasetRequest
- :param x_database_id: Required for query-backed datasets (sql_query / saved_query): the database whose catalogs the materializing query runs against. An unknown id is a 404.
- :type x_database_id: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._create_dataset_serialize(
- create_dataset_request=create_dataset_request,
- x_database_id=x_database_id,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '201': "CreateDatasetResponse",
- '400': "ApiErrorResponse",
- '404': "ApiErrorResponse",
- '409': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- )
-
-
- @validate_call
- def create_dataset_without_preload_content(
- self,
- create_dataset_request: CreateDatasetRequest,
- x_database_id: Annotated[Optional[StrictStr], Field(description="Required for query-backed datasets (sql_query / saved_query): the database whose catalogs the materializing query runs against. An unknown id is a 404.")] = None,
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> RESTResponseType:
- """Create dataset
-
- Create a new dataset from an uploaded file, inline data, a URL, or a SQL/saved query. The dataset becomes a queryable table under the `datasets` schema (e.g., `SELECT * FROM datasets.my_table`). Supports CSV, JSON, and Parquet formats. Optionally specify explicit column types. For `sql_query` / `saved_query` sources the dataset materializes by running that SQL, so the `X-Database-Id` header is required and the query sees only that database's catalogs (the scope is also reused on refresh). Upload/url/inline sources ignore the header.
-
- :param create_dataset_request: (required)
- :type create_dataset_request: CreateDatasetRequest
- :param x_database_id: Required for query-backed datasets (sql_query / saved_query): the database whose catalogs the materializing query runs against. An unknown id is a 404.
- :type x_database_id: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._create_dataset_serialize(
- create_dataset_request=create_dataset_request,
- x_database_id=x_database_id,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '201': "CreateDatasetResponse",
- '400': "ApiErrorResponse",
- '404': "ApiErrorResponse",
- '409': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- return response_data.response
-
-
- def _create_dataset_serialize(
- self,
- create_dataset_request,
- x_database_id,
- _request_auth,
- _content_type,
- _headers,
- _host_index,
- ) -> RequestSerialized:
-
- _host = None
-
- _collection_formats: Dict[str, str] = {
- }
-
- _path_params: Dict[str, str] = {}
- _query_params: List[Tuple[str, str]] = []
- _header_params: Dict[str, Optional[str]] = _headers or {}
- _form_params: List[Tuple[str, str]] = []
- _files: Dict[
- str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
- ] = {}
- _body_params: Optional[bytes] = None
-
- # process the path parameters
- # process the query parameters
- # process the header parameters
- if x_database_id is not None:
- _header_params['X-Database-Id'] = x_database_id
- # process the form parameters
- # process the body parameter
- if create_dataset_request is not None:
- _body_params = create_dataset_request
-
-
- # set the HTTP header `Accept`
- if 'Accept' not in _header_params:
- _header_params['Accept'] = self.api_client.select_header_accept(
- [
- 'application/json'
- ]
- )
-
- # set the HTTP header `Content-Type`
- if _content_type:
- _header_params['Content-Type'] = _content_type
- else:
- _default_content_type = (
- self.api_client.select_header_content_type(
- [
- 'application/json'
- ]
- )
- )
- if _default_content_type is not None:
- _header_params['Content-Type'] = _default_content_type
-
- # authentication setting
- _auth_settings: List[str] = [
- 'WorkspaceId',
- 'SessionId',
- 'BearerAuth'
- ]
-
- return self.api_client.param_serialize(
- method='POST',
- resource_path='/v1/datasets',
- path_params=_path_params,
- query_params=_query_params,
- header_params=_header_params,
- body=_body_params,
- post_params=_form_params,
- files=_files,
- auth_settings=_auth_settings,
- collection_formats=_collection_formats,
- _host=_host,
- _request_auth=_request_auth
- )
-
-
-
-
- @validate_call
- def delete_dataset(
- self,
- id: Annotated[StrictStr, Field(description="Dataset ID")],
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> None:
- """Delete dataset
-
-
- :param id: Dataset ID (required)
- :type id: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._delete_dataset_serialize(
- id=id,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '204': None,
- '404': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- ).data
-
-
- @validate_call
- def delete_dataset_with_http_info(
- self,
- id: Annotated[StrictStr, Field(description="Dataset ID")],
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ApiResponse[None]:
- """Delete dataset
-
-
- :param id: Dataset ID (required)
- :type id: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._delete_dataset_serialize(
- id=id,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '204': None,
- '404': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- )
-
-
- @validate_call
- def delete_dataset_without_preload_content(
- self,
- id: Annotated[StrictStr, Field(description="Dataset ID")],
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> RESTResponseType:
- """Delete dataset
-
-
- :param id: Dataset ID (required)
- :type id: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._delete_dataset_serialize(
- id=id,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '204': None,
- '404': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- return response_data.response
-
-
- def _delete_dataset_serialize(
- self,
- id,
- _request_auth,
- _content_type,
- _headers,
- _host_index,
- ) -> RequestSerialized:
-
- _host = None
-
- _collection_formats: Dict[str, str] = {
- }
-
- _path_params: Dict[str, str] = {}
- _query_params: List[Tuple[str, str]] = []
- _header_params: Dict[str, Optional[str]] = _headers or {}
- _form_params: List[Tuple[str, str]] = []
- _files: Dict[
- str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
- ] = {}
- _body_params: Optional[bytes] = None
-
- # process the path parameters
- if id is not None:
- _path_params['id'] = id
- # process the query parameters
- # process the header parameters
- # process the form parameters
- # process the body parameter
-
-
- # set the HTTP header `Accept`
- if 'Accept' not in _header_params:
- _header_params['Accept'] = self.api_client.select_header_accept(
- [
- 'application/json'
- ]
- )
-
-
- # authentication setting
- _auth_settings: List[str] = [
- 'WorkspaceId',
- 'SessionId',
- 'BearerAuth'
- ]
-
- return self.api_client.param_serialize(
- method='DELETE',
- resource_path='/v1/datasets/{id}',
- path_params=_path_params,
- query_params=_query_params,
- header_params=_header_params,
- body=_body_params,
- post_params=_form_params,
- files=_files,
- auth_settings=_auth_settings,
- collection_formats=_collection_formats,
- _host=_host,
- _request_auth=_request_auth
- )
-
-
-
-
- @validate_call
- def get_dataset(
- self,
- id: Annotated[StrictStr, Field(description="Dataset ID")],
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> GetDatasetResponse:
- """Get dataset
-
-
- :param id: Dataset ID (required)
- :type id: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._get_dataset_serialize(
- id=id,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '200': "GetDatasetResponse",
- '404': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- ).data
-
-
- @validate_call
- def get_dataset_with_http_info(
- self,
- id: Annotated[StrictStr, Field(description="Dataset ID")],
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ApiResponse[GetDatasetResponse]:
- """Get dataset
-
-
- :param id: Dataset ID (required)
- :type id: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._get_dataset_serialize(
- id=id,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '200': "GetDatasetResponse",
- '404': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- )
-
-
- @validate_call
- def get_dataset_without_preload_content(
- self,
- id: Annotated[StrictStr, Field(description="Dataset ID")],
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> RESTResponseType:
- """Get dataset
-
-
- :param id: Dataset ID (required)
- :type id: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._get_dataset_serialize(
- id=id,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '200': "GetDatasetResponse",
- '404': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- return response_data.response
-
-
- def _get_dataset_serialize(
- self,
- id,
- _request_auth,
- _content_type,
- _headers,
- _host_index,
- ) -> RequestSerialized:
-
- _host = None
-
- _collection_formats: Dict[str, str] = {
- }
-
- _path_params: Dict[str, str] = {}
- _query_params: List[Tuple[str, str]] = []
- _header_params: Dict[str, Optional[str]] = _headers or {}
- _form_params: List[Tuple[str, str]] = []
- _files: Dict[
- str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
- ] = {}
- _body_params: Optional[bytes] = None
-
- # process the path parameters
- if id is not None:
- _path_params['id'] = id
- # process the query parameters
- # process the header parameters
- # process the form parameters
- # process the body parameter
-
-
- # set the HTTP header `Accept`
- if 'Accept' not in _header_params:
- _header_params['Accept'] = self.api_client.select_header_accept(
- [
- 'application/json'
- ]
- )
-
-
- # authentication setting
- _auth_settings: List[str] = [
- 'WorkspaceId',
- 'BearerAuth'
- ]
-
- return self.api_client.param_serialize(
- method='GET',
- resource_path='/v1/datasets/{id}',
- path_params=_path_params,
- query_params=_query_params,
- header_params=_header_params,
- body=_body_params,
- post_params=_form_params,
- files=_files,
- auth_settings=_auth_settings,
- collection_formats=_collection_formats,
- _host=_host,
- _request_auth=_request_auth
- )
-
-
-
-
- @validate_call
- def list_dataset_versions(
- self,
- id: Annotated[StrictStr, Field(description="Dataset ID")],
- limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Maximum number of versions (default: 100, max: 1000)")] = None,
- offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Pagination offset (default: 0)")] = None,
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ListDatasetVersionsResponse:
- """List dataset versions
-
-
- :param id: Dataset ID (required)
- :type id: str
- :param limit: Maximum number of versions (default: 100, max: 1000)
- :type limit: int
- :param offset: Pagination offset (default: 0)
- :type offset: int
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._list_dataset_versions_serialize(
- id=id,
- limit=limit,
- offset=offset,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '200': "ListDatasetVersionsResponse",
- '404': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- ).data
-
-
- @validate_call
- def list_dataset_versions_with_http_info(
- self,
- id: Annotated[StrictStr, Field(description="Dataset ID")],
- limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Maximum number of versions (default: 100, max: 1000)")] = None,
- offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Pagination offset (default: 0)")] = None,
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ApiResponse[ListDatasetVersionsResponse]:
- """List dataset versions
-
-
- :param id: Dataset ID (required)
- :type id: str
- :param limit: Maximum number of versions (default: 100, max: 1000)
- :type limit: int
- :param offset: Pagination offset (default: 0)
- :type offset: int
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._list_dataset_versions_serialize(
- id=id,
- limit=limit,
- offset=offset,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '200': "ListDatasetVersionsResponse",
- '404': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- )
-
-
- @validate_call
- def list_dataset_versions_without_preload_content(
- self,
- id: Annotated[StrictStr, Field(description="Dataset ID")],
- limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Maximum number of versions (default: 100, max: 1000)")] = None,
- offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Pagination offset (default: 0)")] = None,
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> RESTResponseType:
- """List dataset versions
-
-
- :param id: Dataset ID (required)
- :type id: str
- :param limit: Maximum number of versions (default: 100, max: 1000)
- :type limit: int
- :param offset: Pagination offset (default: 0)
- :type offset: int
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._list_dataset_versions_serialize(
- id=id,
- limit=limit,
- offset=offset,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '200': "ListDatasetVersionsResponse",
- '404': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- return response_data.response
-
-
- def _list_dataset_versions_serialize(
- self,
- id,
- limit,
- offset,
- _request_auth,
- _content_type,
- _headers,
- _host_index,
- ) -> RequestSerialized:
-
- _host = None
-
- _collection_formats: Dict[str, str] = {
- }
-
- _path_params: Dict[str, str] = {}
- _query_params: List[Tuple[str, str]] = []
- _header_params: Dict[str, Optional[str]] = _headers or {}
- _form_params: List[Tuple[str, str]] = []
- _files: Dict[
- str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
- ] = {}
- _body_params: Optional[bytes] = None
-
- # process the path parameters
- if id is not None:
- _path_params['id'] = id
- # process the query parameters
- if limit is not None:
-
- _query_params.append(('limit', limit))
-
- if offset is not None:
-
- _query_params.append(('offset', offset))
-
- # process the header parameters
- # process the form parameters
- # process the body parameter
-
-
- # set the HTTP header `Accept`
- if 'Accept' not in _header_params:
- _header_params['Accept'] = self.api_client.select_header_accept(
- [
- 'application/json'
- ]
- )
-
-
- # authentication setting
- _auth_settings: List[str] = [
- 'WorkspaceId',
- 'BearerAuth'
- ]
-
- return self.api_client.param_serialize(
- method='GET',
- resource_path='/v1/datasets/{id}/versions',
- path_params=_path_params,
- query_params=_query_params,
- header_params=_header_params,
- body=_body_params,
- post_params=_form_params,
- files=_files,
- auth_settings=_auth_settings,
- collection_formats=_collection_formats,
- _host=_host,
- _request_auth=_request_auth
- )
-
-
-
-
- @validate_call
- def list_datasets(
- self,
- limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Maximum number of datasets (default: 100, max: 1000)")] = None,
- offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Pagination offset (default: 0)")] = None,
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ListDatasetsResponse:
- """List datasets
-
-
- :param limit: Maximum number of datasets (default: 100, max: 1000)
- :type limit: int
- :param offset: Pagination offset (default: 0)
- :type offset: int
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._list_datasets_serialize(
- limit=limit,
- offset=offset,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '200': "ListDatasetsResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- ).data
-
-
- @validate_call
- def list_datasets_with_http_info(
- self,
- limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Maximum number of datasets (default: 100, max: 1000)")] = None,
- offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Pagination offset (default: 0)")] = None,
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ApiResponse[ListDatasetsResponse]:
- """List datasets
-
-
- :param limit: Maximum number of datasets (default: 100, max: 1000)
- :type limit: int
- :param offset: Pagination offset (default: 0)
- :type offset: int
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._list_datasets_serialize(
- limit=limit,
- offset=offset,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '200': "ListDatasetsResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- )
-
-
- @validate_call
- def list_datasets_without_preload_content(
- self,
- limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Maximum number of datasets (default: 100, max: 1000)")] = None,
- offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Pagination offset (default: 0)")] = None,
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> RESTResponseType:
- """List datasets
-
-
- :param limit: Maximum number of datasets (default: 100, max: 1000)
- :type limit: int
- :param offset: Pagination offset (default: 0)
- :type offset: int
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._list_datasets_serialize(
- limit=limit,
- offset=offset,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '200': "ListDatasetsResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- return response_data.response
-
-
- def _list_datasets_serialize(
- self,
- limit,
- offset,
- _request_auth,
- _content_type,
- _headers,
- _host_index,
- ) -> RequestSerialized:
-
- _host = None
-
- _collection_formats: Dict[str, str] = {
- }
-
- _path_params: Dict[str, str] = {}
- _query_params: List[Tuple[str, str]] = []
- _header_params: Dict[str, Optional[str]] = _headers or {}
- _form_params: List[Tuple[str, str]] = []
- _files: Dict[
- str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
- ] = {}
- _body_params: Optional[bytes] = None
-
- # process the path parameters
- # process the query parameters
- if limit is not None:
-
- _query_params.append(('limit', limit))
-
- if offset is not None:
-
- _query_params.append(('offset', offset))
-
- # process the header parameters
- # process the form parameters
- # process the body parameter
-
-
- # set the HTTP header `Accept`
- if 'Accept' not in _header_params:
- _header_params['Accept'] = self.api_client.select_header_accept(
- [
- 'application/json'
- ]
- )
-
-
- # authentication setting
- _auth_settings: List[str] = [
- 'WorkspaceId',
- 'SessionId',
- 'BearerAuth'
- ]
-
- return self.api_client.param_serialize(
- method='GET',
- resource_path='/v1/datasets',
- path_params=_path_params,
- query_params=_query_params,
- header_params=_header_params,
- body=_body_params,
- post_params=_form_params,
- files=_files,
- auth_settings=_auth_settings,
- collection_formats=_collection_formats,
- _host=_host,
- _request_auth=_request_auth
- )
-
-
-
-
- @validate_call
- def update_dataset(
- self,
- id: Annotated[StrictStr, Field(description="Dataset ID")],
- update_dataset_request: UpdateDatasetRequest,
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> UpdateDatasetResponse:
- """Update dataset
-
-
- :param id: Dataset ID (required)
- :type id: str
- :param update_dataset_request: (required)
- :type update_dataset_request: UpdateDatasetRequest
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._update_dataset_serialize(
- id=id,
- update_dataset_request=update_dataset_request,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '200': "UpdateDatasetResponse",
- '404': "ApiErrorResponse",
- '409': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- ).data
-
-
- @validate_call
- def update_dataset_with_http_info(
- self,
- id: Annotated[StrictStr, Field(description="Dataset ID")],
- update_dataset_request: UpdateDatasetRequest,
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ApiResponse[UpdateDatasetResponse]:
- """Update dataset
-
-
- :param id: Dataset ID (required)
- :type id: str
- :param update_dataset_request: (required)
- :type update_dataset_request: UpdateDatasetRequest
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._update_dataset_serialize(
- id=id,
- update_dataset_request=update_dataset_request,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '200': "UpdateDatasetResponse",
- '404': "ApiErrorResponse",
- '409': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- )
-
-
- @validate_call
- def update_dataset_without_preload_content(
- self,
- id: Annotated[StrictStr, Field(description="Dataset ID")],
- update_dataset_request: UpdateDatasetRequest,
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> RESTResponseType:
- """Update dataset
-
-
- :param id: Dataset ID (required)
- :type id: str
- :param update_dataset_request: (required)
- :type update_dataset_request: UpdateDatasetRequest
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._update_dataset_serialize(
- id=id,
- update_dataset_request=update_dataset_request,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '200': "UpdateDatasetResponse",
- '404': "ApiErrorResponse",
- '409': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- return response_data.response
-
-
- def _update_dataset_serialize(
- self,
- id,
- update_dataset_request,
- _request_auth,
- _content_type,
- _headers,
- _host_index,
- ) -> RequestSerialized:
-
- _host = None
-
- _collection_formats: Dict[str, str] = {
- }
-
- _path_params: Dict[str, str] = {}
- _query_params: List[Tuple[str, str]] = []
- _header_params: Dict[str, Optional[str]] = _headers or {}
- _form_params: List[Tuple[str, str]] = []
- _files: Dict[
- str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
- ] = {}
- _body_params: Optional[bytes] = None
-
- # process the path parameters
- if id is not None:
- _path_params['id'] = id
- # process the query parameters
- # process the header parameters
- # process the form parameters
- # process the body parameter
- if update_dataset_request is not None:
- _body_params = update_dataset_request
-
-
- # set the HTTP header `Accept`
- if 'Accept' not in _header_params:
- _header_params['Accept'] = self.api_client.select_header_accept(
- [
- 'application/json'
- ]
- )
-
- # set the HTTP header `Content-Type`
- if _content_type:
- _header_params['Content-Type'] = _content_type
- else:
- _default_content_type = (
- self.api_client.select_header_content_type(
- [
- 'application/json'
- ]
- )
- )
- if _default_content_type is not None:
- _header_params['Content-Type'] = _default_content_type
-
- # authentication setting
- _auth_settings: List[str] = [
- 'WorkspaceId',
- 'SessionId',
- 'BearerAuth'
- ]
-
- return self.api_client.param_serialize(
- method='PUT',
- resource_path='/v1/datasets/{id}',
- path_params=_path_params,
- query_params=_query_params,
- header_params=_header_params,
- body=_body_params,
- post_params=_form_params,
- files=_files,
- auth_settings=_auth_settings,
- collection_formats=_collection_formats,
- _host=_host,
- _request_auth=_request_auth
- )
-
-
diff --git a/hotdata/api/indexes_api.py b/hotdata/api/indexes_api.py
index 971a32a..43ee1bd 100644
--- a/hotdata/api/indexes_api.py
+++ b/hotdata/api/indexes_api.py
@@ -43,9 +43,11 @@ def __init__(self, api_client=None) -> None:
@validate_call
- def create_dataset_index(
+ def create_index(
self,
- dataset_id: Annotated[StrictStr, Field(description="Dataset ID")],
+ connection_id: Annotated[StrictStr, Field(description="Connection ID")],
+ var_schema: Annotated[StrictStr, Field(description="Schema name")],
+ table: Annotated[StrictStr, Field(description="Table name")],
create_index_request: CreateIndexRequest,
_request_timeout: Union[
None,
@@ -60,12 +62,16 @@ def create_dataset_index(
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> IndexInfoResponse:
- """Create an index on a dataset
+ """Create an index on a table
- Create a sorted, BM25, or vector index on a dataset.
+ Create a sorted or BM25 full-text index on a cached table.
- :param dataset_id: Dataset ID (required)
- :type dataset_id: str
+ :param connection_id: Connection ID (required)
+ :type connection_id: str
+ :param var_schema: Schema name (required)
+ :type var_schema: str
+ :param table: Table name (required)
+ :type table: str
:param create_index_request: (required)
:type create_index_request: CreateIndexRequest
:param _request_timeout: timeout setting for this request. If one
@@ -90,8 +96,10 @@ def create_dataset_index(
:return: Returns the result object.
""" # noqa: E501
- _param = self._create_dataset_index_serialize(
- dataset_id=dataset_id,
+ _param = self._create_index_serialize(
+ connection_id=connection_id,
+ var_schema=var_schema,
+ table=table,
create_index_request=create_index_request,
_request_auth=_request_auth,
_content_type=_content_type,
@@ -117,9 +125,11 @@ def create_dataset_index(
@validate_call
- def create_dataset_index_with_http_info(
+ def create_index_with_http_info(
self,
- dataset_id: Annotated[StrictStr, Field(description="Dataset ID")],
+ connection_id: Annotated[StrictStr, Field(description="Connection ID")],
+ var_schema: Annotated[StrictStr, Field(description="Schema name")],
+ table: Annotated[StrictStr, Field(description="Table name")],
create_index_request: CreateIndexRequest,
_request_timeout: Union[
None,
@@ -134,12 +144,16 @@ def create_dataset_index_with_http_info(
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[IndexInfoResponse]:
- """Create an index on a dataset
+ """Create an index on a table
- Create a sorted, BM25, or vector index on a dataset.
+ Create a sorted or BM25 full-text index on a cached table.
- :param dataset_id: Dataset ID (required)
- :type dataset_id: str
+ :param connection_id: Connection ID (required)
+ :type connection_id: str
+ :param var_schema: Schema name (required)
+ :type var_schema: str
+ :param table: Table name (required)
+ :type table: str
:param create_index_request: (required)
:type create_index_request: CreateIndexRequest
:param _request_timeout: timeout setting for this request. If one
@@ -164,8 +178,10 @@ def create_dataset_index_with_http_info(
:return: Returns the result object.
""" # noqa: E501
- _param = self._create_dataset_index_serialize(
- dataset_id=dataset_id,
+ _param = self._create_index_serialize(
+ connection_id=connection_id,
+ var_schema=var_schema,
+ table=table,
create_index_request=create_index_request,
_request_auth=_request_auth,
_content_type=_content_type,
@@ -191,9 +207,11 @@ def create_dataset_index_with_http_info(
@validate_call
- def create_dataset_index_without_preload_content(
+ def create_index_without_preload_content(
self,
- dataset_id: Annotated[StrictStr, Field(description="Dataset ID")],
+ connection_id: Annotated[StrictStr, Field(description="Connection ID")],
+ var_schema: Annotated[StrictStr, Field(description="Schema name")],
+ table: Annotated[StrictStr, Field(description="Table name")],
create_index_request: CreateIndexRequest,
_request_timeout: Union[
None,
@@ -208,12 +226,16 @@ def create_dataset_index_without_preload_content(
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
- """Create an index on a dataset
+ """Create an index on a table
- Create a sorted, BM25, or vector index on a dataset.
+ Create a sorted or BM25 full-text index on a cached table.
- :param dataset_id: Dataset ID (required)
- :type dataset_id: str
+ :param connection_id: Connection ID (required)
+ :type connection_id: str
+ :param var_schema: Schema name (required)
+ :type var_schema: str
+ :param table: Table name (required)
+ :type table: str
:param create_index_request: (required)
:type create_index_request: CreateIndexRequest
:param _request_timeout: timeout setting for this request. If one
@@ -238,8 +260,10 @@ def create_dataset_index_without_preload_content(
:return: Returns the result object.
""" # noqa: E501
- _param = self._create_dataset_index_serialize(
- dataset_id=dataset_id,
+ _param = self._create_index_serialize(
+ connection_id=connection_id,
+ var_schema=var_schema,
+ table=table,
create_index_request=create_index_request,
_request_auth=_request_auth,
_content_type=_content_type,
@@ -260,9 +284,11 @@ def create_dataset_index_without_preload_content(
return response_data.response
- def _create_dataset_index_serialize(
+ def _create_index_serialize(
self,
- dataset_id,
+ connection_id,
+ var_schema,
+ table,
create_index_request,
_request_auth,
_content_type,
@@ -285,8 +311,12 @@ def _create_dataset_index_serialize(
_body_params: Optional[bytes] = None
# process the path parameters
- if dataset_id is not None:
- _path_params['dataset_id'] = dataset_id
+ if connection_id is not None:
+ _path_params['connection_id'] = connection_id
+ if var_schema is not None:
+ _path_params['schema'] = var_schema
+ if table is not None:
+ _path_params['table'] = table
# process the query parameters
# process the header parameters
# process the form parameters
@@ -320,13 +350,12 @@ def _create_dataset_index_serialize(
# authentication setting
_auth_settings: List[str] = [
'WorkspaceId',
- 'SessionId',
'BearerAuth'
]
return self.api_client.param_serialize(
method='POST',
- resource_path='/v1/datasets/{dataset_id}/indexes',
+ resource_path='/v1/connections/{connection_id}/tables/{schema}/{table}/indexes',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
@@ -343,12 +372,12 @@ def _create_dataset_index_serialize(
@validate_call
- def create_index(
+ def delete_index(
self,
connection_id: Annotated[StrictStr, Field(description="Connection ID")],
var_schema: Annotated[StrictStr, Field(description="Schema name")],
table: Annotated[StrictStr, Field(description="Table name")],
- create_index_request: CreateIndexRequest,
+ index_name: Annotated[StrictStr, Field(description="Index name")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -361,10 +390,10 @@ def create_index(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> IndexInfoResponse:
- """Create an index on a table
+ ) -> None:
+ """Delete an index
- Create a sorted or BM25 full-text index on a cached table.
+ Delete a specific index from a cached table.
:param connection_id: Connection ID (required)
:type connection_id: str
@@ -372,8 +401,8 @@ def create_index(
:type var_schema: str
:param table: Table name (required)
:type table: str
- :param create_index_request: (required)
- :type create_index_request: CreateIndexRequest
+ :param index_name: Index name (required)
+ :type index_name: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -396,11 +425,11 @@ def create_index(
:return: Returns the result object.
""" # noqa: E501
- _param = self._create_index_serialize(
+ _param = self._delete_index_serialize(
connection_id=connection_id,
var_schema=var_schema,
table=table,
- create_index_request=create_index_request,
+ index_name=index_name,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -408,8 +437,7 @@ def create_index(
)
_response_types_map: Dict[str, Optional[str]] = {
- '201': "IndexInfoResponse",
- '400': "ApiErrorResponse",
+ '204': None,
'404': "ApiErrorResponse",
'500': "ApiErrorResponse",
}
@@ -425,12 +453,12 @@ def create_index(
@validate_call
- def create_index_with_http_info(
+ def delete_index_with_http_info(
self,
connection_id: Annotated[StrictStr, Field(description="Connection ID")],
var_schema: Annotated[StrictStr, Field(description="Schema name")],
table: Annotated[StrictStr, Field(description="Table name")],
- create_index_request: CreateIndexRequest,
+ index_name: Annotated[StrictStr, Field(description="Index name")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -443,10 +471,10 @@ def create_index_with_http_info(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ApiResponse[IndexInfoResponse]:
- """Create an index on a table
+ ) -> ApiResponse[None]:
+ """Delete an index
- Create a sorted or BM25 full-text index on a cached table.
+ Delete a specific index from a cached table.
:param connection_id: Connection ID (required)
:type connection_id: str
@@ -454,8 +482,8 @@ def create_index_with_http_info(
:type var_schema: str
:param table: Table name (required)
:type table: str
- :param create_index_request: (required)
- :type create_index_request: CreateIndexRequest
+ :param index_name: Index name (required)
+ :type index_name: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -478,11 +506,11 @@ def create_index_with_http_info(
:return: Returns the result object.
""" # noqa: E501
- _param = self._create_index_serialize(
+ _param = self._delete_index_serialize(
connection_id=connection_id,
var_schema=var_schema,
table=table,
- create_index_request=create_index_request,
+ index_name=index_name,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -490,8 +518,7 @@ def create_index_with_http_info(
)
_response_types_map: Dict[str, Optional[str]] = {
- '201': "IndexInfoResponse",
- '400': "ApiErrorResponse",
+ '204': None,
'404': "ApiErrorResponse",
'500': "ApiErrorResponse",
}
@@ -507,12 +534,12 @@ def create_index_with_http_info(
@validate_call
- def create_index_without_preload_content(
+ def delete_index_without_preload_content(
self,
connection_id: Annotated[StrictStr, Field(description="Connection ID")],
var_schema: Annotated[StrictStr, Field(description="Schema name")],
table: Annotated[StrictStr, Field(description="Table name")],
- create_index_request: CreateIndexRequest,
+ index_name: Annotated[StrictStr, Field(description="Index name")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -526,9 +553,9 @@ def create_index_without_preload_content(
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
- """Create an index on a table
+ """Delete an index
- Create a sorted or BM25 full-text index on a cached table.
+ Delete a specific index from a cached table.
:param connection_id: Connection ID (required)
:type connection_id: str
@@ -536,8 +563,8 @@ def create_index_without_preload_content(
:type var_schema: str
:param table: Table name (required)
:type table: str
- :param create_index_request: (required)
- :type create_index_request: CreateIndexRequest
+ :param index_name: Index name (required)
+ :type index_name: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -560,11 +587,11 @@ def create_index_without_preload_content(
:return: Returns the result object.
""" # noqa: E501
- _param = self._create_index_serialize(
+ _param = self._delete_index_serialize(
connection_id=connection_id,
var_schema=var_schema,
table=table,
- create_index_request=create_index_request,
+ index_name=index_name,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -572,8 +599,7 @@ def create_index_without_preload_content(
)
_response_types_map: Dict[str, Optional[str]] = {
- '201': "IndexInfoResponse",
- '400': "ApiErrorResponse",
+ '204': None,
'404': "ApiErrorResponse",
'500': "ApiErrorResponse",
}
@@ -584,12 +610,12 @@ def create_index_without_preload_content(
return response_data.response
- def _create_index_serialize(
+ def _delete_index_serialize(
self,
connection_id,
var_schema,
table,
- create_index_request,
+ index_name,
_request_auth,
_content_type,
_headers,
@@ -617,615 +643,8 @@ def _create_index_serialize(
_path_params['schema'] = var_schema
if table is not None:
_path_params['table'] = table
- # process the query parameters
- # process the header parameters
- # process the form parameters
- # process the body parameter
- if create_index_request is not None:
- _body_params = create_index_request
-
-
- # set the HTTP header `Accept`
- if 'Accept' not in _header_params:
- _header_params['Accept'] = self.api_client.select_header_accept(
- [
- 'application/json'
- ]
- )
-
- # set the HTTP header `Content-Type`
- if _content_type:
- _header_params['Content-Type'] = _content_type
- else:
- _default_content_type = (
- self.api_client.select_header_content_type(
- [
- 'application/json'
- ]
- )
- )
- if _default_content_type is not None:
- _header_params['Content-Type'] = _default_content_type
-
- # authentication setting
- _auth_settings: List[str] = [
- 'WorkspaceId',
- 'BearerAuth'
- ]
-
- return self.api_client.param_serialize(
- method='POST',
- resource_path='/v1/connections/{connection_id}/tables/{schema}/{table}/indexes',
- path_params=_path_params,
- query_params=_query_params,
- header_params=_header_params,
- body=_body_params,
- post_params=_form_params,
- files=_files,
- auth_settings=_auth_settings,
- collection_formats=_collection_formats,
- _host=_host,
- _request_auth=_request_auth
- )
-
-
-
-
- @validate_call
- def delete_dataset_index(
- self,
- dataset_id: Annotated[StrictStr, Field(description="Dataset ID")],
- index_name: Annotated[StrictStr, Field(description="Index name")],
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> None:
- """Delete a dataset index
-
- Delete a specific index from a dataset.
-
- :param dataset_id: Dataset ID (required)
- :type dataset_id: str
- :param index_name: Index name (required)
- :type index_name: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._delete_dataset_index_serialize(
- dataset_id=dataset_id,
- index_name=index_name,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '204': None,
- '404': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- ).data
-
-
- @validate_call
- def delete_dataset_index_with_http_info(
- self,
- dataset_id: Annotated[StrictStr, Field(description="Dataset ID")],
- index_name: Annotated[StrictStr, Field(description="Index name")],
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ApiResponse[None]:
- """Delete a dataset index
-
- Delete a specific index from a dataset.
-
- :param dataset_id: Dataset ID (required)
- :type dataset_id: str
- :param index_name: Index name (required)
- :type index_name: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._delete_dataset_index_serialize(
- dataset_id=dataset_id,
- index_name=index_name,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '204': None,
- '404': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- )
-
-
- @validate_call
- def delete_dataset_index_without_preload_content(
- self,
- dataset_id: Annotated[StrictStr, Field(description="Dataset ID")],
- index_name: Annotated[StrictStr, Field(description="Index name")],
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> RESTResponseType:
- """Delete a dataset index
-
- Delete a specific index from a dataset.
-
- :param dataset_id: Dataset ID (required)
- :type dataset_id: str
- :param index_name: Index name (required)
- :type index_name: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._delete_dataset_index_serialize(
- dataset_id=dataset_id,
- index_name=index_name,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '204': None,
- '404': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- return response_data.response
-
-
- def _delete_dataset_index_serialize(
- self,
- dataset_id,
- index_name,
- _request_auth,
- _content_type,
- _headers,
- _host_index,
- ) -> RequestSerialized:
-
- _host = None
-
- _collection_formats: Dict[str, str] = {
- }
-
- _path_params: Dict[str, str] = {}
- _query_params: List[Tuple[str, str]] = []
- _header_params: Dict[str, Optional[str]] = _headers or {}
- _form_params: List[Tuple[str, str]] = []
- _files: Dict[
- str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
- ] = {}
- _body_params: Optional[bytes] = None
-
- # process the path parameters
- if dataset_id is not None:
- _path_params['dataset_id'] = dataset_id
- if index_name is not None:
- _path_params['index_name'] = index_name
- # process the query parameters
- # process the header parameters
- # process the form parameters
- # process the body parameter
-
-
- # set the HTTP header `Accept`
- if 'Accept' not in _header_params:
- _header_params['Accept'] = self.api_client.select_header_accept(
- [
- 'application/json'
- ]
- )
-
-
- # authentication setting
- _auth_settings: List[str] = [
- 'WorkspaceId',
- 'SessionId',
- 'BearerAuth'
- ]
-
- return self.api_client.param_serialize(
- method='DELETE',
- resource_path='/v1/datasets/{dataset_id}/indexes/{index_name}',
- path_params=_path_params,
- query_params=_query_params,
- header_params=_header_params,
- body=_body_params,
- post_params=_form_params,
- files=_files,
- auth_settings=_auth_settings,
- collection_formats=_collection_formats,
- _host=_host,
- _request_auth=_request_auth
- )
-
-
-
-
- @validate_call
- def delete_index(
- self,
- connection_id: Annotated[StrictStr, Field(description="Connection ID")],
- var_schema: Annotated[StrictStr, Field(description="Schema name")],
- table: Annotated[StrictStr, Field(description="Table name")],
- index_name: Annotated[StrictStr, Field(description="Index name")],
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> None:
- """Delete an index
-
- Delete a specific index from a cached table.
-
- :param connection_id: Connection ID (required)
- :type connection_id: str
- :param var_schema: Schema name (required)
- :type var_schema: str
- :param table: Table name (required)
- :type table: str
- :param index_name: Index name (required)
- :type index_name: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._delete_index_serialize(
- connection_id=connection_id,
- var_schema=var_schema,
- table=table,
- index_name=index_name,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '204': None,
- '404': "ApiErrorResponse",
- '500': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- ).data
-
-
- @validate_call
- def delete_index_with_http_info(
- self,
- connection_id: Annotated[StrictStr, Field(description="Connection ID")],
- var_schema: Annotated[StrictStr, Field(description="Schema name")],
- table: Annotated[StrictStr, Field(description="Table name")],
- index_name: Annotated[StrictStr, Field(description="Index name")],
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ApiResponse[None]:
- """Delete an index
-
- Delete a specific index from a cached table.
-
- :param connection_id: Connection ID (required)
- :type connection_id: str
- :param var_schema: Schema name (required)
- :type var_schema: str
- :param table: Table name (required)
- :type table: str
- :param index_name: Index name (required)
- :type index_name: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._delete_index_serialize(
- connection_id=connection_id,
- var_schema=var_schema,
- table=table,
- index_name=index_name,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '204': None,
- '404': "ApiErrorResponse",
- '500': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- )
-
-
- @validate_call
- def delete_index_without_preload_content(
- self,
- connection_id: Annotated[StrictStr, Field(description="Connection ID")],
- var_schema: Annotated[StrictStr, Field(description="Schema name")],
- table: Annotated[StrictStr, Field(description="Table name")],
- index_name: Annotated[StrictStr, Field(description="Index name")],
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> RESTResponseType:
- """Delete an index
-
- Delete a specific index from a cached table.
-
- :param connection_id: Connection ID (required)
- :type connection_id: str
- :param var_schema: Schema name (required)
- :type var_schema: str
- :param table: Table name (required)
- :type table: str
- :param index_name: Index name (required)
- :type index_name: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._delete_index_serialize(
- connection_id=connection_id,
- var_schema=var_schema,
- table=table,
- index_name=index_name,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '204': None,
- '404': "ApiErrorResponse",
- '500': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- return response_data.response
-
-
- def _delete_index_serialize(
- self,
- connection_id,
- var_schema,
- table,
- index_name,
- _request_auth,
- _content_type,
- _headers,
- _host_index,
- ) -> RequestSerialized:
-
- _host = None
-
- _collection_formats: Dict[str, str] = {
- }
-
- _path_params: Dict[str, str] = {}
- _query_params: List[Tuple[str, str]] = []
- _header_params: Dict[str, Optional[str]] = _headers or {}
- _form_params: List[Tuple[str, str]] = []
- _files: Dict[
- str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
- ] = {}
- _body_params: Optional[bytes] = None
-
- # process the path parameters
- if connection_id is not None:
- _path_params['connection_id'] = connection_id
- if var_schema is not None:
- _path_params['schema'] = var_schema
- if table is not None:
- _path_params['table'] = table
- if index_name is not None:
- _path_params['index_name'] = index_name
+ if index_name is not None:
+ _path_params['index_name'] = index_name
# process the query parameters
# process the header parameters
# process the form parameters
@@ -1265,272 +684,6 @@ def _delete_index_serialize(
- @validate_call
- def list_dataset_indexes(
- self,
- dataset_id: Annotated[StrictStr, Field(description="Dataset ID")],
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ListIndexesResponse:
- """List indexes on a dataset
-
- List all indexes created on a dataset.
-
- :param dataset_id: Dataset ID (required)
- :type dataset_id: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._list_dataset_indexes_serialize(
- dataset_id=dataset_id,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '200': "ListIndexesResponse",
- '404': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- ).data
-
-
- @validate_call
- def list_dataset_indexes_with_http_info(
- self,
- dataset_id: Annotated[StrictStr, Field(description="Dataset ID")],
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ApiResponse[ListIndexesResponse]:
- """List indexes on a dataset
-
- List all indexes created on a dataset.
-
- :param dataset_id: Dataset ID (required)
- :type dataset_id: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._list_dataset_indexes_serialize(
- dataset_id=dataset_id,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '200': "ListIndexesResponse",
- '404': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- response_data.read()
- return self.api_client.response_deserialize(
- response_data=response_data,
- response_types_map=_response_types_map,
- )
-
-
- @validate_call
- def list_dataset_indexes_without_preload_content(
- self,
- dataset_id: Annotated[StrictStr, Field(description="Dataset ID")],
- _request_timeout: Union[
- None,
- Annotated[StrictFloat, Field(gt=0)],
- Tuple[
- Annotated[StrictFloat, Field(gt=0)],
- Annotated[StrictFloat, Field(gt=0)]
- ]
- ] = None,
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
- _content_type: Optional[StrictStr] = None,
- _headers: Optional[Dict[StrictStr, Any]] = None,
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> RESTResponseType:
- """List indexes on a dataset
-
- List all indexes created on a dataset.
-
- :param dataset_id: Dataset ID (required)
- :type dataset_id: str
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :type _request_timeout: int, tuple(int, int), optional
- :param _request_auth: set to override the auth_settings for an a single
- request; this effectively ignores the
- authentication in the spec for a single request.
- :type _request_auth: dict, optional
- :param _content_type: force content-type for the request.
- :type _content_type: str, Optional
- :param _headers: set to override the headers for a single
- request; this effectively ignores the headers
- in the spec for a single request.
- :type _headers: dict, optional
- :param _host_index: set to override the host_index for a single
- request; this effectively ignores the host_index
- in the spec for a single request.
- :type _host_index: int, optional
- :return: Returns the result object.
- """ # noqa: E501
-
- _param = self._list_dataset_indexes_serialize(
- dataset_id=dataset_id,
- _request_auth=_request_auth,
- _content_type=_content_type,
- _headers=_headers,
- _host_index=_host_index
- )
-
- _response_types_map: Dict[str, Optional[str]] = {
- '200': "ListIndexesResponse",
- '404': "ApiErrorResponse",
- }
- response_data = self.api_client.call_api(
- *_param,
- _request_timeout=_request_timeout
- )
- return response_data.response
-
-
- def _list_dataset_indexes_serialize(
- self,
- dataset_id,
- _request_auth,
- _content_type,
- _headers,
- _host_index,
- ) -> RequestSerialized:
-
- _host = None
-
- _collection_formats: Dict[str, str] = {
- }
-
- _path_params: Dict[str, str] = {}
- _query_params: List[Tuple[str, str]] = []
- _header_params: Dict[str, Optional[str]] = _headers or {}
- _form_params: List[Tuple[str, str]] = []
- _files: Dict[
- str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
- ] = {}
- _body_params: Optional[bytes] = None
-
- # process the path parameters
- if dataset_id is not None:
- _path_params['dataset_id'] = dataset_id
- # process the query parameters
- # process the header parameters
- # process the form parameters
- # process the body parameter
-
-
- # set the HTTP header `Accept`
- if 'Accept' not in _header_params:
- _header_params['Accept'] = self.api_client.select_header_accept(
- [
- 'application/json'
- ]
- )
-
-
- # authentication setting
- _auth_settings: List[str] = [
- 'WorkspaceId',
- 'SessionId',
- 'BearerAuth'
- ]
-
- return self.api_client.param_serialize(
- method='GET',
- resource_path='/v1/datasets/{dataset_id}/indexes',
- path_params=_path_params,
- query_params=_query_params,
- header_params=_header_params,
- body=_body_params,
- post_params=_form_params,
- files=_files,
- auth_settings=_auth_settings,
- collection_formats=_collection_formats,
- _host=_host,
- _request_auth=_request_auth
- )
-
-
-
-
@validate_call
def list_indexes(
self,
diff --git a/hotdata/api/refresh_api.py b/hotdata/api/refresh_api.py
index 71867c7..1708bf2 100644
--- a/hotdata/api/refresh_api.py
+++ b/hotdata/api/refresh_api.py
@@ -56,7 +56,7 @@ def refresh(
) -> RefreshResponse:
"""Refresh connection data
- Refresh schema metadata, table data, or dataset data. The behavior depends on the request fields: - **Schema refresh (all)**: omit all fields — re-discovers tables for every connection. - **Schema refresh (single)**: set `connection_id` — re-discovers tables for one connection. - **Data refresh (single table)**: set `connection_id`, `schema_name`, `table_name`, and `data: true`. - **Data refresh (connection)**: set `connection_id` and `data: true` — refreshes all cached tables. Set `include_uncached: true` to also sync tables that haven't been cached yet. - **Dataset refresh**: set `dataset_id` — re-runs the dataset's source (URL fetch or saved query) and creates a new version. Mutually exclusive with `connection_id`. Set `async: true` on data or dataset refresh operations to run in the background and return a job ID for polling.
+ Refresh schema metadata or table data. The behavior depends on the request fields: - **Schema refresh (all)**: omit all fields — re-discovers tables for every connection. - **Schema refresh (single)**: set `connection_id` — re-discovers tables for one connection. - **Data refresh (single table)**: set `connection_id`, `schema_name`, `table_name`, and `data: true`. - **Data refresh (connection)**: set `connection_id` and `data: true` — refreshes all cached tables. Set `include_uncached: true` to also sync tables that haven't been cached yet. Set `async: true` on data refresh operations to run in the background and return a job ID for polling.
:param refresh_request: (required)
:type refresh_request: RefreshRequest
@@ -125,7 +125,7 @@ def refresh_with_http_info(
) -> ApiResponse[RefreshResponse]:
"""Refresh connection data
- Refresh schema metadata, table data, or dataset data. The behavior depends on the request fields: - **Schema refresh (all)**: omit all fields — re-discovers tables for every connection. - **Schema refresh (single)**: set `connection_id` — re-discovers tables for one connection. - **Data refresh (single table)**: set `connection_id`, `schema_name`, `table_name`, and `data: true`. - **Data refresh (connection)**: set `connection_id` and `data: true` — refreshes all cached tables. Set `include_uncached: true` to also sync tables that haven't been cached yet. - **Dataset refresh**: set `dataset_id` — re-runs the dataset's source (URL fetch or saved query) and creates a new version. Mutually exclusive with `connection_id`. Set `async: true` on data or dataset refresh operations to run in the background and return a job ID for polling.
+ Refresh schema metadata or table data. The behavior depends on the request fields: - **Schema refresh (all)**: omit all fields — re-discovers tables for every connection. - **Schema refresh (single)**: set `connection_id` — re-discovers tables for one connection. - **Data refresh (single table)**: set `connection_id`, `schema_name`, `table_name`, and `data: true`. - **Data refresh (connection)**: set `connection_id` and `data: true` — refreshes all cached tables. Set `include_uncached: true` to also sync tables that haven't been cached yet. Set `async: true` on data refresh operations to run in the background and return a job ID for polling.
:param refresh_request: (required)
:type refresh_request: RefreshRequest
@@ -194,7 +194,7 @@ def refresh_without_preload_content(
) -> RESTResponseType:
"""Refresh connection data
- Refresh schema metadata, table data, or dataset data. The behavior depends on the request fields: - **Schema refresh (all)**: omit all fields — re-discovers tables for every connection. - **Schema refresh (single)**: set `connection_id` — re-discovers tables for one connection. - **Data refresh (single table)**: set `connection_id`, `schema_name`, `table_name`, and `data: true`. - **Data refresh (connection)**: set `connection_id` and `data: true` — refreshes all cached tables. Set `include_uncached: true` to also sync tables that haven't been cached yet. - **Dataset refresh**: set `dataset_id` — re-runs the dataset's source (URL fetch or saved query) and creates a new version. Mutually exclusive with `connection_id`. Set `async: true` on data or dataset refresh operations to run in the background and return a job ID for polling.
+ Refresh schema metadata or table data. The behavior depends on the request fields: - **Schema refresh (all)**: omit all fields — re-discovers tables for every connection. - **Schema refresh (single)**: set `connection_id` — re-discovers tables for one connection. - **Data refresh (single table)**: set `connection_id`, `schema_name`, `table_name`, and `data: true`. - **Data refresh (connection)**: set `connection_id` and `data: true` — refreshes all cached tables. Set `include_uncached: true` to also sync tables that haven't been cached yet. Set `async: true` on data refresh operations to run in the background and return a job ID for polling.
:param refresh_request: (required)
:type refresh_request: RefreshRequest
diff --git a/hotdata/api/uploads_api.py b/hotdata/api/uploads_api.py
index 60304d4..2ab11b3 100644
--- a/hotdata/api/uploads_api.py
+++ b/hotdata/api/uploads_api.py
@@ -320,7 +320,7 @@ def upload_file(
) -> UploadResponse:
"""Upload file
- Upload a file to be used as a dataset source. Send the raw file bytes as the request body with an appropriate Content-Type header (e.g., `text/csv`, `application/json`, `application/parquet`). The body is streamed to disk, so files up to 20GB are supported. The returned upload ID can be passed to POST /v1/datasets to create a queryable table.
+ Upload a Parquet file to publish as the contents of a managed table. Send the raw file bytes as the request body with an appropriate Content-Type header (e.g., `application/parquet`). The body is streamed to disk, so files up to 20GB are supported. The returned upload ID can be passed to the managed-table load endpoint.
:param body: (required)
:type body: bytearray
@@ -388,7 +388,7 @@ def upload_file_with_http_info(
) -> ApiResponse[UploadResponse]:
"""Upload file
- Upload a file to be used as a dataset source. Send the raw file bytes as the request body with an appropriate Content-Type header (e.g., `text/csv`, `application/json`, `application/parquet`). The body is streamed to disk, so files up to 20GB are supported. The returned upload ID can be passed to POST /v1/datasets to create a queryable table.
+ Upload a Parquet file to publish as the contents of a managed table. Send the raw file bytes as the request body with an appropriate Content-Type header (e.g., `application/parquet`). The body is streamed to disk, so files up to 20GB are supported. The returned upload ID can be passed to the managed-table load endpoint.
:param body: (required)
:type body: bytearray
@@ -456,7 +456,7 @@ def upload_file_without_preload_content(
) -> RESTResponseType:
"""Upload file
- Upload a file to be used as a dataset source. Send the raw file bytes as the request body with an appropriate Content-Type header (e.g., `text/csv`, `application/json`, `application/parquet`). The body is streamed to disk, so files up to 20GB are supported. The returned upload ID can be passed to POST /v1/datasets to create a queryable table.
+ Upload a Parquet file to publish as the contents of a managed table. Send the raw file bytes as the request body with an appropriate Content-Type header (e.g., `application/parquet`). The body is streamed to disk, so files up to 20GB are supported. The returned upload ID can be passed to the managed-table load endpoint.
:param body: (required)
:type body: bytearray
diff --git a/hotdata/api/usage_api.py b/hotdata/api/usage_api.py
new file mode 100644
index 0000000..f47ca57
--- /dev/null
+++ b/hotdata/api/usage_api.py
@@ -0,0 +1,303 @@
+"""
+ Hotdata API
+
+ Powerful data platform API for datasets, queries, and analytics.
+
+ The version of the OpenAPI document: 1.0.0
+ Contact: developers@hotdata.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import warnings
+from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
+from typing import Any, Dict, List, Optional, Tuple, Union
+from typing_extensions import Annotated
+
+from pydantic import Field, StrictStr
+from typing import Optional
+from typing_extensions import Annotated
+from hotdata.models.workspace_usage_response import WorkspaceUsageResponse
+
+from hotdata.api_client import ApiClient, RequestSerialized
+from hotdata.api_response import ApiResponse
+from hotdata.rest import RESTResponseType
+
+
+class UsageApi:
+ """NOTE: This class is auto generated by OpenAPI Generator
+ Ref: https://openapi-generator.tech
+
+ Do not edit the class manually.
+ """
+
+ def __init__(self, api_client=None) -> None:
+ if api_client is None:
+ api_client = ApiClient.get_default()
+ self.api_client = api_client
+
+
+ @validate_call
+ def get_usage(
+ self,
+ since: Annotated[Optional[StrictStr], Field(description="Billing period start (ISO-8601). Defaults to the start of the current UTC calendar month when omitted.")] = None,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> WorkspaceUsageResponse:
+ """Get workspace usage snapshot
+
+ Return aggregated bytes scanned and current storage size for a billing period. Pass `since` as the subscription's `current_period_start` so the meter value aligns with the Stripe invoice window rather than the calendar month.
+
+ :param since: Billing period start (ISO-8601). Defaults to the start of the current UTC calendar month when omitted.
+ :type since: str
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._get_usage_serialize(
+ since=since,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "WorkspaceUsageResponse",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ response_data.read()
+ return self.api_client.response_deserialize(
+ response_data=response_data,
+ response_types_map=_response_types_map,
+ ).data
+
+
+ @validate_call
+ def get_usage_with_http_info(
+ self,
+ since: Annotated[Optional[StrictStr], Field(description="Billing period start (ISO-8601). Defaults to the start of the current UTC calendar month when omitted.")] = None,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> ApiResponse[WorkspaceUsageResponse]:
+ """Get workspace usage snapshot
+
+ Return aggregated bytes scanned and current storage size for a billing period. Pass `since` as the subscription's `current_period_start` so the meter value aligns with the Stripe invoice window rather than the calendar month.
+
+ :param since: Billing period start (ISO-8601). Defaults to the start of the current UTC calendar month when omitted.
+ :type since: str
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._get_usage_serialize(
+ since=since,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "WorkspaceUsageResponse",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ response_data.read()
+ return self.api_client.response_deserialize(
+ response_data=response_data,
+ response_types_map=_response_types_map,
+ )
+
+
+ @validate_call
+ def get_usage_without_preload_content(
+ self,
+ since: Annotated[Optional[StrictStr], Field(description="Billing period start (ISO-8601). Defaults to the start of the current UTC calendar month when omitted.")] = None,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> RESTResponseType:
+ """Get workspace usage snapshot
+
+ Return aggregated bytes scanned and current storage size for a billing period. Pass `since` as the subscription's `current_period_start` so the meter value aligns with the Stripe invoice window rather than the calendar month.
+
+ :param since: Billing period start (ISO-8601). Defaults to the start of the current UTC calendar month when omitted.
+ :type since: str
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._get_usage_serialize(
+ since=since,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "WorkspaceUsageResponse",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ return response_data.response
+
+
+ def _get_usage_serialize(
+ self,
+ since,
+ _request_auth,
+ _content_type,
+ _headers,
+ _host_index,
+ ) -> RequestSerialized:
+
+ _host = None
+
+ _collection_formats: Dict[str, str] = {
+ }
+
+ _path_params: Dict[str, str] = {}
+ _query_params: List[Tuple[str, str]] = []
+ _header_params: Dict[str, Optional[str]] = _headers or {}
+ _form_params: List[Tuple[str, str]] = []
+ _files: Dict[
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
+ ] = {}
+ _body_params: Optional[bytes] = None
+
+ # process the path parameters
+ # process the query parameters
+ if since is not None:
+
+ _query_params.append(('since', since))
+
+ # process the header parameters
+ # process the form parameters
+ # process the body parameter
+
+
+ # set the HTTP header `Accept`
+ if 'Accept' not in _header_params:
+ _header_params['Accept'] = self.api_client.select_header_accept(
+ [
+ 'application/json'
+ ]
+ )
+
+
+ # authentication setting
+ _auth_settings: List[str] = [
+ 'WorkspaceId',
+ 'BearerAuth'
+ ]
+
+ return self.api_client.param_serialize(
+ method='GET',
+ resource_path='/v1/usage',
+ path_params=_path_params,
+ query_params=_query_params,
+ header_params=_header_params,
+ body=_body_params,
+ post_params=_form_params,
+ files=_files,
+ auth_settings=_auth_settings,
+ collection_formats=_collection_formats,
+ _host=_host,
+ _request_auth=_request_auth
+ )
+
+
diff --git a/hotdata/api_client.py b/hotdata/api_client.py
index ecbadea..b7e0465 100644
--- a/hotdata/api_client.py
+++ b/hotdata/api_client.py
@@ -91,7 +91,7 @@ def __init__(
self.default_headers[header_name] = header_value
self.cookie = cookie
# Set default User-Agent.
- self.user_agent = 'OpenAPI-Generator/0.4.1/python'
+ self.user_agent = 'OpenAPI-Generator/1.0.0/python'
self.client_side_validation = configuration.client_side_validation
def __enter__(self):
diff --git a/hotdata/models/__init__.py b/hotdata/models/__init__.py
index 5c2a580..1dd4f2d 100644
--- a/hotdata/models/__init__.py
+++ b/hotdata/models/__init__.py
@@ -32,7 +32,6 @@
from hotdata.models.column_profile_detail_one_of3 import ColumnProfileDetailOneOf3
from hotdata.models.column_profile_detail_one_of4 import ColumnProfileDetailOneOf4
from hotdata.models.column_profile_info import ColumnProfileInfo
-from hotdata.models.column_type_spec import ColumnTypeSpec
from hotdata.models.connection_health_response import ConnectionHealthResponse
from hotdata.models.connection_info import ConnectionInfo
from hotdata.models.connection_refresh_result import ConnectionRefreshResult
@@ -43,8 +42,6 @@
from hotdata.models.create_connection_response import CreateConnectionResponse
from hotdata.models.create_database_request import CreateDatabaseRequest
from hotdata.models.create_database_response import CreateDatabaseResponse
-from hotdata.models.create_dataset_request import CreateDatasetRequest
-from hotdata.models.create_dataset_response import CreateDatasetResponse
from hotdata.models.create_embedding_provider_request import CreateEmbeddingProviderRequest
from hotdata.models.create_embedding_provider_response import CreateEmbeddingProviderResponse
from hotdata.models.create_index_request import CreateIndexRequest
@@ -59,29 +56,18 @@
from hotdata.models.database_default_table_decl import DatabaseDefaultTableDecl
from hotdata.models.database_detail_response import DatabaseDetailResponse
from hotdata.models.database_summary import DatabaseSummary
-from hotdata.models.dataset_source import DatasetSource
-from hotdata.models.dataset_source_one_of import DatasetSourceOneOf
-from hotdata.models.dataset_source_one_of1 import DatasetSourceOneOf1
-from hotdata.models.dataset_source_one_of2 import DatasetSourceOneOf2
-from hotdata.models.dataset_source_one_of3 import DatasetSourceOneOf3
-from hotdata.models.dataset_source_one_of4 import DatasetSourceOneOf4
-from hotdata.models.dataset_summary import DatasetSummary
-from hotdata.models.dataset_version_summary import DatasetVersionSummary
from hotdata.models.discovery_status import DiscoveryStatus
from hotdata.models.embedding_provider_response import EmbeddingProviderResponse
from hotdata.models.error import Error
from hotdata.models.execute_saved_query_request import ExecuteSavedQueryRequest
from hotdata.models.get_connection_response import GetConnectionResponse
from hotdata.models.get_database_context_response import GetDatabaseContextResponse
-from hotdata.models.get_dataset_response import GetDatasetResponse
from hotdata.models.get_result_response import GetResultResponse
from hotdata.models.get_secret_response import GetSecretResponse
from hotdata.models.index_entry_response import IndexEntryResponse
from hotdata.models.index_info_response import IndexInfoResponse
from hotdata.models.index_status import IndexStatus
from hotdata.models.information_schema_response import InformationSchemaResponse
-from hotdata.models.inline_data import InlineData
-from hotdata.models.inline_dataset_source import InlineDatasetSource
from hotdata.models.job_result import JobResult
from hotdata.models.job_status import JobStatus
from hotdata.models.job_status_response import JobStatusResponse
@@ -90,8 +76,6 @@
from hotdata.models.list_connections_response import ListConnectionsResponse
from hotdata.models.list_database_contexts_response import ListDatabaseContextsResponse
from hotdata.models.list_databases_response import ListDatabasesResponse
-from hotdata.models.list_dataset_versions_response import ListDatasetVersionsResponse
-from hotdata.models.list_datasets_response import ListDatasetsResponse
from hotdata.models.list_embedding_providers_response import ListEmbeddingProvidersResponse
from hotdata.models.list_indexes_page_response import ListIndexesPageResponse
from hotdata.models.list_indexes_response import ListIndexesResponse
@@ -111,19 +95,16 @@
from hotdata.models.query_request import QueryRequest
from hotdata.models.query_response import QueryResponse
from hotdata.models.query_run_info import QueryRunInfo
-from hotdata.models.refresh_dataset_response import RefreshDatasetResponse
from hotdata.models.refresh_request import RefreshRequest
from hotdata.models.refresh_response import RefreshResponse
from hotdata.models.refresh_warning import RefreshWarning
from hotdata.models.result_info import ResultInfo
from hotdata.models.results_format_query import ResultsFormatQuery
-from hotdata.models.saved_query_dataset_source import SavedQueryDatasetSource
from hotdata.models.saved_query_detail import SavedQueryDetail
from hotdata.models.saved_query_summary import SavedQuerySummary
from hotdata.models.saved_query_version_info import SavedQueryVersionInfo
from hotdata.models.schema_refresh_result import SchemaRefreshResult
from hotdata.models.secret_metadata_response import SecretMetadataResponse
-from hotdata.models.sql_query_dataset_source import SqlQueryDatasetSource
from hotdata.models.submit_job_response import SubmitJobResponse
from hotdata.models.table_info import TableInfo
from hotdata.models.table_profile_response import TableProfileResponse
@@ -131,19 +112,16 @@
from hotdata.models.table_refresh_result import TableRefreshResult
from hotdata.models.temporal_profile_detail import TemporalProfileDetail
from hotdata.models.text_profile_detail import TextProfileDetail
-from hotdata.models.update_dataset_request import UpdateDatasetRequest
-from hotdata.models.update_dataset_response import UpdateDatasetResponse
from hotdata.models.update_embedding_provider_request import UpdateEmbeddingProviderRequest
from hotdata.models.update_embedding_provider_response import UpdateEmbeddingProviderResponse
from hotdata.models.update_saved_query_request import UpdateSavedQueryRequest
from hotdata.models.update_secret_request import UpdateSecretRequest
from hotdata.models.update_secret_response import UpdateSecretResponse
-from hotdata.models.upload_dataset_source import UploadDatasetSource
from hotdata.models.upload_info import UploadInfo
from hotdata.models.upload_response import UploadResponse
from hotdata.models.upsert_database_context_request import UpsertDatabaseContextRequest
from hotdata.models.upsert_database_context_response import UpsertDatabaseContextResponse
-from hotdata.models.url_dataset_source import UrlDatasetSource
from hotdata.models.workspace_detail import WorkspaceDetail
from hotdata.models.workspace_list_item import WorkspaceListItem
+from hotdata.models.workspace_usage_response import WorkspaceUsageResponse
diff --git a/hotdata/models/column_type_spec.py b/hotdata/models/column_type_spec.py
deleted file mode 100644
index d5bebcc..0000000
--- a/hotdata/models/column_type_spec.py
+++ /dev/null
@@ -1,117 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
-from typing import Any, ClassVar, Dict, List, Optional
-from typing_extensions import Annotated
-from typing import Optional, Set
-from typing_extensions import Self
-
-class ColumnTypeSpec(BaseModel):
- """
- Detailed column type specification with optional properties.
- """ # noqa: E501
- geometry_type: Optional[StrictStr] = Field(default=None, description="Geometry type for GEOMETRY/GEOGRAPHY columns. E.g., \"Point\", \"LineString\", \"Polygon\", \"MultiPoint\", \"MultiLineString\", \"MultiPolygon\", \"GeometryCollection\", or \"Geometry\" (any).")
- precision: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Precision for DECIMAL type (1-38)")
- scale: Optional[StrictInt] = Field(default=None, description="Scale for DECIMAL type")
- srid: Optional[StrictInt] = Field(default=None, description="Spatial Reference System Identifier for GEOMETRY/GEOGRAPHY types. Common values: 4326 (WGS84), 3857 (Web Mercator).")
- type: StrictStr = Field(description="The data type name (e.g., \"DECIMAL\", \"TIMESTAMP\", \"GEOMETRY\")")
- __properties: ClassVar[List[str]] = ["geometry_type", "precision", "scale", "srid", "type"]
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of ColumnTypeSpec from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- # set to None if geometry_type (nullable) is None
- # and model_fields_set contains the field
- if self.geometry_type is None and "geometry_type" in self.model_fields_set:
- _dict['geometry_type'] = None
-
- # set to None if precision (nullable) is None
- # and model_fields_set contains the field
- if self.precision is None and "precision" in self.model_fields_set:
- _dict['precision'] = None
-
- # set to None if scale (nullable) is None
- # and model_fields_set contains the field
- if self.scale is None and "scale" in self.model_fields_set:
- _dict['scale'] = None
-
- # set to None if srid (nullable) is None
- # and model_fields_set contains the field
- if self.srid is None and "srid" in self.model_fields_set:
- _dict['srid'] = None
-
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of ColumnTypeSpec from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "geometry_type": obj.get("geometry_type"),
- "precision": obj.get("precision"),
- "scale": obj.get("scale"),
- "srid": obj.get("srid"),
- "type": obj.get("type")
- })
- return _obj
-
-
diff --git a/hotdata/models/create_database_request.py b/hotdata/models/create_database_request.py
index 73e77f5..93f8b42 100644
--- a/hotdata/models/create_database_request.py
+++ b/hotdata/models/create_database_request.py
@@ -28,7 +28,7 @@ class CreateDatabaseRequest(BaseModel):
"""
Request body for POST /databases
""" # noqa: E501
- default_catalog: Optional[StrictStr] = Field(default=None, description="Optional name the database's auto-created default catalog answers to inside its query scope. Must be a valid SQL identifier (`[a-z0-9_]`, not starting with a digit) and may not collide with the system catalogs `hotdata`, `datasets`, or `information_schema`. Defaults to `default` when omitted, so `default.main.` keeps working.")
+ default_catalog: Optional[StrictStr] = Field(default=None, description="Optional name the database's auto-created default catalog answers to inside its query scope. Must be a valid SQL identifier (`[a-z0-9_]`, not starting with a digit) and may not collide with the reserved catalog names `hotdata`, `datasets`, or `information_schema`. Defaults to `default` when omitted, so `default.main.` keeps working.")
expires_at: Optional[StrictStr] = Field(default=None, description="When this database expires. Accepts either an RFC 3339 timestamp (e.g. `\"2026-06-01T00:00:00Z\"`) or a relative duration suffixed with `h` (hours), `m` (minutes), or `d` (days) — for example `\"24h\"`, `\"48h\"`, or `\"7d\"`. Omitted (or empty) means 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.")
name: Optional[StrictStr] = Field(default=None, description="Optional free-form display label (for UIs/CLIs). Not unique. Not an identifier — databases are always addressed by `id`. Accepts the legacy `description` key as an alias so clients that predate the rename keep populating this field.")
schemas: Optional[List[DatabaseDefaultSchemaDecl]] = Field(default=None, description="Optional schemas/tables to declare on the database's auto-created default catalog. Tables declared here can be loaded via the standard managed-table load endpoint targeting `default_connection_id`. Omitted or empty means the default catalog starts empty.")
diff --git a/hotdata/models/create_dataset_request.py b/hotdata/models/create_dataset_request.py
deleted file mode 100644
index f70e5ee..0000000
--- a/hotdata/models/create_dataset_request.py
+++ /dev/null
@@ -1,101 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, Field, StrictStr
-from typing import Any, ClassVar, Dict, List, Optional
-from hotdata.models.dataset_source import DatasetSource
-from typing import Optional, Set
-from typing_extensions import Self
-
-class CreateDatasetRequest(BaseModel):
- """
- Request body for POST /v1/datasets
- """ # noqa: E501
- label: StrictStr
- source: DatasetSource
- table_name: Optional[StrictStr] = Field(default=None, description="Optional table_name - if not provided, derived from label")
- __properties: ClassVar[List[str]] = ["label", "source", "table_name"]
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of CreateDatasetRequest from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- # override the default output from pydantic by calling `to_dict()` of source
- if self.source:
- _dict['source'] = self.source.to_dict()
- # set to None if table_name (nullable) is None
- # and model_fields_set contains the field
- if self.table_name is None and "table_name" in self.model_fields_set:
- _dict['table_name'] = None
-
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of CreateDatasetRequest from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "label": obj.get("label"),
- "source": DatasetSource.from_dict(obj["source"]) if obj.get("source") is not None else None,
- "table_name": obj.get("table_name")
- })
- return _obj
-
-
diff --git a/hotdata/models/create_dataset_response.py b/hotdata/models/create_dataset_response.py
deleted file mode 100644
index a02f680..0000000
--- a/hotdata/models/create_dataset_response.py
+++ /dev/null
@@ -1,99 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from datetime import datetime
-from pydantic import BaseModel, ConfigDict, StrictStr
-from typing import Any, ClassVar, Dict, List
-from typing import Optional, Set
-from typing_extensions import Self
-
-class CreateDatasetResponse(BaseModel):
- """
- Response body for POST /v1/datasets
- """ # noqa: E501
- created_at: datetime
- id: StrictStr
- label: StrictStr
- schema_name: StrictStr
- status: StrictStr
- table_name: StrictStr
- __properties: ClassVar[List[str]] = ["created_at", "id", "label", "schema_name", "status", "table_name"]
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of CreateDatasetResponse from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of CreateDatasetResponse from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "created_at": obj.get("created_at"),
- "id": obj.get("id"),
- "label": obj.get("label"),
- "schema_name": obj.get("schema_name"),
- "status": obj.get("status"),
- "table_name": obj.get("table_name")
- })
- return _obj
-
-
diff --git a/hotdata/models/dataset_source.py b/hotdata/models/dataset_source.py
deleted file mode 100644
index 4a3ecfb..0000000
--- a/hotdata/models/dataset_source.py
+++ /dev/null
@@ -1,180 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import json
-import pprint
-from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
-from typing import Any, List, Optional
-from hotdata.models.dataset_source_one_of import DatasetSourceOneOf
-from hotdata.models.dataset_source_one_of1 import DatasetSourceOneOf1
-from hotdata.models.dataset_source_one_of2 import DatasetSourceOneOf2
-from hotdata.models.dataset_source_one_of3 import DatasetSourceOneOf3
-from hotdata.models.dataset_source_one_of4 import DatasetSourceOneOf4
-from pydantic import StrictStr, Field
-from typing import Union, List, Set, Optional, Dict
-from typing_extensions import Literal, Self
-
-DATASETSOURCE_ONE_OF_SCHEMAS = ["DatasetSourceOneOf", "DatasetSourceOneOf1", "DatasetSourceOneOf2", "DatasetSourceOneOf3", "DatasetSourceOneOf4"]
-
-class DatasetSource(BaseModel):
- """
- Dataset source specification. Internally tagged on `type`, e.g. `{\"type\": \"upload\", \"upload_id\": \"...\"}`. Discriminator values: `upload`, `saved_query`, `sql_query`, `url`, `inline`.
- """
- # data type: DatasetSourceOneOf
- oneof_schema_1_validator: Optional[DatasetSourceOneOf] = None
- # data type: DatasetSourceOneOf1
- oneof_schema_2_validator: Optional[DatasetSourceOneOf1] = None
- # data type: DatasetSourceOneOf2
- oneof_schema_3_validator: Optional[DatasetSourceOneOf2] = None
- # data type: DatasetSourceOneOf3
- oneof_schema_4_validator: Optional[DatasetSourceOneOf3] = None
- # data type: DatasetSourceOneOf4
- oneof_schema_5_validator: Optional[DatasetSourceOneOf4] = None
- actual_instance: Optional[Union[DatasetSourceOneOf, DatasetSourceOneOf1, DatasetSourceOneOf2, DatasetSourceOneOf3, DatasetSourceOneOf4]] = None
- one_of_schemas: Set[str] = { "DatasetSourceOneOf", "DatasetSourceOneOf1", "DatasetSourceOneOf2", "DatasetSourceOneOf3", "DatasetSourceOneOf4" }
-
- model_config = ConfigDict(
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def __init__(self, *args, **kwargs) -> None:
- if args:
- if len(args) > 1:
- raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
- if kwargs:
- raise ValueError("If a position argument is used, keyword arguments cannot be used.")
- super().__init__(actual_instance=args[0])
- else:
- super().__init__(**kwargs)
-
- @field_validator('actual_instance')
- def actual_instance_must_validate_oneof(cls, v):
- instance = DatasetSource.model_construct()
- error_messages = []
- match = 0
- # validate data type: DatasetSourceOneOf
- if not isinstance(v, DatasetSourceOneOf):
- error_messages.append(f"Error! Input type `{type(v)}` is not `DatasetSourceOneOf`")
- else:
- match += 1
- # validate data type: DatasetSourceOneOf1
- if not isinstance(v, DatasetSourceOneOf1):
- error_messages.append(f"Error! Input type `{type(v)}` is not `DatasetSourceOneOf1`")
- else:
- match += 1
- # validate data type: DatasetSourceOneOf2
- if not isinstance(v, DatasetSourceOneOf2):
- error_messages.append(f"Error! Input type `{type(v)}` is not `DatasetSourceOneOf2`")
- else:
- match += 1
- # validate data type: DatasetSourceOneOf3
- if not isinstance(v, DatasetSourceOneOf3):
- error_messages.append(f"Error! Input type `{type(v)}` is not `DatasetSourceOneOf3`")
- else:
- match += 1
- # validate data type: DatasetSourceOneOf4
- if not isinstance(v, DatasetSourceOneOf4):
- error_messages.append(f"Error! Input type `{type(v)}` is not `DatasetSourceOneOf4`")
- else:
- match += 1
- if match > 1:
- # more than 1 match
- raise ValueError("Multiple matches found when setting `actual_instance` in DatasetSource with oneOf schemas: DatasetSourceOneOf, DatasetSourceOneOf1, DatasetSourceOneOf2, DatasetSourceOneOf3, DatasetSourceOneOf4. Details: " + ", ".join(error_messages))
- elif match == 0:
- # no match
- raise ValueError("No match found when setting `actual_instance` in DatasetSource with oneOf schemas: DatasetSourceOneOf, DatasetSourceOneOf1, DatasetSourceOneOf2, DatasetSourceOneOf3, DatasetSourceOneOf4. Details: " + ", ".join(error_messages))
- else:
- return v
-
- @classmethod
- def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
- return cls.from_json(json.dumps(obj))
-
- @classmethod
- def from_json(cls, json_str: str) -> Self:
- """Returns the object represented by the json string"""
- instance = cls.model_construct()
- error_messages = []
- match = 0
-
- # deserialize data into DatasetSourceOneOf
- try:
- instance.actual_instance = DatasetSourceOneOf.from_json(json_str)
- match += 1
- except (ValidationError, ValueError) as e:
- error_messages.append(str(e))
- # deserialize data into DatasetSourceOneOf1
- try:
- instance.actual_instance = DatasetSourceOneOf1.from_json(json_str)
- match += 1
- except (ValidationError, ValueError) as e:
- error_messages.append(str(e))
- # deserialize data into DatasetSourceOneOf2
- try:
- instance.actual_instance = DatasetSourceOneOf2.from_json(json_str)
- match += 1
- except (ValidationError, ValueError) as e:
- error_messages.append(str(e))
- # deserialize data into DatasetSourceOneOf3
- try:
- instance.actual_instance = DatasetSourceOneOf3.from_json(json_str)
- match += 1
- except (ValidationError, ValueError) as e:
- error_messages.append(str(e))
- # deserialize data into DatasetSourceOneOf4
- try:
- instance.actual_instance = DatasetSourceOneOf4.from_json(json_str)
- match += 1
- except (ValidationError, ValueError) as e:
- error_messages.append(str(e))
-
- if match > 1:
- # more than 1 match
- raise ValueError("Multiple matches found when deserializing the JSON string into DatasetSource with oneOf schemas: DatasetSourceOneOf, DatasetSourceOneOf1, DatasetSourceOneOf2, DatasetSourceOneOf3, DatasetSourceOneOf4. Details: " + ", ".join(error_messages))
- elif match == 0:
- # no match
- raise ValueError("No match found when deserializing the JSON string into DatasetSource with oneOf schemas: DatasetSourceOneOf, DatasetSourceOneOf1, DatasetSourceOneOf2, DatasetSourceOneOf3, DatasetSourceOneOf4. Details: " + ", ".join(error_messages))
- else:
- return instance
-
- def to_json(self) -> str:
- """Returns the JSON representation of the actual instance"""
- if self.actual_instance is None:
- return "null"
-
- if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
- return self.actual_instance.to_json()
- else:
- return json.dumps(self.actual_instance)
-
- def to_dict(self) -> Optional[Union[Dict[str, Any], DatasetSourceOneOf, DatasetSourceOneOf1, DatasetSourceOneOf2, DatasetSourceOneOf3, DatasetSourceOneOf4]]:
- """Returns the dict representation of the actual instance"""
- if self.actual_instance is None:
- return None
-
- if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
- return self.actual_instance.to_dict()
- else:
- # primitive type
- return self.actual_instance
-
- def to_str(self) -> str:
- """Returns the string representation of the actual instance"""
- return pprint.pformat(self.model_dump())
-
-
diff --git a/hotdata/models/dataset_source_one_of.py b/hotdata/models/dataset_source_one_of.py
deleted file mode 100644
index 428883b..0000000
--- a/hotdata/models/dataset_source_one_of.py
+++ /dev/null
@@ -1,101 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
-from typing import Any, ClassVar, Dict, List, Optional
-from typing import Optional, Set
-from typing_extensions import Self
-
-class DatasetSourceOneOf(BaseModel):
- """
- DatasetSourceOneOf
- """ # noqa: E501
- columns: Optional[Dict[str, StrictStr]] = Field(default=None, description="Optional explicit column definitions. Keys are column names, values are type specs. When provided, the schema is built from these definitions instead of being inferred.")
- format: Optional[StrictStr] = None
- upload_id: StrictStr
- type: StrictStr
- __properties: ClassVar[List[str]] = ["columns", "format", "upload_id", "type"]
-
- @field_validator('type')
- def type_validate_enum(cls, value):
- """Validates the enum"""
- if value not in set(['upload']):
- raise ValueError("must be one of enum values ('upload')")
- return value
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of DatasetSourceOneOf from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of DatasetSourceOneOf from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "columns": obj.get("columns"),
- "format": obj.get("format"),
- "upload_id": obj.get("upload_id"),
- "type": obj.get("type")
- })
- return _obj
-
-
diff --git a/hotdata/models/dataset_source_one_of1.py b/hotdata/models/dataset_source_one_of1.py
deleted file mode 100644
index 45fd516..0000000
--- a/hotdata/models/dataset_source_one_of1.py
+++ /dev/null
@@ -1,99 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr, field_validator
-from typing import Any, ClassVar, Dict, List, Optional
-from typing import Optional, Set
-from typing_extensions import Self
-
-class DatasetSourceOneOf1(BaseModel):
- """
- DatasetSourceOneOf1
- """ # noqa: E501
- saved_query_id: StrictStr
- version: Optional[StrictInt] = None
- type: StrictStr
- __properties: ClassVar[List[str]] = ["saved_query_id", "version", "type"]
-
- @field_validator('type')
- def type_validate_enum(cls, value):
- """Validates the enum"""
- if value not in set(['saved_query']):
- raise ValueError("must be one of enum values ('saved_query')")
- return value
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of DatasetSourceOneOf1 from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of DatasetSourceOneOf1 from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "saved_query_id": obj.get("saved_query_id"),
- "version": obj.get("version"),
- "type": obj.get("type")
- })
- return _obj
-
-
diff --git a/hotdata/models/dataset_source_one_of2.py b/hotdata/models/dataset_source_one_of2.py
deleted file mode 100644
index c9227f2..0000000
--- a/hotdata/models/dataset_source_one_of2.py
+++ /dev/null
@@ -1,101 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
-from typing import Any, ClassVar, Dict, List, Optional
-from typing import Optional, Set
-from typing_extensions import Self
-
-class DatasetSourceOneOf2(BaseModel):
- """
- DatasetSourceOneOf2
- """ # noqa: E501
- description: Optional[StrictStr] = Field(default=None, description="Optional description for the auto-created saved query.")
- name: Optional[StrictStr] = Field(default=None, description="Optional name for the auto-created saved query. Defaults to the dataset label.")
- sql: StrictStr
- type: StrictStr
- __properties: ClassVar[List[str]] = ["description", "name", "sql", "type"]
-
- @field_validator('type')
- def type_validate_enum(cls, value):
- """Validates the enum"""
- if value not in set(['sql_query']):
- raise ValueError("must be one of enum values ('sql_query')")
- return value
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of DatasetSourceOneOf2 from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of DatasetSourceOneOf2 from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "description": obj.get("description"),
- "name": obj.get("name"),
- "sql": obj.get("sql"),
- "type": obj.get("type")
- })
- return _obj
-
-
diff --git a/hotdata/models/dataset_source_one_of3.py b/hotdata/models/dataset_source_one_of3.py
deleted file mode 100644
index a21f03b..0000000
--- a/hotdata/models/dataset_source_one_of3.py
+++ /dev/null
@@ -1,101 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
-from typing import Any, ClassVar, Dict, List, Optional
-from typing import Optional, Set
-from typing_extensions import Self
-
-class DatasetSourceOneOf3(BaseModel):
- """
- DatasetSourceOneOf3
- """ # noqa: E501
- columns: Optional[Dict[str, StrictStr]] = Field(default=None, description="Optional explicit column definitions. Keys are column names, values are type specs.")
- format: Optional[StrictStr] = None
- url: StrictStr
- type: StrictStr
- __properties: ClassVar[List[str]] = ["columns", "format", "url", "type"]
-
- @field_validator('type')
- def type_validate_enum(cls, value):
- """Validates the enum"""
- if value not in set(['url']):
- raise ValueError("must be one of enum values ('url')")
- return value
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of DatasetSourceOneOf3 from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of DatasetSourceOneOf3 from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "columns": obj.get("columns"),
- "format": obj.get("format"),
- "url": obj.get("url"),
- "type": obj.get("type")
- })
- return _obj
-
-
diff --git a/hotdata/models/dataset_source_one_of4.py b/hotdata/models/dataset_source_one_of4.py
deleted file mode 100644
index 463d298..0000000
--- a/hotdata/models/dataset_source_one_of4.py
+++ /dev/null
@@ -1,101 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, StrictStr, field_validator
-from typing import Any, ClassVar, Dict, List
-from hotdata.models.inline_data import InlineData
-from typing import Optional, Set
-from typing_extensions import Self
-
-class DatasetSourceOneOf4(BaseModel):
- """
- DatasetSourceOneOf4
- """ # noqa: E501
- inline: InlineData
- type: StrictStr
- __properties: ClassVar[List[str]] = ["inline", "type"]
-
- @field_validator('type')
- def type_validate_enum(cls, value):
- """Validates the enum"""
- if value not in set(['inline']):
- raise ValueError("must be one of enum values ('inline')")
- return value
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of DatasetSourceOneOf4 from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- # override the default output from pydantic by calling `to_dict()` of inline
- if self.inline:
- _dict['inline'] = self.inline.to_dict()
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of DatasetSourceOneOf4 from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "inline": InlineData.from_dict(obj["inline"]) if obj.get("inline") is not None else None,
- "type": obj.get("type")
- })
- return _obj
-
-
diff --git a/hotdata/models/dataset_version_summary.py b/hotdata/models/dataset_version_summary.py
deleted file mode 100644
index 7dfa1bd..0000000
--- a/hotdata/models/dataset_version_summary.py
+++ /dev/null
@@ -1,95 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from datetime import datetime
-from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
-from typing import Any, ClassVar, Dict, List
-from typing import Optional, Set
-from typing_extensions import Self
-
-class DatasetVersionSummary(BaseModel):
- """
- Dataset version summary
- """ # noqa: E501
- created_at: datetime
- id: StrictStr
- source_type: StrictStr
- version: StrictInt
- __properties: ClassVar[List[str]] = ["created_at", "id", "source_type", "version"]
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of DatasetVersionSummary from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of DatasetVersionSummary from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "created_at": obj.get("created_at"),
- "id": obj.get("id"),
- "source_type": obj.get("source_type"),
- "version": obj.get("version")
- })
- return _obj
-
-
diff --git a/hotdata/models/get_dataset_response.py b/hotdata/models/get_dataset_response.py
deleted file mode 100644
index 6fc3d5f..0000000
--- a/hotdata/models/get_dataset_response.py
+++ /dev/null
@@ -1,120 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from datetime import datetime
-from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
-from typing import Any, ClassVar, Dict, List, Optional
-from hotdata.models.column_info import ColumnInfo
-from typing import Optional, Set
-from typing_extensions import Self
-
-class GetDatasetResponse(BaseModel):
- """
- Response body for GET /v1/datasets/{id}
- """ # noqa: E501
- columns: List[ColumnInfo]
- created_at: datetime
- id: StrictStr
- label: StrictStr
- latest_version: StrictInt
- pinned_version: Optional[StrictInt] = None
- schema_name: StrictStr
- source_type: StrictStr
- table_name: StrictStr
- updated_at: datetime
- __properties: ClassVar[List[str]] = ["columns", "created_at", "id", "label", "latest_version", "pinned_version", "schema_name", "source_type", "table_name", "updated_at"]
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of GetDatasetResponse from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- # override the default output from pydantic by calling `to_dict()` of each item in columns (list)
- _items = []
- if self.columns:
- for _item_columns in self.columns:
- if _item_columns:
- _items.append(_item_columns.to_dict())
- _dict['columns'] = _items
- # set to None if pinned_version (nullable) is None
- # and model_fields_set contains the field
- if self.pinned_version is None and "pinned_version" in self.model_fields_set:
- _dict['pinned_version'] = None
-
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of GetDatasetResponse from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "columns": [ColumnInfo.from_dict(_item) for _item in obj["columns"]] if obj.get("columns") is not None else None,
- "created_at": obj.get("created_at"),
- "id": obj.get("id"),
- "label": obj.get("label"),
- "latest_version": obj.get("latest_version"),
- "pinned_version": obj.get("pinned_version"),
- "schema_name": obj.get("schema_name"),
- "source_type": obj.get("source_type"),
- "table_name": obj.get("table_name"),
- "updated_at": obj.get("updated_at")
- })
- return _obj
-
-
diff --git a/hotdata/models/index_entry_response.py b/hotdata/models/index_entry_response.py
index 3cb7a23..4105c04 100644
--- a/hotdata/models/index_entry_response.py
+++ b/hotdata/models/index_entry_response.py
@@ -34,12 +34,13 @@ class IndexEntryResponse(BaseModel):
index_name: StrictStr
index_type: StrictStr
metric: Optional[StrictStr] = Field(default=None, description="Distance metric this index was built with. Only present for vector indexes.")
+ source_column: Optional[StrictStr] = Field(default=None, description="Source text column for an embedding-backed vector index. A query searches it via `vector_distance(, …)`; the indexed `columns` hold the generated embedding column instead. Absent for BM25, sorted, and direct (existing-column) vector indexes.")
status: IndexStatus
updated_at: datetime
connection_id: Optional[StrictStr] = None
schema_name: StrictStr
table_name: StrictStr
- __properties: ClassVar[List[str]] = ["columns", "created_at", "index_name", "index_type", "metric", "status", "updated_at", "connection_id", "schema_name", "table_name"]
+ __properties: ClassVar[List[str]] = ["columns", "created_at", "index_name", "index_type", "metric", "source_column", "status", "updated_at", "connection_id", "schema_name", "table_name"]
model_config = ConfigDict(
populate_by_name=True,
@@ -102,6 +103,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"index_name": obj.get("index_name"),
"index_type": obj.get("index_type"),
"metric": obj.get("metric"),
+ "source_column": obj.get("source_column"),
"status": obj.get("status"),
"updated_at": obj.get("updated_at"),
"connection_id": obj.get("connection_id"),
diff --git a/hotdata/models/index_info_response.py b/hotdata/models/index_info_response.py
index 72f9d62..a428063 100644
--- a/hotdata/models/index_info_response.py
+++ b/hotdata/models/index_info_response.py
@@ -34,9 +34,10 @@ class IndexInfoResponse(BaseModel):
index_name: StrictStr
index_type: StrictStr
metric: Optional[StrictStr] = Field(default=None, description="Distance metric this index was built with. Only present for vector indexes.")
+ source_column: Optional[StrictStr] = Field(default=None, description="Source text column for an embedding-backed vector index. A query searches it via `vector_distance(, …)`; the indexed `columns` hold the generated embedding column instead. Absent for BM25, sorted, and direct (existing-column) vector indexes.")
status: IndexStatus
updated_at: datetime
- __properties: ClassVar[List[str]] = ["columns", "created_at", "index_name", "index_type", "metric", "status", "updated_at"]
+ __properties: ClassVar[List[str]] = ["columns", "created_at", "index_name", "index_type", "metric", "source_column", "status", "updated_at"]
model_config = ConfigDict(
populate_by_name=True,
@@ -82,6 +83,11 @@ def to_dict(self) -> Dict[str, Any]:
if self.metric is None and "metric" in self.model_fields_set:
_dict['metric'] = None
+ # set to None if source_column (nullable) is None
+ # and model_fields_set contains the field
+ if self.source_column is None and "source_column" in self.model_fields_set:
+ _dict['source_column'] = None
+
return _dict
@classmethod
@@ -99,6 +105,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"index_name": obj.get("index_name"),
"index_type": obj.get("index_type"),
"metric": obj.get("metric"),
+ "source_column": obj.get("source_column"),
"status": obj.get("status"),
"updated_at": obj.get("updated_at")
})
diff --git a/hotdata/models/inline_data.py b/hotdata/models/inline_data.py
deleted file mode 100644
index bf2d32b..0000000
--- a/hotdata/models/inline_data.py
+++ /dev/null
@@ -1,92 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, Field, StrictStr
-from typing import Any, ClassVar, Dict, List, Optional
-from typing import Optional, Set
-from typing_extensions import Self
-
-class InlineData(BaseModel):
- """
- Inline data specification
- """ # noqa: E501
- columns: Optional[Dict[str, StrictStr]] = Field(default=None, description="Optional explicit column definitions. Keys are column names, values are type specs. When provided, the schema is built from these definitions instead of being inferred.")
- content: StrictStr
- format: StrictStr
- __properties: ClassVar[List[str]] = ["columns", "content", "format"]
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of InlineData from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of InlineData from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "columns": obj.get("columns"),
- "content": obj.get("content"),
- "format": obj.get("format")
- })
- return _obj
-
-
diff --git a/hotdata/models/inline_dataset_source.py b/hotdata/models/inline_dataset_source.py
deleted file mode 100644
index d1a4c00..0000000
--- a/hotdata/models/inline_dataset_source.py
+++ /dev/null
@@ -1,92 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict
-from typing import Any, ClassVar, Dict, List
-from hotdata.models.inline_data import InlineData
-from typing import Optional, Set
-from typing_extensions import Self
-
-class InlineDatasetSource(BaseModel):
- """
- Create dataset from inline data (small payloads)
- """ # noqa: E501
- inline: InlineData
- __properties: ClassVar[List[str]] = ["inline"]
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of InlineDatasetSource from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- # override the default output from pydantic by calling `to_dict()` of inline
- if self.inline:
- _dict['inline'] = self.inline.to_dict()
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of InlineDatasetSource from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "inline": InlineData.from_dict(obj["inline"]) if obj.get("inline") is not None else None
- })
- return _obj
-
-
diff --git a/hotdata/models/job_result.py b/hotdata/models/job_result.py
index 15d2778..ec31472 100644
--- a/hotdata/models/job_result.py
+++ b/hotdata/models/job_result.py
@@ -20,13 +20,12 @@
from typing import Any, List, Optional
from hotdata.models.connection_refresh_result import ConnectionRefreshResult
from hotdata.models.index_info_response import IndexInfoResponse
-from hotdata.models.refresh_dataset_response import RefreshDatasetResponse
from hotdata.models.table_refresh_result import TableRefreshResult
from pydantic import StrictStr, Field
from typing import Union, List, Set, Optional, Dict
from typing_extensions import Literal, Self
-JOBRESULT_ONE_OF_SCHEMAS = ["ConnectionRefreshResult", "IndexInfoResponse", "RefreshDatasetResponse", "TableRefreshResult"]
+JOBRESULT_ONE_OF_SCHEMAS = ["ConnectionRefreshResult", "IndexInfoResponse", "TableRefreshResult"]
class JobResult(BaseModel):
"""
@@ -36,12 +35,10 @@ class JobResult(BaseModel):
oneof_schema_1_validator: Optional[TableRefreshResult] = Field(default=None, description="Result of a single table data refresh.")
# data type: ConnectionRefreshResult
oneof_schema_2_validator: Optional[ConnectionRefreshResult] = Field(default=None, description="Result of a connection-wide data refresh.")
- # data type: RefreshDatasetResponse
- oneof_schema_3_validator: Optional[RefreshDatasetResponse] = Field(default=None, description="Result of a dataset refresh.")
# data type: IndexInfoResponse
- oneof_schema_4_validator: Optional[IndexInfoResponse] = Field(default=None, description="Result of an index creation.")
- actual_instance: Optional[Union[ConnectionRefreshResult, IndexInfoResponse, RefreshDatasetResponse, TableRefreshResult]] = None
- one_of_schemas: Set[str] = { "ConnectionRefreshResult", "IndexInfoResponse", "RefreshDatasetResponse", "TableRefreshResult" }
+ oneof_schema_3_validator: Optional[IndexInfoResponse] = Field(default=None, description="Result of an index creation.")
+ actual_instance: Optional[Union[ConnectionRefreshResult, IndexInfoResponse, TableRefreshResult]] = None
+ one_of_schemas: Set[str] = { "ConnectionRefreshResult", "IndexInfoResponse", "TableRefreshResult" }
model_config = ConfigDict(
validate_assignment=True,
@@ -74,11 +71,6 @@ def actual_instance_must_validate_oneof(cls, v):
error_messages.append(f"Error! Input type `{type(v)}` is not `ConnectionRefreshResult`")
else:
match += 1
- # validate data type: RefreshDatasetResponse
- if not isinstance(v, RefreshDatasetResponse):
- error_messages.append(f"Error! Input type `{type(v)}` is not `RefreshDatasetResponse`")
- else:
- match += 1
# validate data type: IndexInfoResponse
if not isinstance(v, IndexInfoResponse):
error_messages.append(f"Error! Input type `{type(v)}` is not `IndexInfoResponse`")
@@ -86,10 +78,10 @@ def actual_instance_must_validate_oneof(cls, v):
match += 1
if match > 1:
# more than 1 match
- raise ValueError("Multiple matches found when setting `actual_instance` in JobResult with oneOf schemas: ConnectionRefreshResult, IndexInfoResponse, RefreshDatasetResponse, TableRefreshResult. Details: " + ", ".join(error_messages))
+ raise ValueError("Multiple matches found when setting `actual_instance` in JobResult with oneOf schemas: ConnectionRefreshResult, IndexInfoResponse, TableRefreshResult. Details: " + ", ".join(error_messages))
elif match == 0:
# no match
- raise ValueError("No match found when setting `actual_instance` in JobResult with oneOf schemas: ConnectionRefreshResult, IndexInfoResponse, RefreshDatasetResponse, TableRefreshResult. Details: " + ", ".join(error_messages))
+ raise ValueError("No match found when setting `actual_instance` in JobResult with oneOf schemas: ConnectionRefreshResult, IndexInfoResponse, TableRefreshResult. Details: " + ", ".join(error_messages))
else:
return v
@@ -116,12 +108,6 @@ def from_json(cls, json_str: str) -> Self:
match += 1
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
- # deserialize data into RefreshDatasetResponse
- try:
- instance.actual_instance = RefreshDatasetResponse.from_json(json_str)
- match += 1
- except (ValidationError, ValueError) as e:
- error_messages.append(str(e))
# deserialize data into IndexInfoResponse
try:
instance.actual_instance = IndexInfoResponse.from_json(json_str)
@@ -131,10 +117,10 @@ def from_json(cls, json_str: str) -> Self:
if match > 1:
# more than 1 match
- raise ValueError("Multiple matches found when deserializing the JSON string into JobResult with oneOf schemas: ConnectionRefreshResult, IndexInfoResponse, RefreshDatasetResponse, TableRefreshResult. Details: " + ", ".join(error_messages))
+ raise ValueError("Multiple matches found when deserializing the JSON string into JobResult with oneOf schemas: ConnectionRefreshResult, IndexInfoResponse, TableRefreshResult. Details: " + ", ".join(error_messages))
elif match == 0:
# no match
- raise ValueError("No match found when deserializing the JSON string into JobResult with oneOf schemas: ConnectionRefreshResult, IndexInfoResponse, RefreshDatasetResponse, TableRefreshResult. Details: " + ", ".join(error_messages))
+ raise ValueError("No match found when deserializing the JSON string into JobResult with oneOf schemas: ConnectionRefreshResult, IndexInfoResponse, TableRefreshResult. Details: " + ", ".join(error_messages))
else:
return instance
@@ -148,7 +134,7 @@ def to_json(self) -> str:
else:
return json.dumps(self.actual_instance)
- def to_dict(self) -> Optional[Union[Dict[str, Any], ConnectionRefreshResult, IndexInfoResponse, RefreshDatasetResponse, TableRefreshResult]]:
+ def to_dict(self) -> Optional[Union[Dict[str, Any], ConnectionRefreshResult, IndexInfoResponse, TableRefreshResult]]:
"""Returns the dict representation of the actual instance"""
if self.actual_instance is None:
return None
diff --git a/hotdata/models/job_type.py b/hotdata/models/job_type.py
index 2c51146..f9ef5da 100644
--- a/hotdata/models/job_type.py
+++ b/hotdata/models/job_type.py
@@ -30,9 +30,7 @@ class JobType(str, Enum):
NOOP = 'noop'
DATA_REFRESH_TABLE = 'data_refresh_table'
DATA_REFRESH_CONNECTION = 'data_refresh_connection'
- DATASET_REFRESH = 'dataset_refresh'
CREATE_INDEX = 'create_index'
- CREATE_DATASET_INDEX = 'create_dataset_index'
MANAGED_LOAD = 'managed_load'
@classmethod
diff --git a/hotdata/models/list_dataset_versions_response.py b/hotdata/models/list_dataset_versions_response.py
deleted file mode 100644
index 6ec6618..0000000
--- a/hotdata/models/list_dataset_versions_response.py
+++ /dev/null
@@ -1,107 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
-from typing import Any, ClassVar, Dict, List
-from typing_extensions import Annotated
-from hotdata.models.dataset_version_summary import DatasetVersionSummary
-from typing import Optional, Set
-from typing_extensions import Self
-
-class ListDatasetVersionsResponse(BaseModel):
- """
- Response body for GET /v1/datasets/{id}/versions
- """ # noqa: E501
- count: Annotated[int, Field(strict=True, ge=0)]
- dataset_id: StrictStr
- has_more: StrictBool
- limit: Annotated[int, Field(strict=True, ge=0)]
- offset: Annotated[int, Field(strict=True, ge=0)]
- versions: List[DatasetVersionSummary]
- __properties: ClassVar[List[str]] = ["count", "dataset_id", "has_more", "limit", "offset", "versions"]
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of ListDatasetVersionsResponse from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- # override the default output from pydantic by calling `to_dict()` of each item in versions (list)
- _items = []
- if self.versions:
- for _item_versions in self.versions:
- if _item_versions:
- _items.append(_item_versions.to_dict())
- _dict['versions'] = _items
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of ListDatasetVersionsResponse from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "count": obj.get("count"),
- "dataset_id": obj.get("dataset_id"),
- "has_more": obj.get("has_more"),
- "limit": obj.get("limit"),
- "offset": obj.get("offset"),
- "versions": [DatasetVersionSummary.from_dict(_item) for _item in obj["versions"]] if obj.get("versions") is not None else None
- })
- return _obj
-
-
diff --git a/hotdata/models/list_datasets_response.py b/hotdata/models/list_datasets_response.py
deleted file mode 100644
index 0fe049f..0000000
--- a/hotdata/models/list_datasets_response.py
+++ /dev/null
@@ -1,105 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, Field, StrictBool
-from typing import Any, ClassVar, Dict, List
-from typing_extensions import Annotated
-from hotdata.models.dataset_summary import DatasetSummary
-from typing import Optional, Set
-from typing_extensions import Self
-
-class ListDatasetsResponse(BaseModel):
- """
- Response body for GET /v1/datasets
- """ # noqa: E501
- count: Annotated[int, Field(strict=True, ge=0)] = Field(description="Number of datasets returned in this response")
- datasets: List[DatasetSummary]
- has_more: StrictBool = Field(description="Whether there are more datasets available after this page")
- limit: Annotated[int, Field(strict=True, ge=0)] = Field(description="Limit used for this request")
- offset: Annotated[int, Field(strict=True, ge=0)] = Field(description="Pagination offset used for this request")
- __properties: ClassVar[List[str]] = ["count", "datasets", "has_more", "limit", "offset"]
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of ListDatasetsResponse from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- # override the default output from pydantic by calling `to_dict()` of each item in datasets (list)
- _items = []
- if self.datasets:
- for _item_datasets in self.datasets:
- if _item_datasets:
- _items.append(_item_datasets.to_dict())
- _dict['datasets'] = _items
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of ListDatasetsResponse from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "count": obj.get("count"),
- "datasets": [DatasetSummary.from_dict(_item) for _item in obj["datasets"]] if obj.get("datasets") is not None else None,
- "has_more": obj.get("has_more"),
- "limit": obj.get("limit"),
- "offset": obj.get("offset")
- })
- return _obj
-
-
diff --git a/hotdata/models/refresh_dataset_response.py b/hotdata/models/refresh_dataset_response.py
deleted file mode 100644
index 3fff2fa..0000000
--- a/hotdata/models/refresh_dataset_response.py
+++ /dev/null
@@ -1,95 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from datetime import datetime
-from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
-from typing import Any, ClassVar, Dict, List
-from typing import Optional, Set
-from typing_extensions import Self
-
-class RefreshDatasetResponse(BaseModel):
- """
- Response body for POST /v1/datasets/{id}/refresh
- """ # noqa: E501
- created_at: datetime
- id: StrictStr
- status: StrictStr
- version: StrictInt
- __properties: ClassVar[List[str]] = ["created_at", "id", "status", "version"]
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of RefreshDatasetResponse from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of RefreshDatasetResponse from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "created_at": obj.get("created_at"),
- "id": obj.get("id"),
- "status": obj.get("status"),
- "version": obj.get("version")
- })
- return _obj
-
-
diff --git a/hotdata/models/refresh_request.py b/hotdata/models/refresh_request.py
index 1c423cb..31374d2 100644
--- a/hotdata/models/refresh_request.py
+++ b/hotdata/models/refresh_request.py
@@ -30,11 +30,10 @@ class RefreshRequest(BaseModel):
var_async: Optional[StrictBool] = Field(default=None, description="When true, submit the refresh as a background job and return immediately with a job ID for status polling. Only supported for data refresh operations.", alias="async")
connection_id: Optional[StrictStr] = None
data: Optional[StrictBool] = None
- dataset_id: Optional[StrictStr] = None
include_uncached: Optional[StrictBool] = Field(default=None, description="Controls whether uncached tables are included in connection-wide data refresh. - `false` (default): Only refresh tables that already have cached data. This is the common case for keeping existing data up-to-date. - `true`: Also sync tables that haven't been cached yet, essentially performing an initial sync for any new tables discovered since the connection was created. This field only applies to connection-wide data refresh (when `data=true` and `table_name` is not specified). It has no effect on single-table refresh or schema refresh operations.")
schema_name: Optional[StrictStr] = None
table_name: Optional[StrictStr] = None
- __properties: ClassVar[List[str]] = ["async", "connection_id", "data", "dataset_id", "include_uncached", "schema_name", "table_name"]
+ __properties: ClassVar[List[str]] = ["async", "connection_id", "data", "include_uncached", "schema_name", "table_name"]
model_config = ConfigDict(
populate_by_name=True,
@@ -80,11 +79,6 @@ def to_dict(self) -> Dict[str, Any]:
if self.connection_id is None and "connection_id" in self.model_fields_set:
_dict['connection_id'] = None
- # set to None if dataset_id (nullable) is None
- # and model_fields_set contains the field
- if self.dataset_id is None and "dataset_id" in self.model_fields_set:
- _dict['dataset_id'] = None
-
# set to None if schema_name (nullable) is None
# and model_fields_set contains the field
if self.schema_name is None and "schema_name" in self.model_fields_set:
@@ -110,7 +104,6 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"async": obj.get("async"),
"connection_id": obj.get("connection_id"),
"data": obj.get("data"),
- "dataset_id": obj.get("dataset_id"),
"include_uncached": obj.get("include_uncached"),
"schema_name": obj.get("schema_name"),
"table_name": obj.get("table_name")
diff --git a/hotdata/models/refresh_response.py b/hotdata/models/refresh_response.py
index 37e6511..16760cf 100644
--- a/hotdata/models/refresh_response.py
+++ b/hotdata/models/refresh_response.py
@@ -19,7 +19,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
from typing import Any, List, Optional
from hotdata.models.connection_refresh_result import ConnectionRefreshResult
-from hotdata.models.refresh_dataset_response import RefreshDatasetResponse
from hotdata.models.schema_refresh_result import SchemaRefreshResult
from hotdata.models.submit_job_response import SubmitJobResponse
from hotdata.models.table_refresh_result import TableRefreshResult
@@ -27,7 +26,7 @@
from typing import Union, List, Set, Optional, Dict
from typing_extensions import Literal, Self
-REFRESHRESPONSE_ONE_OF_SCHEMAS = ["ConnectionRefreshResult", "RefreshDatasetResponse", "SchemaRefreshResult", "SubmitJobResponse", "TableRefreshResult"]
+REFRESHRESPONSE_ONE_OF_SCHEMAS = ["ConnectionRefreshResult", "SchemaRefreshResult", "SubmitJobResponse", "TableRefreshResult"]
class RefreshResponse(BaseModel):
"""
@@ -39,12 +38,10 @@ class RefreshResponse(BaseModel):
oneof_schema_2_validator: Optional[TableRefreshResult] = None
# data type: ConnectionRefreshResult
oneof_schema_3_validator: Optional[ConnectionRefreshResult] = None
- # data type: RefreshDatasetResponse
- oneof_schema_4_validator: Optional[RefreshDatasetResponse] = None
# data type: SubmitJobResponse
- oneof_schema_5_validator: Optional[SubmitJobResponse] = None
- actual_instance: Optional[Union[ConnectionRefreshResult, RefreshDatasetResponse, SchemaRefreshResult, SubmitJobResponse, TableRefreshResult]] = None
- one_of_schemas: Set[str] = { "ConnectionRefreshResult", "RefreshDatasetResponse", "SchemaRefreshResult", "SubmitJobResponse", "TableRefreshResult" }
+ oneof_schema_4_validator: Optional[SubmitJobResponse] = None
+ actual_instance: Optional[Union[ConnectionRefreshResult, SchemaRefreshResult, SubmitJobResponse, TableRefreshResult]] = None
+ one_of_schemas: Set[str] = { "ConnectionRefreshResult", "SchemaRefreshResult", "SubmitJobResponse", "TableRefreshResult" }
model_config = ConfigDict(
validate_assignment=True,
@@ -82,11 +79,6 @@ def actual_instance_must_validate_oneof(cls, v):
error_messages.append(f"Error! Input type `{type(v)}` is not `ConnectionRefreshResult`")
else:
match += 1
- # validate data type: RefreshDatasetResponse
- if not isinstance(v, RefreshDatasetResponse):
- error_messages.append(f"Error! Input type `{type(v)}` is not `RefreshDatasetResponse`")
- else:
- match += 1
# validate data type: SubmitJobResponse
if not isinstance(v, SubmitJobResponse):
error_messages.append(f"Error! Input type `{type(v)}` is not `SubmitJobResponse`")
@@ -94,10 +86,10 @@ def actual_instance_must_validate_oneof(cls, v):
match += 1
if match > 1:
# more than 1 match
- raise ValueError("Multiple matches found when setting `actual_instance` in RefreshResponse with oneOf schemas: ConnectionRefreshResult, RefreshDatasetResponse, SchemaRefreshResult, SubmitJobResponse, TableRefreshResult. Details: " + ", ".join(error_messages))
+ raise ValueError("Multiple matches found when setting `actual_instance` in RefreshResponse with oneOf schemas: ConnectionRefreshResult, SchemaRefreshResult, SubmitJobResponse, TableRefreshResult. Details: " + ", ".join(error_messages))
elif match == 0:
# no match
- raise ValueError("No match found when setting `actual_instance` in RefreshResponse with oneOf schemas: ConnectionRefreshResult, RefreshDatasetResponse, SchemaRefreshResult, SubmitJobResponse, TableRefreshResult. Details: " + ", ".join(error_messages))
+ raise ValueError("No match found when setting `actual_instance` in RefreshResponse with oneOf schemas: ConnectionRefreshResult, SchemaRefreshResult, SubmitJobResponse, TableRefreshResult. Details: " + ", ".join(error_messages))
else:
return v
@@ -130,12 +122,6 @@ def from_json(cls, json_str: str) -> Self:
match += 1
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
- # deserialize data into RefreshDatasetResponse
- try:
- instance.actual_instance = RefreshDatasetResponse.from_json(json_str)
- match += 1
- except (ValidationError, ValueError) as e:
- error_messages.append(str(e))
# deserialize data into SubmitJobResponse
try:
instance.actual_instance = SubmitJobResponse.from_json(json_str)
@@ -145,10 +131,10 @@ def from_json(cls, json_str: str) -> Self:
if match > 1:
# more than 1 match
- raise ValueError("Multiple matches found when deserializing the JSON string into RefreshResponse with oneOf schemas: ConnectionRefreshResult, RefreshDatasetResponse, SchemaRefreshResult, SubmitJobResponse, TableRefreshResult. Details: " + ", ".join(error_messages))
+ raise ValueError("Multiple matches found when deserializing the JSON string into RefreshResponse with oneOf schemas: ConnectionRefreshResult, SchemaRefreshResult, SubmitJobResponse, TableRefreshResult. Details: " + ", ".join(error_messages))
elif match == 0:
# no match
- raise ValueError("No match found when deserializing the JSON string into RefreshResponse with oneOf schemas: ConnectionRefreshResult, RefreshDatasetResponse, SchemaRefreshResult, SubmitJobResponse, TableRefreshResult. Details: " + ", ".join(error_messages))
+ raise ValueError("No match found when deserializing the JSON string into RefreshResponse with oneOf schemas: ConnectionRefreshResult, SchemaRefreshResult, SubmitJobResponse, TableRefreshResult. Details: " + ", ".join(error_messages))
else:
return instance
@@ -162,7 +148,7 @@ def to_json(self) -> str:
else:
return json.dumps(self.actual_instance)
- def to_dict(self) -> Optional[Union[Dict[str, Any], ConnectionRefreshResult, RefreshDatasetResponse, SchemaRefreshResult, SubmitJobResponse, TableRefreshResult]]:
+ def to_dict(self) -> Optional[Union[Dict[str, Any], ConnectionRefreshResult, SchemaRefreshResult, SubmitJobResponse, TableRefreshResult]]:
"""Returns the dict representation of the actual instance"""
if self.actual_instance is None:
return None
diff --git a/hotdata/models/saved_query_dataset_source.py b/hotdata/models/saved_query_dataset_source.py
deleted file mode 100644
index 6d839b8..0000000
--- a/hotdata/models/saved_query_dataset_source.py
+++ /dev/null
@@ -1,95 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
-from typing import Any, ClassVar, Dict, List, Optional
-from typing import Optional, Set
-from typing_extensions import Self
-
-class SavedQueryDatasetSource(BaseModel):
- """
- Create dataset from a saved query result
- """ # noqa: E501
- saved_query_id: StrictStr
- version: Optional[StrictInt] = None
- __properties: ClassVar[List[str]] = ["saved_query_id", "version"]
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of SavedQueryDatasetSource from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- # set to None if version (nullable) is None
- # and model_fields_set contains the field
- if self.version is None and "version" in self.model_fields_set:
- _dict['version'] = None
-
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of SavedQueryDatasetSource from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "saved_query_id": obj.get("saved_query_id"),
- "version": obj.get("version")
- })
- return _obj
-
-
diff --git a/hotdata/models/sql_query_dataset_source.py b/hotdata/models/sql_query_dataset_source.py
deleted file mode 100644
index 5b21407..0000000
--- a/hotdata/models/sql_query_dataset_source.py
+++ /dev/null
@@ -1,102 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, Field, StrictStr
-from typing import Any, ClassVar, Dict, List, Optional
-from typing import Optional, Set
-from typing_extensions import Self
-
-class SqlQueryDatasetSource(BaseModel):
- """
- Create dataset from a SQL query (auto-creates a saved query)
- """ # noqa: E501
- description: Optional[StrictStr] = Field(default=None, description="Optional description for the auto-created saved query.")
- name: Optional[StrictStr] = Field(default=None, description="Optional name for the auto-created saved query. Defaults to the dataset label.")
- sql: StrictStr
- __properties: ClassVar[List[str]] = ["description", "name", "sql"]
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of SqlQueryDatasetSource from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- # set to None if description (nullable) is None
- # and model_fields_set contains the field
- if self.description is None and "description" in self.model_fields_set:
- _dict['description'] = None
-
- # set to None if name (nullable) is None
- # and model_fields_set contains the field
- if self.name is None and "name" in self.model_fields_set:
- _dict['name'] = None
-
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of SqlQueryDatasetSource from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "description": obj.get("description"),
- "name": obj.get("name"),
- "sql": obj.get("sql")
- })
- return _obj
-
-
diff --git a/hotdata/models/update_dataset_request.py b/hotdata/models/update_dataset_request.py
deleted file mode 100644
index c3012a1..0000000
--- a/hotdata/models/update_dataset_request.py
+++ /dev/null
@@ -1,107 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
-from typing import Any, ClassVar, Dict, List, Optional
-from typing import Optional, Set
-from typing_extensions import Self
-
-class UpdateDatasetRequest(BaseModel):
- """
- Request body for PUT /v1/datasets/{id}
- """ # noqa: E501
- label: Optional[StrictStr] = None
- pinned_version: Optional[StrictInt] = Field(default=None, description="Pin to a specific version, or send null to unpin. Omit the field entirely to leave pinning unchanged.")
- table_name: Optional[StrictStr] = None
- __properties: ClassVar[List[str]] = ["label", "pinned_version", "table_name"]
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of UpdateDatasetRequest from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- # set to None if label (nullable) is None
- # and model_fields_set contains the field
- if self.label is None and "label" in self.model_fields_set:
- _dict['label'] = None
-
- # set to None if pinned_version (nullable) is None
- # and model_fields_set contains the field
- if self.pinned_version is None and "pinned_version" in self.model_fields_set:
- _dict['pinned_version'] = None
-
- # set to None if table_name (nullable) is None
- # and model_fields_set contains the field
- if self.table_name is None and "table_name" in self.model_fields_set:
- _dict['table_name'] = None
-
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of UpdateDatasetRequest from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "label": obj.get("label"),
- "pinned_version": obj.get("pinned_version"),
- "table_name": obj.get("table_name")
- })
- return _obj
-
-
diff --git a/hotdata/models/update_dataset_response.py b/hotdata/models/update_dataset_response.py
deleted file mode 100644
index 9cee94f..0000000
--- a/hotdata/models/update_dataset_response.py
+++ /dev/null
@@ -1,104 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from datetime import datetime
-from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
-from typing import Any, ClassVar, Dict, List, Optional
-from typing import Optional, Set
-from typing_extensions import Self
-
-class UpdateDatasetResponse(BaseModel):
- """
- Response body for PUT /v1/datasets/{id}
- """ # noqa: E501
- id: StrictStr
- label: StrictStr
- latest_version: StrictInt
- pinned_version: Optional[StrictInt] = None
- table_name: StrictStr
- updated_at: datetime
- __properties: ClassVar[List[str]] = ["id", "label", "latest_version", "pinned_version", "table_name", "updated_at"]
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of UpdateDatasetResponse from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- # set to None if pinned_version (nullable) is None
- # and model_fields_set contains the field
- if self.pinned_version is None and "pinned_version" in self.model_fields_set:
- _dict['pinned_version'] = None
-
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of UpdateDatasetResponse from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "id": obj.get("id"),
- "label": obj.get("label"),
- "latest_version": obj.get("latest_version"),
- "pinned_version": obj.get("pinned_version"),
- "table_name": obj.get("table_name"),
- "updated_at": obj.get("updated_at")
- })
- return _obj
-
-
diff --git a/hotdata/models/upload_dataset_source.py b/hotdata/models/upload_dataset_source.py
deleted file mode 100644
index af9a35c..0000000
--- a/hotdata/models/upload_dataset_source.py
+++ /dev/null
@@ -1,97 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, Field, StrictStr
-from typing import Any, ClassVar, Dict, List, Optional
-from typing import Optional, Set
-from typing_extensions import Self
-
-class UploadDatasetSource(BaseModel):
- """
- Create dataset from a previously uploaded file
- """ # noqa: E501
- columns: Optional[Dict[str, StrictStr]] = Field(default=None, description="Optional explicit column definitions. Keys are column names, values are type specs. When provided, the schema is built from these definitions instead of being inferred.")
- format: Optional[StrictStr] = None
- upload_id: StrictStr
- __properties: ClassVar[List[str]] = ["columns", "format", "upload_id"]
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of UploadDatasetSource from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- # set to None if format (nullable) is None
- # and model_fields_set contains the field
- if self.format is None and "format" in self.model_fields_set:
- _dict['format'] = None
-
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of UploadDatasetSource from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "columns": obj.get("columns"),
- "format": obj.get("format"),
- "upload_id": obj.get("upload_id")
- })
- return _obj
-
-
diff --git a/hotdata/models/upsert_database_context_request.py b/hotdata/models/upsert_database_context_request.py
index e54b1eb..570d287 100644
--- a/hotdata/models/upsert_database_context_request.py
+++ b/hotdata/models/upsert_database_context_request.py
@@ -28,7 +28,7 @@ class UpsertDatabaseContextRequest(BaseModel):
Request body for POST `/v1/databases/{database_id}/context`.
""" # noqa: E501
content: StrictStr
- name: StrictStr = Field(description="Upsert key in the catalog. Validated with dataset table-name rules (preserves case): ASCII letter or `_` first; then alphanumeric or `_` only; 1–128 chars; not a SQL reserved word.")
+ name: StrictStr = Field(description="Upsert key in the catalog. Validated with table-name rules (preserves case): ASCII letter or `_` first; then alphanumeric or `_` only; 1–128 chars; not a SQL reserved word.")
__properties: ClassVar[List[str]] = ["content", "name"]
model_config = ConfigDict(
diff --git a/hotdata/models/url_dataset_source.py b/hotdata/models/url_dataset_source.py
deleted file mode 100644
index b4d917c..0000000
--- a/hotdata/models/url_dataset_source.py
+++ /dev/null
@@ -1,97 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, Field, StrictStr
-from typing import Any, ClassVar, Dict, List, Optional
-from typing import Optional, Set
-from typing_extensions import Self
-
-class UrlDatasetSource(BaseModel):
- """
- Create dataset from an external HTTP URL
- """ # noqa: E501
- columns: Optional[Dict[str, StrictStr]] = Field(default=None, description="Optional explicit column definitions. Keys are column names, values are type specs.")
- format: Optional[StrictStr] = None
- url: StrictStr
- __properties: ClassVar[List[str]] = ["columns", "format", "url"]
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of UrlDatasetSource from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- # set to None if format (nullable) is None
- # and model_fields_set contains the field
- if self.format is None and "format" in self.model_fields_set:
- _dict['format'] = None
-
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of UrlDatasetSource from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "columns": obj.get("columns"),
- "format": obj.get("format"),
- "url": obj.get("url")
- })
- return _obj
-
-
diff --git a/hotdata/models/dataset_summary.py b/hotdata/models/workspace_usage_response.py
similarity index 56%
rename from hotdata/models/dataset_summary.py
rename to hotdata/models/workspace_usage_response.py
index 7bb4bf6..1e209ec 100644
--- a/hotdata/models/dataset_summary.py
+++ b/hotdata/models/workspace_usage_response.py
@@ -19,24 +19,21 @@
import json
from datetime import datetime
-from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
+from pydantic import BaseModel, ConfigDict, Field, StrictInt
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
-class DatasetSummary(BaseModel):
+class WorkspaceUsageResponse(BaseModel):
"""
- Dataset summary for listing
+ Response for GET /v1/usage
""" # noqa: E501
- created_at: datetime
- id: StrictStr
- label: StrictStr
- latest_version: StrictInt
- pinned_version: Optional[StrictInt] = None
- schema_name: StrictStr
- table_name: StrictStr
- updated_at: datetime
- __properties: ClassVar[List[str]] = ["created_at", "id", "label", "latest_version", "pinned_version", "schema_name", "table_name", "updated_at"]
+ bytes_scanned: StrictInt = Field(description="Sum of `bytes_scanned` across all completed/failed query runs since `since`. Null bytes (queries that touched no row data) contribute 0.")
+ query_count: StrictInt = Field(description="Number of query runs (succeeded + failed) since `since`.")
+ since: datetime = Field(description="The period start used for this response (echoed back for the caller to verify).")
+ storage_bytes: StrictInt = Field(description="The workspace's current stored-data footprint in bytes, measured at request time: managed-database and dataset data, plus un-consumed uploads, connection caches, and search-index artifacts.")
+ storage_captured_at: Optional[datetime] = Field(default=None, description="When `storage_bytes` was measured (the time this response was produced).")
+ __properties: ClassVar[List[str]] = ["bytes_scanned", "query_count", "since", "storage_bytes", "storage_captured_at"]
model_config = ConfigDict(
populate_by_name=True,
@@ -56,7 +53,7 @@ def to_json(self) -> str:
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of DatasetSummary from a JSON string"""
+ """Create an instance of WorkspaceUsageResponse from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -77,16 +74,16 @@ def to_dict(self) -> Dict[str, Any]:
exclude=excluded_fields,
exclude_none=True,
)
- # set to None if pinned_version (nullable) is None
+ # set to None if storage_captured_at (nullable) is None
# and model_fields_set contains the field
- if self.pinned_version is None and "pinned_version" in self.model_fields_set:
- _dict['pinned_version'] = None
+ if self.storage_captured_at is None and "storage_captured_at" in self.model_fields_set:
+ _dict['storage_captured_at'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of DatasetSummary from a dict"""
+ """Create an instance of WorkspaceUsageResponse from a dict"""
if obj is None:
return None
@@ -94,14 +91,11 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
return cls.model_validate(obj)
_obj = cls.model_validate({
- "created_at": obj.get("created_at"),
- "id": obj.get("id"),
- "label": obj.get("label"),
- "latest_version": obj.get("latest_version"),
- "pinned_version": obj.get("pinned_version"),
- "schema_name": obj.get("schema_name"),
- "table_name": obj.get("table_name"),
- "updated_at": obj.get("updated_at")
+ "bytes_scanned": obj.get("bytes_scanned"),
+ "query_count": obj.get("query_count"),
+ "since": obj.get("since"),
+ "storage_bytes": obj.get("storage_bytes"),
+ "storage_captured_at": obj.get("storage_captured_at")
})
return _obj
diff --git a/test/test_column_type_spec.py b/test/test_column_type_spec.py
deleted file mode 100644
index ff1bbda..0000000
--- a/test/test_column_type_spec.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.column_type_spec import ColumnTypeSpec
-
-class TestColumnTypeSpec(unittest.TestCase):
- """ColumnTypeSpec unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> ColumnTypeSpec:
- """Test ColumnTypeSpec
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `ColumnTypeSpec`
- """
- model = ColumnTypeSpec()
- if include_optional:
- return ColumnTypeSpec(
- geometry_type = '',
- precision = 0,
- scale = 56,
- srid = 56,
- type = ''
- )
- else:
- return ColumnTypeSpec(
- type = '',
- )
- """
-
- def testColumnTypeSpec(self):
- """Test ColumnTypeSpec"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_create_dataset_request.py b/test/test_create_dataset_request.py
deleted file mode 100644
index 4c639ac..0000000
--- a/test/test_create_dataset_request.py
+++ /dev/null
@@ -1,56 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.create_dataset_request import CreateDatasetRequest
-
-class TestCreateDatasetRequest(unittest.TestCase):
- """CreateDatasetRequest unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> CreateDatasetRequest:
- """Test CreateDatasetRequest
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `CreateDatasetRequest`
- """
- model = CreateDatasetRequest()
- if include_optional:
- return CreateDatasetRequest(
- label = '',
- source = None,
- table_name = ''
- )
- else:
- return CreateDatasetRequest(
- label = '',
- source = None,
- )
- """
-
- def testCreateDatasetRequest(self):
- """Test CreateDatasetRequest"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_create_dataset_response.py b/test/test_create_dataset_response.py
deleted file mode 100644
index 4e08fb3..0000000
--- a/test/test_create_dataset_response.py
+++ /dev/null
@@ -1,63 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.create_dataset_response import CreateDatasetResponse
-
-class TestCreateDatasetResponse(unittest.TestCase):
- """CreateDatasetResponse unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> CreateDatasetResponse:
- """Test CreateDatasetResponse
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `CreateDatasetResponse`
- """
- model = CreateDatasetResponse()
- if include_optional:
- return CreateDatasetResponse(
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = '',
- label = '',
- schema_name = '',
- status = '',
- table_name = ''
- )
- else:
- return CreateDatasetResponse(
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = '',
- label = '',
- schema_name = '',
- status = '',
- table_name = '',
- )
- """
-
- def testCreateDatasetResponse(self):
- """Test CreateDatasetResponse"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_dataset_source.py b/test/test_dataset_source.py
deleted file mode 100644
index d00966f..0000000
--- a/test/test_dataset_source.py
+++ /dev/null
@@ -1,80 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.dataset_source import DatasetSource
-
-class TestDatasetSource(unittest.TestCase):
- """DatasetSource unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> DatasetSource:
- """Test DatasetSource
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `DatasetSource`
- """
- model = DatasetSource()
- if include_optional:
- return DatasetSource(
- columns = {
- 'key' : ''
- },
- format = '',
- upload_id = '',
- type = 'upload',
- saved_query_id = '',
- version = 56,
- description = '',
- name = '',
- sql = '',
- url = '',
- inline = hotdata.models.inline_data.InlineData(
- columns = {
- 'key' : ''
- },
- content = '',
- format = '', )
- )
- else:
- return DatasetSource(
- upload_id = '',
- type = 'upload',
- saved_query_id = '',
- sql = '',
- url = '',
- inline = hotdata.models.inline_data.InlineData(
- columns = {
- 'key' : ''
- },
- content = '',
- format = '', ),
- )
- """
-
- def testDatasetSource(self):
- """Test DatasetSource"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_dataset_source_one_of.py b/test/test_dataset_source_one_of.py
deleted file mode 100644
index 0f9e2bc..0000000
--- a/test/test_dataset_source_one_of.py
+++ /dev/null
@@ -1,59 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.dataset_source_one_of import DatasetSourceOneOf
-
-class TestDatasetSourceOneOf(unittest.TestCase):
- """DatasetSourceOneOf unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> DatasetSourceOneOf:
- """Test DatasetSourceOneOf
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `DatasetSourceOneOf`
- """
- model = DatasetSourceOneOf()
- if include_optional:
- return DatasetSourceOneOf(
- columns = {
- 'key' : ''
- },
- format = '',
- upload_id = '',
- type = 'upload'
- )
- else:
- return DatasetSourceOneOf(
- upload_id = '',
- type = 'upload',
- )
- """
-
- def testDatasetSourceOneOf(self):
- """Test DatasetSourceOneOf"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_dataset_source_one_of1.py b/test/test_dataset_source_one_of1.py
deleted file mode 100644
index ac6de69..0000000
--- a/test/test_dataset_source_one_of1.py
+++ /dev/null
@@ -1,56 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.dataset_source_one_of1 import DatasetSourceOneOf1
-
-class TestDatasetSourceOneOf1(unittest.TestCase):
- """DatasetSourceOneOf1 unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> DatasetSourceOneOf1:
- """Test DatasetSourceOneOf1
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `DatasetSourceOneOf1`
- """
- model = DatasetSourceOneOf1()
- if include_optional:
- return DatasetSourceOneOf1(
- saved_query_id = '',
- version = 56,
- type = 'saved_query'
- )
- else:
- return DatasetSourceOneOf1(
- saved_query_id = '',
- type = 'saved_query',
- )
- """
-
- def testDatasetSourceOneOf1(self):
- """Test DatasetSourceOneOf1"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_dataset_source_one_of2.py b/test/test_dataset_source_one_of2.py
deleted file mode 100644
index a5f701c..0000000
--- a/test/test_dataset_source_one_of2.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.dataset_source_one_of2 import DatasetSourceOneOf2
-
-class TestDatasetSourceOneOf2(unittest.TestCase):
- """DatasetSourceOneOf2 unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> DatasetSourceOneOf2:
- """Test DatasetSourceOneOf2
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `DatasetSourceOneOf2`
- """
- model = DatasetSourceOneOf2()
- if include_optional:
- return DatasetSourceOneOf2(
- description = '',
- name = '',
- sql = '',
- type = 'sql_query'
- )
- else:
- return DatasetSourceOneOf2(
- sql = '',
- type = 'sql_query',
- )
- """
-
- def testDatasetSourceOneOf2(self):
- """Test DatasetSourceOneOf2"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_dataset_source_one_of3.py b/test/test_dataset_source_one_of3.py
deleted file mode 100644
index c59df74..0000000
--- a/test/test_dataset_source_one_of3.py
+++ /dev/null
@@ -1,59 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.dataset_source_one_of3 import DatasetSourceOneOf3
-
-class TestDatasetSourceOneOf3(unittest.TestCase):
- """DatasetSourceOneOf3 unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> DatasetSourceOneOf3:
- """Test DatasetSourceOneOf3
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `DatasetSourceOneOf3`
- """
- model = DatasetSourceOneOf3()
- if include_optional:
- return DatasetSourceOneOf3(
- columns = {
- 'key' : ''
- },
- format = '',
- url = '',
- type = 'url'
- )
- else:
- return DatasetSourceOneOf3(
- url = '',
- type = 'url',
- )
- """
-
- def testDatasetSourceOneOf3(self):
- """Test DatasetSourceOneOf3"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_dataset_source_one_of4.py b/test/test_dataset_source_one_of4.py
deleted file mode 100644
index 2f7ef76..0000000
--- a/test/test_dataset_source_one_of4.py
+++ /dev/null
@@ -1,65 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.dataset_source_one_of4 import DatasetSourceOneOf4
-
-class TestDatasetSourceOneOf4(unittest.TestCase):
- """DatasetSourceOneOf4 unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> DatasetSourceOneOf4:
- """Test DatasetSourceOneOf4
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `DatasetSourceOneOf4`
- """
- model = DatasetSourceOneOf4()
- if include_optional:
- return DatasetSourceOneOf4(
- inline = hotdata.models.inline_data.InlineData(
- columns = {
- 'key' : ''
- },
- content = '',
- format = '', ),
- type = 'inline'
- )
- else:
- return DatasetSourceOneOf4(
- inline = hotdata.models.inline_data.InlineData(
- columns = {
- 'key' : ''
- },
- content = '',
- format = '', ),
- type = 'inline',
- )
- """
-
- def testDatasetSourceOneOf4(self):
- """Test DatasetSourceOneOf4"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_dataset_summary.py b/test/test_dataset_summary.py
deleted file mode 100644
index 36c71df..0000000
--- a/test/test_dataset_summary.py
+++ /dev/null
@@ -1,66 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.dataset_summary import DatasetSummary
-
-class TestDatasetSummary(unittest.TestCase):
- """DatasetSummary unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> DatasetSummary:
- """Test DatasetSummary
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `DatasetSummary`
- """
- model = DatasetSummary()
- if include_optional:
- return DatasetSummary(
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = '',
- label = '',
- latest_version = 56,
- pinned_version = 56,
- schema_name = '',
- table_name = '',
- updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f')
- )
- else:
- return DatasetSummary(
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = '',
- label = '',
- latest_version = 56,
- schema_name = '',
- table_name = '',
- updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- )
- """
-
- def testDatasetSummary(self):
- """Test DatasetSummary"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_dataset_version_summary.py b/test/test_dataset_version_summary.py
deleted file mode 100644
index 2ccabe6..0000000
--- a/test/test_dataset_version_summary.py
+++ /dev/null
@@ -1,59 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.dataset_version_summary import DatasetVersionSummary
-
-class TestDatasetVersionSummary(unittest.TestCase):
- """DatasetVersionSummary unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> DatasetVersionSummary:
- """Test DatasetVersionSummary
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `DatasetVersionSummary`
- """
- model = DatasetVersionSummary()
- if include_optional:
- return DatasetVersionSummary(
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = '',
- source_type = '',
- version = 56
- )
- else:
- return DatasetVersionSummary(
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = '',
- source_type = '',
- version = 56,
- )
- """
-
- def testDatasetVersionSummary(self):
- """Test DatasetVersionSummary"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_datasets_api.py b/test/test_datasets_api.py
deleted file mode 100644
index be9dffe..0000000
--- a/test/test_datasets_api.py
+++ /dev/null
@@ -1,74 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.api.datasets_api import DatasetsApi
-
-
-class TestDatasetsApi(unittest.TestCase):
- """DatasetsApi unit test stubs"""
-
- def setUp(self) -> None:
- self.api = DatasetsApi()
-
- def tearDown(self) -> None:
- pass
-
- def test_create_dataset(self) -> None:
- """Test case for create_dataset
-
- Create dataset
- """
- pass
-
- def test_delete_dataset(self) -> None:
- """Test case for delete_dataset
-
- Delete dataset
- """
- pass
-
- def test_get_dataset(self) -> None:
- """Test case for get_dataset
-
- Get dataset
- """
- pass
-
- def test_list_dataset_versions(self) -> None:
- """Test case for list_dataset_versions
-
- List dataset versions
- """
- pass
-
- def test_list_datasets(self) -> None:
- """Test case for list_datasets
-
- List datasets
- """
- pass
-
- def test_update_dataset(self) -> None:
- """Test case for update_dataset
-
- Update dataset
- """
- pass
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_get_dataset_response.py b/test/test_get_dataset_response.py
deleted file mode 100644
index 0a07b1b..0000000
--- a/test/test_get_dataset_response.py
+++ /dev/null
@@ -1,80 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.get_dataset_response import GetDatasetResponse
-
-class TestGetDatasetResponse(unittest.TestCase):
- """GetDatasetResponse unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> GetDatasetResponse:
- """Test GetDatasetResponse
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `GetDatasetResponse`
- """
- model = GetDatasetResponse()
- if include_optional:
- return GetDatasetResponse(
- columns = [
- hotdata.models.column_info.ColumnInfo(
- data_type = '',
- name = '',
- nullable = True, )
- ],
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = '',
- label = '',
- latest_version = 56,
- pinned_version = 56,
- schema_name = '',
- source_type = '',
- table_name = '',
- updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f')
- )
- else:
- return GetDatasetResponse(
- columns = [
- hotdata.models.column_info.ColumnInfo(
- data_type = '',
- name = '',
- nullable = True, )
- ],
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = '',
- label = '',
- latest_version = 56,
- schema_name = '',
- source_type = '',
- table_name = '',
- updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- )
- """
-
- def testGetDatasetResponse(self):
- """Test GetDatasetResponse"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_index_entry_response.py b/test/test_index_entry_response.py
index 988459b..c1677ce 100644
--- a/test/test_index_entry_response.py
+++ b/test/test_index_entry_response.py
@@ -43,6 +43,7 @@ def make_instance(self, include_optional) -> IndexEntryResponse:
index_name = '',
index_type = '',
metric = '',
+ source_column = '',
status = 'ready',
updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
connection_id = '',
diff --git a/test/test_index_info_response.py b/test/test_index_info_response.py
index 37ad4ab..b417a36 100644
--- a/test/test_index_info_response.py
+++ b/test/test_index_info_response.py
@@ -43,6 +43,7 @@ def make_instance(self, include_optional) -> IndexInfoResponse:
index_name = '',
index_type = '',
metric = '',
+ source_column = '',
status = 'ready',
updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f')
)
diff --git a/test/test_indexes_api.py b/test/test_indexes_api.py
index b4d502b..36434ae 100644
--- a/test/test_indexes_api.py
+++ b/test/test_indexes_api.py
@@ -27,13 +27,6 @@ def setUp(self) -> None:
def tearDown(self) -> None:
pass
- def test_create_dataset_index(self) -> None:
- """Test case for create_dataset_index
-
- Create an index on a dataset
- """
- pass
-
def test_create_index(self) -> None:
"""Test case for create_index
@@ -41,13 +34,6 @@ def test_create_index(self) -> None:
"""
pass
- def test_delete_dataset_index(self) -> None:
- """Test case for delete_dataset_index
-
- Delete a dataset index
- """
- pass
-
def test_delete_index(self) -> None:
"""Test case for delete_index
@@ -55,13 +41,6 @@ def test_delete_index(self) -> None:
"""
pass
- def test_list_dataset_indexes(self) -> None:
- """Test case for list_dataset_indexes
-
- List indexes on a dataset
- """
- pass
-
def test_list_indexes(self) -> None:
"""Test case for list_indexes
diff --git a/test/test_inline_data.py b/test/test_inline_data.py
deleted file mode 100644
index 5ee0b3a..0000000
--- a/test/test_inline_data.py
+++ /dev/null
@@ -1,58 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.inline_data import InlineData
-
-class TestInlineData(unittest.TestCase):
- """InlineData unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> InlineData:
- """Test InlineData
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `InlineData`
- """
- model = InlineData()
- if include_optional:
- return InlineData(
- columns = {
- 'key' : ''
- },
- content = '',
- format = ''
- )
- else:
- return InlineData(
- content = '',
- format = '',
- )
- """
-
- def testInlineData(self):
- """Test InlineData"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_inline_dataset_source.py b/test/test_inline_dataset_source.py
deleted file mode 100644
index 14caf54..0000000
--- a/test/test_inline_dataset_source.py
+++ /dev/null
@@ -1,63 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.inline_dataset_source import InlineDatasetSource
-
-class TestInlineDatasetSource(unittest.TestCase):
- """InlineDatasetSource unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> InlineDatasetSource:
- """Test InlineDatasetSource
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `InlineDatasetSource`
- """
- model = InlineDatasetSource()
- if include_optional:
- return InlineDatasetSource(
- inline = hotdata.models.inline_data.InlineData(
- columns = {
- 'key' : ''
- },
- content = '',
- format = '', )
- )
- else:
- return InlineDatasetSource(
- inline = hotdata.models.inline_data.InlineData(
- columns = {
- 'key' : ''
- },
- content = '',
- format = '', ),
- )
- """
-
- def testInlineDatasetSource(self):
- """Test InlineDatasetSource"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_job_result.py b/test/test_job_result.py
index 2afb627..cd59391 100644
--- a/test/test_job_result.py
+++ b/test/test_job_result.py
@@ -56,16 +56,15 @@ def make_instance(self, include_optional) -> JobResult:
tables_failed = 0,
tables_refreshed = 0,
total_rows = 0,
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = '',
- status = 'ready',
- version = 56,
columns = [
''
],
+ created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
index_name = '',
index_type = '',
metric = '',
+ source_column = '',
+ status = 'ready',
updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f')
)
else:
@@ -78,15 +77,13 @@ def make_instance(self, include_optional) -> JobResult:
tables_failed = 0,
tables_refreshed = 0,
total_rows = 0,
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = '',
- status = 'ready',
- version = 56,
columns = [
''
],
+ created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
index_name = '',
index_type = '',
+ status = 'ready',
updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
)
"""
diff --git a/test/test_list_dataset_versions_response.py b/test/test_list_dataset_versions_response.py
deleted file mode 100644
index 9fc993b..0000000
--- a/test/test_list_dataset_versions_response.py
+++ /dev/null
@@ -1,75 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.list_dataset_versions_response import ListDatasetVersionsResponse
-
-class TestListDatasetVersionsResponse(unittest.TestCase):
- """ListDatasetVersionsResponse unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> ListDatasetVersionsResponse:
- """Test ListDatasetVersionsResponse
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `ListDatasetVersionsResponse`
- """
- model = ListDatasetVersionsResponse()
- if include_optional:
- return ListDatasetVersionsResponse(
- count = 0,
- dataset_id = '',
- has_more = True,
- limit = 0,
- offset = 0,
- versions = [
- hotdata.models.dataset_version_summary.DatasetVersionSummary(
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = '',
- source_type = '',
- version = 56, )
- ]
- )
- else:
- return ListDatasetVersionsResponse(
- count = 0,
- dataset_id = '',
- has_more = True,
- limit = 0,
- offset = 0,
- versions = [
- hotdata.models.dataset_version_summary.DatasetVersionSummary(
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = '',
- source_type = '',
- version = 56, )
- ],
- )
- """
-
- def testListDatasetVersionsResponse(self):
- """Test ListDatasetVersionsResponse"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_list_datasets_response.py b/test/test_list_datasets_response.py
deleted file mode 100644
index e5395f5..0000000
--- a/test/test_list_datasets_response.py
+++ /dev/null
@@ -1,81 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.list_datasets_response import ListDatasetsResponse
-
-class TestListDatasetsResponse(unittest.TestCase):
- """ListDatasetsResponse unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> ListDatasetsResponse:
- """Test ListDatasetsResponse
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `ListDatasetsResponse`
- """
- model = ListDatasetsResponse()
- if include_optional:
- return ListDatasetsResponse(
- count = 0,
- datasets = [
- hotdata.models.dataset_summary.DatasetSummary(
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = '',
- label = '',
- latest_version = 56,
- pinned_version = 56,
- schema_name = '',
- table_name = '',
- updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), )
- ],
- has_more = True,
- limit = 0,
- offset = 0
- )
- else:
- return ListDatasetsResponse(
- count = 0,
- datasets = [
- hotdata.models.dataset_summary.DatasetSummary(
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = '',
- label = '',
- latest_version = 56,
- pinned_version = 56,
- schema_name = '',
- table_name = '',
- updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), )
- ],
- has_more = True,
- limit = 0,
- offset = 0,
- )
- """
-
- def testListDatasetsResponse(self):
- """Test ListDatasetsResponse"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_list_indexes_response.py b/test/test_list_indexes_response.py
index 198a126..068adea 100644
--- a/test/test_list_indexes_response.py
+++ b/test/test_list_indexes_response.py
@@ -45,6 +45,7 @@ def make_instance(self, include_optional) -> ListIndexesResponse:
index_name = '',
index_type = '',
metric = '',
+ source_column = '',
status = 'ready',
updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), )
]
@@ -60,6 +61,7 @@ def make_instance(self, include_optional) -> ListIndexesResponse:
index_name = '',
index_type = '',
metric = '',
+ source_column = '',
status = 'ready',
updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), )
],
diff --git a/test/test_refresh_dataset_response.py b/test/test_refresh_dataset_response.py
deleted file mode 100644
index 89cf87d..0000000
--- a/test/test_refresh_dataset_response.py
+++ /dev/null
@@ -1,59 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.refresh_dataset_response import RefreshDatasetResponse
-
-class TestRefreshDatasetResponse(unittest.TestCase):
- """RefreshDatasetResponse unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> RefreshDatasetResponse:
- """Test RefreshDatasetResponse
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `RefreshDatasetResponse`
- """
- model = RefreshDatasetResponse()
- if include_optional:
- return RefreshDatasetResponse(
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = '',
- status = '',
- version = 56
- )
- else:
- return RefreshDatasetResponse(
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = '',
- status = '',
- version = 56,
- )
- """
-
- def testRefreshDatasetResponse(self):
- """Test RefreshDatasetResponse"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_refresh_request.py b/test/test_refresh_request.py
index 77ec25c..da9e4a2 100644
--- a/test/test_refresh_request.py
+++ b/test/test_refresh_request.py
@@ -39,7 +39,6 @@ def make_instance(self, include_optional) -> RefreshRequest:
var_async = True,
connection_id = '',
data = True,
- dataset_id = '',
include_uncached = True,
schema_name = '',
table_name = ''
diff --git a/test/test_refresh_response.py b/test/test_refresh_response.py
index 780baa2..b51d8d0 100644
--- a/test/test_refresh_response.py
+++ b/test/test_refresh_response.py
@@ -61,10 +61,8 @@ def make_instance(self, include_optional) -> RefreshResponse:
tables_failed = 0,
tables_refreshed = 0,
total_rows = 0,
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
id = '',
status = 'pending',
- version = 56,
status_url = ''
)
else:
@@ -82,10 +80,8 @@ def make_instance(self, include_optional) -> RefreshResponse:
tables_failed = 0,
tables_refreshed = 0,
total_rows = 0,
- created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
id = '',
status = 'pending',
- version = 56,
status_url = '',
)
"""
diff --git a/test/test_saved_query_dataset_source.py b/test/test_saved_query_dataset_source.py
deleted file mode 100644
index 5b2499c..0000000
--- a/test/test_saved_query_dataset_source.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.saved_query_dataset_source import SavedQueryDatasetSource
-
-class TestSavedQueryDatasetSource(unittest.TestCase):
- """SavedQueryDatasetSource unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> SavedQueryDatasetSource:
- """Test SavedQueryDatasetSource
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `SavedQueryDatasetSource`
- """
- model = SavedQueryDatasetSource()
- if include_optional:
- return SavedQueryDatasetSource(
- saved_query_id = '',
- version = 56
- )
- else:
- return SavedQueryDatasetSource(
- saved_query_id = '',
- )
- """
-
- def testSavedQueryDatasetSource(self):
- """Test SavedQueryDatasetSource"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_sql_query_dataset_source.py b/test/test_sql_query_dataset_source.py
deleted file mode 100644
index f657534..0000000
--- a/test/test_sql_query_dataset_source.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.sql_query_dataset_source import SqlQueryDatasetSource
-
-class TestSqlQueryDatasetSource(unittest.TestCase):
- """SqlQueryDatasetSource unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> SqlQueryDatasetSource:
- """Test SqlQueryDatasetSource
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `SqlQueryDatasetSource`
- """
- model = SqlQueryDatasetSource()
- if include_optional:
- return SqlQueryDatasetSource(
- description = '',
- name = '',
- sql = ''
- )
- else:
- return SqlQueryDatasetSource(
- sql = '',
- )
- """
-
- def testSqlQueryDatasetSource(self):
- """Test SqlQueryDatasetSource"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_update_dataset_request.py b/test/test_update_dataset_request.py
deleted file mode 100644
index 79f1c2c..0000000
--- a/test/test_update_dataset_request.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.update_dataset_request import UpdateDatasetRequest
-
-class TestUpdateDatasetRequest(unittest.TestCase):
- """UpdateDatasetRequest unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> UpdateDatasetRequest:
- """Test UpdateDatasetRequest
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `UpdateDatasetRequest`
- """
- model = UpdateDatasetRequest()
- if include_optional:
- return UpdateDatasetRequest(
- label = '',
- pinned_version = 56,
- table_name = ''
- )
- else:
- return UpdateDatasetRequest(
- )
- """
-
- def testUpdateDatasetRequest(self):
- """Test UpdateDatasetRequest"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_update_dataset_response.py b/test/test_update_dataset_response.py
deleted file mode 100644
index 6c579a6..0000000
--- a/test/test_update_dataset_response.py
+++ /dev/null
@@ -1,62 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.update_dataset_response import UpdateDatasetResponse
-
-class TestUpdateDatasetResponse(unittest.TestCase):
- """UpdateDatasetResponse unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> UpdateDatasetResponse:
- """Test UpdateDatasetResponse
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `UpdateDatasetResponse`
- """
- model = UpdateDatasetResponse()
- if include_optional:
- return UpdateDatasetResponse(
- id = '',
- label = '',
- latest_version = 56,
- pinned_version = 56,
- table_name = '',
- updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f')
- )
- else:
- return UpdateDatasetResponse(
- id = '',
- label = '',
- latest_version = 56,
- table_name = '',
- updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- )
- """
-
- def testUpdateDatasetResponse(self):
- """Test UpdateDatasetResponse"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_upload_dataset_source.py b/test/test_upload_dataset_source.py
deleted file mode 100644
index a61b5a3..0000000
--- a/test/test_upload_dataset_source.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.upload_dataset_source import UploadDatasetSource
-
-class TestUploadDatasetSource(unittest.TestCase):
- """UploadDatasetSource unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> UploadDatasetSource:
- """Test UploadDatasetSource
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `UploadDatasetSource`
- """
- model = UploadDatasetSource()
- if include_optional:
- return UploadDatasetSource(
- columns = {
- 'key' : ''
- },
- format = '',
- upload_id = ''
- )
- else:
- return UploadDatasetSource(
- upload_id = '',
- )
- """
-
- def testUploadDatasetSource(self):
- """Test UploadDatasetSource"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_url_dataset_source.py b/test/test_url_dataset_source.py
deleted file mode 100644
index eeb3b05..0000000
--- a/test/test_url_dataset_source.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# coding: utf-8
-
-"""
- Hotdata API
-
- Powerful data platform API for datasets, queries, and analytics.
-
- The version of the OpenAPI document: 1.0.0
- Contact: developers@hotdata.dev
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from hotdata.models.url_dataset_source import UrlDatasetSource
-
-class TestUrlDatasetSource(unittest.TestCase):
- """UrlDatasetSource unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> UrlDatasetSource:
- """Test UrlDatasetSource
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `UrlDatasetSource`
- """
- model = UrlDatasetSource()
- if include_optional:
- return UrlDatasetSource(
- columns = {
- 'key' : ''
- },
- format = '',
- url = ''
- )
- else:
- return UrlDatasetSource(
- url = '',
- )
- """
-
- def testUrlDatasetSource(self):
- """Test UrlDatasetSource"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_usage_api.py b/test/test_usage_api.py
new file mode 100644
index 0000000..b0d633b
--- /dev/null
+++ b/test/test_usage_api.py
@@ -0,0 +1,39 @@
+# coding: utf-8
+
+"""
+ Hotdata API
+
+ Powerful data platform API for datasets, queries, and analytics.
+
+ The version of the OpenAPI document: 1.0.0
+ Contact: developers@hotdata.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from hotdata.api.usage_api import UsageApi
+
+
+class TestUsageApi(unittest.TestCase):
+ """UsageApi unit test stubs"""
+
+ def setUp(self) -> None:
+ self.api = UsageApi()
+
+ def tearDown(self) -> None:
+ pass
+
+ def test_get_usage(self) -> None:
+ """Test case for get_usage
+
+ Get workspace usage snapshot
+ """
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_workspace_usage_response.py b/test/test_workspace_usage_response.py
new file mode 100644
index 0000000..7cee050
--- /dev/null
+++ b/test/test_workspace_usage_response.py
@@ -0,0 +1,60 @@
+# coding: utf-8
+
+"""
+ Hotdata API
+
+ Powerful data platform API for datasets, queries, and analytics.
+
+ The version of the OpenAPI document: 1.0.0
+ Contact: developers@hotdata.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from hotdata.models.workspace_usage_response import WorkspaceUsageResponse
+
+class TestWorkspaceUsageResponse(unittest.TestCase):
+ """WorkspaceUsageResponse unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> WorkspaceUsageResponse:
+ """Test WorkspaceUsageResponse
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included """
+ # uncomment below to create an instance of `WorkspaceUsageResponse`
+ """
+ model = WorkspaceUsageResponse()
+ if include_optional:
+ return WorkspaceUsageResponse(
+ bytes_scanned = 56,
+ query_count = 56,
+ since = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
+ storage_bytes = 56,
+ storage_captured_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f')
+ )
+ else:
+ return WorkspaceUsageResponse(
+ bytes_scanned = 56,
+ query_count = 56,
+ since = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
+ storage_bytes = 56,
+ )
+ """
+
+ def testWorkspaceUsageResponse(self):
+ """Test WorkspaceUsageResponse"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/tests/integration/conftest.py b/tests/integration/conftest.py
index 8d60bb6..981bde8 100644
--- a/tests/integration/conftest.py
+++ b/tests/integration/conftest.py
@@ -18,7 +18,6 @@
from hotdata.api.connections_api import ConnectionsApi
from hotdata.api.database_context_api import DatabaseContextApi
from hotdata.api.databases_api import DatabasesApi
-from hotdata.api.datasets_api import DatasetsApi
from hotdata.api.embedding_providers_api import EmbeddingProvidersApi
from hotdata.api.indexes_api import IndexesApi
from hotdata.api.information_schema_api import InformationSchemaApi
@@ -127,11 +126,6 @@ def _make(scenario: str) -> str:
# Per-API client fixtures keep tests one-liner short and avoid every test
# instantiating its own *Api(api_client).
-@pytest.fixture
-def datasets_api(api_client: ApiClient) -> DatasetsApi:
- return DatasetsApi(api_client)
-
-
@pytest.fixture
def workspaces_api(api_client: ApiClient) -> WorkspacesApi:
return WorkspacesApi(api_client)
diff --git a/tests/integration/test_auth_unknown_workspace.py b/tests/integration/test_auth_unknown_workspace.py
index 3f53f5e..1f3b76e 100644
--- a/tests/integration/test_auth_unknown_workspace.py
+++ b/tests/integration/test_auth_unknown_workspace.py
@@ -12,7 +12,7 @@
import pytest
from hotdata import ApiClient, Configuration
-from hotdata.api.datasets_api import DatasetsApi
+from hotdata.api.connections_api import ConnectionsApi
from hotdata.exceptions import ApiException
@@ -24,9 +24,9 @@ def test_auth_unknown_workspace(env) -> None:
workspace_id=fake_workspace,
)
with ApiClient(config) as client:
- api = DatasetsApi(client)
+ api = ConnectionsApi(client)
with pytest.raises(ApiException) as excinfo:
- api.list_datasets()
+ api.list_connections()
assert excinfo.value.status in (403, 404), (
f"expected 403/404 for fabricated workspace, got {excinfo.value.status}"
)
diff --git a/tests/integration/test_dataset_versioning.py b/tests/integration/test_dataset_versioning.py
deleted file mode 100644
index a523003..0000000
--- a/tests/integration/test_dataset_versioning.py
+++ /dev/null
@@ -1,57 +0,0 @@
-"""Scenario: dataset_versioning.
-
-Create a dataset, exercise list_dataset_versions, pin to a specific version,
-then unpin. Confirms the versioning surface is reachable and consistent.
-"""
-
-from __future__ import annotations
-
-from hotdata.api.datasets_api import DatasetsApi
-from hotdata.exceptions import ApiException
-from hotdata.models.create_dataset_request import CreateDatasetRequest
-from hotdata.models.dataset_source import DatasetSource
-from hotdata.models.dataset_source_one_of4 import DatasetSourceOneOf4
-from hotdata.models.inline_data import InlineData
-from hotdata.models.update_dataset_request import UpdateDatasetRequest
-
-
-def _inline_csv_source() -> DatasetSource:
- return DatasetSource(
- DatasetSourceOneOf4(
- type="inline",
- inline=InlineData(content="a,b\n1,2\n3,4\n", format="csv"),
- )
- )
-
-
-def test_dataset_versioning(datasets_api: DatasetsApi, sdkci_name) -> None:
- label = sdkci_name("dataset-versioning")
- created_id: str | None = None
-
- try:
- created = datasets_api.create_dataset(
- CreateDatasetRequest(label=label, source=_inline_csv_source())
- )
- created_id = created.id
-
- versions = datasets_api.list_dataset_versions(created.id)
- assert versions.dataset_id == created.id
- assert versions.count >= 1
- assert any(v.version == 1 for v in versions.versions), (
- f"expected version 1 in {[v.version for v in versions.versions]}"
- )
-
- pinned = datasets_api.update_dataset(
- created.id, UpdateDatasetRequest(pinned_version=1)
- )
- assert pinned.pinned_version == 1
- assert pinned.latest_version >= 1
-
- fetched = datasets_api.get_dataset(created.id)
- assert fetched.pinned_version == 1
- finally:
- if created_id is not None:
- try:
- datasets_api.delete_dataset(created_id)
- except ApiException:
- pass
diff --git a/tests/integration/test_datasets_crud.py b/tests/integration/test_datasets_crud.py
deleted file mode 100644
index 7563506..0000000
--- a/tests/integration/test_datasets_crud.py
+++ /dev/null
@@ -1,73 +0,0 @@
-"""Scenario: datasets_crud.
-
-Defined in www.hotdata.dev/api/test-scenarios.yaml — create, read, list,
-update, and delete a dataset; assert 404 after delete.
-"""
-
-from __future__ import annotations
-
-import pytest
-
-from hotdata.api.datasets_api import DatasetsApi
-from hotdata.exceptions import ApiException
-from hotdata.models.create_dataset_request import CreateDatasetRequest
-from hotdata.models.dataset_source import DatasetSource
-from hotdata.models.dataset_source_one_of4 import DatasetSourceOneOf4
-from hotdata.models.inline_data import InlineData
-from hotdata.models.update_dataset_request import UpdateDatasetRequest
-
-
-def _inline_csv_source() -> DatasetSource:
- return DatasetSource(
- DatasetSourceOneOf4(
- type="inline",
- inline=InlineData(
- content="a,b\n1,2\n3,4\n",
- format="csv",
- ),
- )
- )
-
-
-def test_datasets_crud(datasets_api: DatasetsApi, sdkci_name) -> None:
- label = sdkci_name("datasets-crud")
- new_label = f"{label}-renamed"
- created_id: str | None = None
-
- try:
- created = datasets_api.create_dataset(
- CreateDatasetRequest(label=label, source=_inline_csv_source())
- )
- created_id = created.id
- assert created.label == label
- assert created.id
-
- fetched = datasets_api.get_dataset(created.id)
- assert fetched.id == created.id
- assert fetched.label == label
- assert fetched.columns, "expected inferred columns from inline CSV"
-
- listing = datasets_api.list_datasets()
- assert any(d.id == created.id for d in listing.datasets), (
- f"newly created dataset {created.id} not present in list_datasets"
- )
-
- updated = datasets_api.update_dataset(
- created.id, UpdateDatasetRequest(label=new_label)
- )
- assert updated.label == new_label
-
- datasets_api.delete_dataset(created.id)
- created_id = None # successful delete — skip teardown
-
- with pytest.raises(ApiException) as excinfo:
- datasets_api.get_dataset(created.id)
- assert excinfo.value.status == 404, (
- f"expected 404 after delete, got {excinfo.value.status}"
- )
- finally:
- if created_id is not None:
- try:
- datasets_api.delete_dataset(created_id)
- except ApiException:
- pass