Hexel notebooks, on live views.
Add Basalt as a data connection in Hexel. SQL cells query views directly, and scheduled runs always see the latest rows.
How it works.
Hexel connects to Basalt with its native connector over the Postgres wire protocol. Schemas appear in the Hexel data browser, and query results can feed Python cells as DataFrames without a copy.
Set it up in three steps.
Connect the tool
In Hexel, add a Basalt connection and paste a service token. Schemas and views show up in the data browser right away.
# create a service token for Hexel basalt connect hex --workspace acme --role analyst ✓ token hex-analyst created · 22 views granted ✓ connection test passed · 38 ms
Shape it with a view
Write plain SQL over the source. Basalt keeps the view current with every record and tracks lineage back to the topic, partition and offset.
CREATE MATERIALIZED VIEW revenue_by_min AS SELECT date_trunc('minute', ts) AS minute, currency, sum(amount) AS revenue, count(*) AS payments FROM payments WHERE status = 'captured' GROUP BY 1, 2;
Read it from anywhere
Every view is an endpoint the moment it exists. Call it over REST, connect with any Postgres client, or use the SDK from your app.
curl https://api.basalt.dev/v1/views/revenue_by_min?limit=5 \ -H "Authorization: Bearer $BASALT_TOKEN"
What you get.
Native connector
Pick Basalt from the Hexel connection list. No driver or JDBC setup.
Schema browser
Views, columns and types appear in the Hexel sidebar with descriptions.
Scheduled runs
Scheduled apps and notebooks query live views, not a stale extract.
SQL to Python
SQL cell results pass to Python cells as pandas DataFrames.
Set your data in stone.
Free up to 10M events a month. No card, no sales call. Your first pipeline is live in about four minutes.