Releases: hotdata-dev/sdk-python
Releases · hotdata-dev/sdk-python
Release list
hotdata 0.5.0
Added
hotdata.UploadsApigainsupload_file(source, ...), a transparent
direct-to-storage upload. Give it a file path, rawbytes, or a seekable
binary file object and it opens an upload session, sends the data straight
to object storage (a single request for a small file, concurrent multipart
for a large one), and finalizes — returning theFinalizeUploadResponse. Your
bytes never round-trip through the API. Supports a progress callback, an
auto-scaled (or caller-set) part size, bounded concurrency with a peak-memory
budget, and idempotent per-part retry (tunable viapart_retry). Failures
raise a typed hierarchy underUploadError:StorageError,
StorageTransportError,MissingETagError,MalformedSessionError, and
SizeLimitError.hotdata.UploadsApi.upload_streamuploadsbytesor a binary stream
(streamed without buffering) in a single request — the fallback for when
direct-to-storage uploads aren't available or the source isn't seekable.- Table loads now accept CSV and JSON source files in addition to Parquet.
Changed
- Regenerated the client from the updated Hotdata OpenAPI spec.
- Documentation: removed stale datasets references and refreshed the MCP + CLI
reference.
Removed
- The datasets API and its related job types have been removed.
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
hotdata 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.