← All integrations
BI & notebooks
Beta
Beta

Craft models, kept live.

Install the craft-basalt adapter and materialize models as Basalt views. They update incrementally as events arrive, not on a schedule.

Setup
5 min
Delivery
Incremental
Throughput
Continuous
Since
v2.2
Overview

How it works.

The adapter adds a materialized_view materialization that compiles each model to a Basalt view. Refs become view dependencies, and Craft tests run as SQL against the live result.

Three Kafka topics stream into the Basalt ordered log, which feeds two materialized views served through the API.KAFKA TOPICSBASALTVIEWSSERVEpayments.v3orders.v1refunds.v2ORDERED LOGpayments_liverevenue_by_minAPI3.1 MS
Setup

Set it up in three steps.

01

Connect the tool

Install craft-basalt with pip and add a basalt target to profiles.yml. Set materialized to materialized_view on the models you want live.

terminal
# register a Craft project with the workspace
basalt connect Craft --project analytics --target prod
✓ profile written · adapter craft-basalt 0.4.1
✓ 31 models compiled · 12 live views
02

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.

views/revenue_by_min.sql
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;
03

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.

terminal
curl https://api.basalt.dev/v1/views/revenue_by_min?limit=5 \
  -H "Authorization: Bearer $BASALT_TOKEN"
✓ 200 OK · 5 rows · served from eu-north-1 in 3.1 ms
Included

What you get.

01

Live models

Models update as rows arrive, so there is no run schedule to tune.

02

Tests included

not_null, unique and custom tests run against the live view.

03

Shared lineage

Refs map to view dependencies, visible in both Craft docs and the console.

04

Mixed projects

Keep batch models in your warehouse and live models in Basalt.

Get started

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.

Project reserved · check your inbox
That didn't go through · check the address and try again
2,400+ teams in productionSOC 2 Type II38 regions