Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 4 additions & 48 deletions .openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,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
Expand All @@ -30,8 +29,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
Expand All @@ -48,23 +45,13 @@ 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
docs/Error.md
docs/ExecuteSavedQueryRequest.md
docs/GetConnectionResponse.md
docs/GetDatabaseContextResponse.md
docs/GetDatasetResponse.md
docs/GetResultResponse.md
docs/GetSecretResponse.md
docs/IndexEntryResponse.md
Expand All @@ -73,8 +60,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
Expand All @@ -84,8 +69,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
Expand All @@ -108,52 +91,46 @@ docs/QueryResponse.md
docs/QueryRunInfo.md
docs/QueryRunsApi.md
docs/RefreshApi.md
docs/RefreshDatasetResponse.md
docs/RefreshRequest.md
docs/RefreshResponse.md
docs/RefreshWarning.md
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
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
src/apis/configuration.rs
src/apis/connection_types_api.rs
src/apis/connections_api.rs
src/apis/database_context_api.rs
src/apis/databases_api.rs
src/apis/datasets_api.rs
src/apis/embedding_providers_api.rs
src/apis/indexes_api.rs
src/apis/information_schema_api.rs
Expand All @@ -166,6 +143,7 @@ src/apis/results_api.rs
src/apis/saved_queries_api.rs
src/apis/secrets_api.rs
src/apis/uploads_api.rs
src/apis/usage_api.rs
src/apis/workspaces_api.rs
src/models/add_managed_schema_request.rs
src/models/add_managed_table_decl.rs
Expand All @@ -185,7 +163,6 @@ src/models/column_profile_detail_one_of_2.rs
src/models/column_profile_detail_one_of_3.rs
src/models/column_profile_detail_one_of_4.rs
src/models/column_profile_info.rs
src/models/column_type_spec.rs
src/models/connection_health_response.rs
src/models/connection_info.rs
src/models/connection_refresh_result.rs
Expand All @@ -196,8 +173,6 @@ src/models/create_connection_request.rs
src/models/create_connection_response.rs
src/models/create_database_request.rs
src/models/create_database_response.rs
src/models/create_dataset_request.rs
src/models/create_dataset_response.rs
src/models/create_embedding_provider_request.rs
src/models/create_embedding_provider_response.rs
src/models/create_index_request.rs
Expand All @@ -212,29 +187,18 @@ src/models/database_default_schema_decl.rs
src/models/database_default_table_decl.rs
src/models/database_detail_response.rs
src/models/database_summary.rs
src/models/dataset_source.rs
src/models/dataset_source_one_of.rs
src/models/dataset_source_one_of_1.rs
src/models/dataset_source_one_of_2.rs
src/models/dataset_source_one_of_3.rs
src/models/dataset_source_one_of_4.rs
src/models/dataset_summary.rs
src/models/dataset_version_summary.rs
src/models/discovery_status.rs
src/models/embedding_provider_response.rs
src/models/error.rs
src/models/execute_saved_query_request.rs
src/models/get_connection_response.rs
src/models/get_database_context_response.rs
src/models/get_dataset_response.rs
src/models/get_result_response.rs
src/models/get_secret_response.rs
src/models/index_entry_response.rs
src/models/index_info_response.rs
src/models/index_status.rs
src/models/information_schema_response.rs
src/models/inline_data.rs
src/models/inline_dataset_source.rs
src/models/job_result.rs
src/models/job_status.rs
src/models/job_status_response.rs
Expand All @@ -243,8 +207,6 @@ src/models/list_connection_types_response.rs
src/models/list_connections_response.rs
src/models/list_database_contexts_response.rs
src/models/list_databases_response.rs
src/models/list_dataset_versions_response.rs
src/models/list_datasets_response.rs
src/models/list_embedding_providers_response.rs
src/models/list_indexes_page_response.rs
src/models/list_indexes_response.rs
Expand All @@ -265,38 +227,32 @@ src/models/numeric_profile_detail.rs
src/models/query_request.rs
src/models/query_response.rs
src/models/query_run_info.rs
src/models/refresh_dataset_response.rs
src/models/refresh_request.rs
src/models/refresh_response.rs
src/models/refresh_warning.rs
src/models/result_info.rs
src/models/results_format_query.rs
src/models/saved_query_dataset_source.rs
src/models/saved_query_detail.rs
src/models/saved_query_summary.rs
src/models/saved_query_version_info.rs
src/models/schema_refresh_result.rs
src/models/secret_metadata_response.rs
src/models/sql_query_dataset_source.rs
src/models/submit_job_response.rs
src/models/table_info.rs
src/models/table_profile_response.rs
src/models/table_refresh_error.rs
src/models/table_refresh_result.rs
src/models/temporal_profile_detail.rs
src/models/text_profile_detail.rs
src/models/update_dataset_request.rs
src/models/update_dataset_response.rs
src/models/update_embedding_provider_request.rs
src/models/update_embedding_provider_response.rs
src/models/update_saved_query_request.rs
src/models/update_secret_request.rs
src/models/update_secret_response.rs
src/models/upload_dataset_source.rs
src/models/upload_info.rs
src/models/upload_response.rs
src/models/upsert_database_context_request.rs
src/models/upsert_database_context_response.rs
src/models/url_dataset_source.rs
src/models/workspace_detail.rs
src/models/workspace_list_item.rs
src/models/workspace_usage_response.rs
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Changed

