- Workspace selector — When
HOTDATA_WORKSPACEis unset and multiple workspaces exist, exposemo.ui.dropdown(or similar) and rebuild the client when the choice changes. - Connection status — Small status chip (API reachable, workspace id, optional sandbox) using a lightweight health or
workspaces/connectionsprobe. - Query cancel — Wire cancel to the query-run API if/when exposed in the OpenAPI client; surface a Cancel control next to Run.
-
mo.ui.hotdata_*aliases — Re-export or thin wrappers:hotdata_sql_editor,hotdata_table_browser,hotdata_query_result,hotdata_connection_pickerfor discoverability. - Tests — Unit tests with mocked SDK responses; optional integration tests gated on
HOTDATA_API_KEY(mirror sdk-python patterns).
- Schema-aware autocomplete — anywidget (or CodeMirror) + Hotdata
information_schema/ column metadata for table/column suggestions. - Async UX — Progress text or spinner while polling query runs; optional configurable timeouts.
- Run history panel —
QueryRunsApi.list_query_runs+ metadata (latency, touched tables,result_id) in a side panel or collapsible. - Rerun / clear — Explicit rerun without relying only on
run_buttonsemantics; optional “clear result” action.
- Pagination / LIMIT guidance — Surface row counts vs limit; warn when result is truncated if the API exposes it.
- Export — CSV / Parquet download links or buttons (align with Hotdata results/export APIs when available).
- Cached result reuse — Prefer
get_result(result_id)over re-running identical SQL whenresult_idis known. - Materialization / cache status — Show persistence state when the API returns it (
processing/ready/ errors).
- Connection picker — Filter catalog by connection; map display names to ids consistently.
- Schema search — Text filter over tables/columns without loading full dropdowns for huge catalogs.
- Table preview —
LIMITpreview query from browser selection (optional second query). - Generated queries — Starters beyond
SELECT *: profile/join templates from selected tables.
- Deployable Marimo app — Layout recipe (sidebar explorer + editor + result) and docs for
marimo run/ WASM constraints. - Auth in apps — Document env injection for deployed apps; avoid embedding API keys in notebooks.
- README — Install, env vars, minimal notebook example, and “two-cell” pattern for
editor.result+mo.stop. - Changelog — Keep
CHANGELOG.mdonce versions ship.