Skip to content

hotdata-dev/hotdata-runtime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hotdata-runtime

Shared runtime primitives for Hotdata integrations: workspace/session semantics, execution context, query state, run history, and replayable result handles. Framework packages (Marimo, Jupyter, Streamlit, LangGraph) depend on this package.

Runtime boundary and guarantees are defined in CONTRACT.md.

Features

  • Environment-driven client setup — create clients from HOTDATA_API_KEY, optional HOTDATA_API_URL, HOTDATA_WORKSPACE, and HOTDATA_SANDBOX.
  • Workspace resolution — choose an explicit workspace from env, otherwise discover workspaces and select the active workspace or first available workspace.
  • Sandbox/session propagation — pass sandbox session context through the SDK via X-Session-Id.
  • HTTP resilience — configure SDK retries for transient connection failures and retry SQL execution on stale pooled sockets.
  • SQL execution helper — run SQL through POST /v1/query, poll async query runs when needed, and return a QueryResult.
  • Result utilities — convert query results to records, pandas DataFrames, or metadata dictionaries for adapter display layers.
  • History helpers — list recent results and query run history with normalized dataclasses.
  • Health helpers — build compact API/workspace health summaries for UI integrations.

Install:

uv pip install hotdata-runtime
# or: pip install hotdata-runtime

Example:

python examples/basic_usage.py

Development (uses uv; creates .venv/ in this repo):

uv sync --locked
uv run pytest

uv.lock is checked in so CI can run uv sync --locked. The default dev group (pytest) is enabled via [tool.uv] default-groups.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages