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..907721d 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: update api schema and metadata + ## [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()