- chore: remove datasets API and related job types

### Fixed

- Pre-response connection errors are now retried transparently on **any** method,
Expand Down
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# hotdata

Official Rust client for the [Hotdata](https://www.hotdata.dev) HTTP API: workspaces, connections, datasets, SQL queries, results, secrets, uploads, indexes, jobs, embedding providers, and workspace context.
Official Rust client for the [Hotdata](https://www.hotdata.dev) HTTP API: workspaces, connections, databases, SQL queries, results, secrets, uploads, indexes, jobs, embedding providers, and workspace context.

The crate pairs a fully generated, typed API surface (`hotdata::apis`, `hotdata::models`) with a hand-written ergonomic layer: a flat [`Client`](#quickstart) that handles transparent API-token to JWT exchange, plus an optional Apache Arrow result decoder.

Expand Down Expand Up @@ -88,13 +88,13 @@ ergonomic, workspace-scoped handles so you never pass a `Configuration` around:

```rust
// Grouped handles: client.<resource>().<operation>(..)
let datasets = client.datasets().list(Some(20), None).await?;
let dataset = client.datasets().get(&datasets.datasets[0].id).await?;
let connections = client.connections().list().await?;
let connection = client.connections().get(&connections.connections[0].id).await?;
let secrets = client.secrets().list().await?;
let runs = client.query_runs().list(Some(50), None, None, None).await?;
```

Handles exist for every resource — `datasets`, `connections`, `connection_types`,
Handles exist for every resource — `connections`, `connection_types`,
`databases`, `database_context`, `embedding_providers`, `indexes`,
`information_schema`, `jobs`, `queries`, `query_runs`, `results`, `refresh`,
`saved_queries`, `secrets`, `uploads`, `workspaces`. The hottest
Expand Down Expand Up @@ -142,11 +142,11 @@ intents so call sites read clearly:
```rust
use hotdata::field;

let mut req = UpdateDatasetRequest::new();
req.label = field::set("renamed"); // set
req.pinned_version = field::clear(); // send null (unpin)
// req.table_name left as None -> omitted -> unchanged
client.datasets().update(&dataset.id, req).await?;
let mut req = UpdateSavedQueryRequest::new();
req.name = field::set("renamed"); // set
req.description = field::clear(); // send null (clear)
// req.sql left as None -> omitted -> unchanged
client.saved_queries().update(&saved_query_id, req).await?;
```

Every resource lives under `hotdata::apis::<resource>_api`, and request/response
Expand Down
15 changes: 0 additions & 15 deletions docs/ColumnTypeSpec.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/CreateDatabaseRequest.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**default_catalog** | Option<**String**> | 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** | Option<**String**> | 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** | Option<**String**> | 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** | Option<**String**> | 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** | Option<[**Vec<models::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]
Expand Down
13 changes: 0 additions & 13 deletions docs/CreateDatasetRequest.md

This file was deleted.

16 changes: 0 additions & 16 deletions docs/CreateDatasetResponse.md

This file was deleted.

4 changes: 2 additions & 2 deletions docs/DatabaseContextApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Removes a named context document from a database.
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**database_id** | **String** | Database ID | [required] |
**name** | **String** | Context key: same character rules as a dataset table name | [required] |
**name** | **String** | Context key: same character rules as a table name | [required] |

### Return type

Expand Down Expand Up @@ -53,7 +53,7 @@ Get one database context
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**database_id** | **String** | Database ID | [required] |
**name** | **String** | Context key: same character rules as a dataset table name | [required] |
**name** | **String** | Context key: same character rules as a table name | [required] |

### Return type

Expand Down
2 changes: 1 addition & 1 deletion docs/DatabasesApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ Name | Type | Description | Required | Notes
> models::CreateDatabaseResponse create_database(create_database_request)
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.<table>` works out of the box. The optional `name` is a free-form display label and is not required to be unique. Optional `default_catalog` overrides the name the default catalog answers to; it must be a valid SQL identifier and may not collide with the `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.<table>` works out of the box. The optional `name` is a free-form display label and is not required to be unique. Optional `default_catalog` overrides the name the default catalog answers to; it must be a valid SQL identifier and may not collide with the reserved catalog names `hotdata`, `datasets`, or `information_schema`. Optional `schemas` declares additional schemas/tables on the default catalog at create time; declared tables can be loaded via the standard managed-tables-load endpoint targeting `default_connection_id`. Optional `expires_at` sets when the database expires — accepts either an RFC 3339 timestamp or a relative duration suffixed with `h` (hours), `m` (minutes), or `d` (days), e.g. `24h`, `48h`, `90m`, `7d`. When omitted, the database never expires. Expiry is best-effort: the database will not be deleted before `expires_at`, but cleanup may run later than the exact timestamp.

### Parameters

Expand Down
15 changes: 0 additions & 15 deletions docs/DatasetSource.md

This file was deleted.

14 changes: 0 additions & 14 deletions docs/DatasetSourceOneOf.md

This file was deleted.

13 changes: 0 additions & 13 deletions docs/DatasetSourceOneOf1.md

This file was deleted.

Loading
Loading