Releases: hotdata-dev/sdk-python
Releases · hotdata-dev/sdk-python
hotdata 0.4.1
Changed
Configurationnow defaults to a retry policy that transparently retries
pre-response connection resets (stale pooled keep-alive connections, e.g.
ProtocolError('Connection aborted.', ConnectionResetError)) on every
method, includingPOST. Such a reset happens before the request reaches the
server, so retrying on a fresh connection cannot double-execute. Read timeouts
and status retries stay idempotent-only. Pass an explicitretriesto
override (#118).- chore: make api doc language end-user focused
hotdata 0.4.0
Added
hotdata.query.QueryApi: enhanced query client that transparently retries
HTTP 429 (OVERLOADED) admission shedding honoringRetry-After, and
auto-follows truncated results to materialize the full row set, guarded by
configurablemax_auto_rows(default 1M) andmax_auto_bytes(default
64 MiB) ceilings (#688).ResultErrorbase class for the result-lifecycle exceptions
(ResultFailedError,ResultTimeoutError,ResultTooLargeError,
ResultIncompleteError,ResultUnavailableError) so callers can catch them
with a singleexcept.
Changed
from hotdata import QueryApi/ResultsApinow resolve to the enhanced
clients (429 retry + truncation auto-follow; Arrow IPC fetch) instead of the
bare generated classes, so the default happy path gets the safe behavior the
query contract needs. The raw generated classes remain importable from
hotdata.api.query_api/hotdata.api.results_api.
hotdata 0.3.1
Security
- Raised dependency floors to patched releases:
pyarrow >= 14.0.1(CVE-2023-47248, RCE via unsafe deserialization) andpydantic >= 2.4.0(CVE-2024-3772, regex denial of service).
hotdata 0.3.0
Added
- Transparent API-token → JWT exchange: the client now exchanges an opaque API token for a short-lived JWT on first use and keeps it refreshed, so the wire always carries a current token. Credentials already shaped like a JWT pass through unchanged. Set
HOTDATA_DISABLE_JWT_EXCHANGEto an affirmative value (1,true,yes,on) as a hard escape hatch. - Managed-catalog editing endpoints:
add_managed_schemaandadd_managed_tableonConnectionsApiandDatabasesApi, with new modelsAddManagedSchemaRequest,AddManagedTableDecl,AddManagedTableRequest,ManagedSchemaResponse, andManagedTableResponse. - Typed
x_database_idparameter onSavedQueriesApi.execute_saved_query(required) andDatasetsApi.create_dataset, scoping execution to a database the same wayQueryApi.querydoes — no more_headersoverride. database_idfield onQueryRequestas a body-level alternative to theX-Database-Idheader.storage_backendfield onCreateDatabaseRequestto select the default catalog's physical backend (parquetorducklake).default_catalogfield onCreateDatabaseRequestto name the database's auto-created default catalog within its query scope, surfaced onCreateDatabaseResponse,DatabaseDetailResponse, andDatabaseSummary.
hotdata 0.2.6
Added
default_cataloganddefault_schemafields onQueryRequestto control how unqualified table references resolve within anX-Database-Idscope.
hotdata 0.2.5
Changed
- Release 0.2.5
hotdata 0.2.4
Changed
- Release 0.2.4
hotdata 0.2.3
Added
- Databases API client (
DatabasesApi) — create, get, list, delete databases and manage catalog attachments. - New models:
CreateDatabaseRequest,CreateDatabaseResponse,DatabaseDetailResponse,DatabaseSummary,DatabaseAttachmentInfo,DatabaseDefaultSchemaDecl,DatabaseDefaultTableDecl,ListDatabasesResponse,AttachDatabaseCatalogRequest. expires_atfield onCreateDatabaseRequestfor setting database expiry.connection_typesfield onListConnectionTypesResponse; updatedConnectionTypeDetailandConnectionTypeSummarymodels.
hotdata 0.2.2
Fixed
- Add
ApiClient.close()andRESTClientObject.close()so callers can release urllib3 connection pools and use context managers safely.
hotdata 0.2.1
What's Changed
- chore: regenerate client from updated OpenAPI spec by @hotdata-automation[bot] in #67
- chore: release hotdata 0.2.1 by @eddietejeda in #68
Full Changelog: v0.2.0...v0.2.1