Skip to main content

hotdata-jupyter

Jupyter helpers for Hotdata — rich query display, workspace selection, managed databases, and a %%hotdata cell magic for running SQL directly in cells.

Install

pip install hotdata-jupyter

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

import hotdata_jupyter as hj

client = hj.from_env()
result = client.execute_sql("SELECT 1 AS ok")
hj.display_query_result(result)

Workspace selection

When HOTDATA_WORKSPACE is set, the client connects to that workspace directly. If you have multiple workspaces, use the interactive picker — it renders a dropdown and updates ws.client when the selection changes:

ws = hj.workspace_selector_from_env()
display(ws.ui)
client = ws.client

Running SQL

result = client.execute_sql("SELECT * FROM orders LIMIT 10")
hj.display_query_result(result)

display_query_result renders the row count, column names, and a pandas DataFrame inline in the notebook.

Cell magic

Load the extension once per session, then use %%hotdata cells to write SQL without wrapping it in Python strings. The last active client is picked up automatically:

%load_ext hotdata_jupyter
%%hotdata
SELECT
  product,
  SUM(amount) AS total
FROM orders
GROUP BY product
ORDER BY total DESC

Managed databases

List the managed databases in your workspace:

hj.display_managed_databases_panel(client)

Create a database and load parquet files programmatically:

db = hj.create_managed_database(client, name="sales", tables=["orders"])

with open("orders.parquet", "rb") as f:
    loaded = hj.load_managed_table_from_bytes(client, "sales", "orders", f.read())

print(f"Loaded {loaded.row_count} rows into {loaded.full_name}")

Or use the interactive ipywidgets form:

writer = hj.managed_database_writer(client)
writer.display()

Open the demo notebook

jupyter lab examples/demo.ipynb

The demo covers workspace selection, connection listing, schema browsing, query history, and cell magics.

Development

uv sync --locked
uv run pytest

Metadata

Release files for hotdata-jupyter 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hotdata-jupyter 0.2.2
File Size Uploaded
hotdata_jupyter-0.2.2.tar.gz 92.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hotdata-jupyter 0.2.2
File Interpreter ABI Platform
hotdata_jupyter-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 101.6 kB

Release files / hotdata_jupyter-0.2.2.tar.gz

Download URL hotdata_jupyter-0.2.2.tar.gz
Size 92.9 kB
Tags Source
SHA-256 checksum
How to use checksums
12c1df064e1b73eb4ec58cc82b27af6745d65fe10c1ed231d5508bf439d5ad78
BLAKE2b-256 checksum
How to use checksums
7dbab4ded3654ec5f3a5785c759a440411e45b510941b9db8a21feb7fd31eb59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 27, 2026.

Transparency log

Release files / hotdata_jupyter-0.2.2-py3-none-any.whl

Download URL hotdata_jupyter-0.2.2-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ffd44d0e81d60cd9eaccecc072ba278bfc994cd0f460c0fe1126973f99a76990
BLAKE2b-256 checksum
How to use checksums
cdf82d68b400611679b7120929dd402962deb478bc2434e7532154d5c2b6d7f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page