IntegrationsMarimo

Marimo

Marimo widgets for Hotdata — run SQL, browse your schema, and work with managed databases in reactive notebooks.

Install

pip install hotdata-marimo

Authentication

Set HOTDATA_API_KEY in your environment. Optionally set HOTDATA_WORKSPACE to pin a specific workspace (the first available workspace is used if unset).

Quickstart

Because Marimo reruns cells reactively, construct a widget in one cell and read its .ui or .result in the next.

Cell 1

import hotdata_marimo as hm

client = hm.from_env()
editor = hm.sql_editor(client, default_sql="SELECT 1 AS ok")
return editor.ui

Cell 2

return hm.query_result(editor.result)

Click Run on Hotdata after editing SQL.

Workspace selection

If you have multiple workspaces, add an interactive picker:

ws = hm.workspace_selector_from_env()
client = ws.client
return ws.ui

Native SQL cells

Register the Hotdata engine to use Marimo's built-in SQL cells:

hm.register_hotdata_sql_engine()
client = hm.from_env()
_df = mo.sql("SELECT * FROM orders LIMIT 10", engine=client)

Browse your schema

browser = hm.table_browser(client)
return browser.ui

Managed databases

writer = hm.managed_database_writer(client)
return writer.tab_ui

Widgets

WidgetCode
SQL editorhm.sql_editor(client)
Query resulthm.query_result(result)
Table browserhm.table_browser(client)
Database writerhm.managed_database_writer(client)
Workspace pickerhm.workspace_selector_from_env()
Connection statushm.connection_status(client)
Recent resultshm.recent_results(client)
Run historyhm.run_history(client)

Demo notebook

uv run marimo edit examples/demo.py --no-token

See also