Stop re-explaining the same step
Give any step a name. Mention it in a later cell and Lunapad wires the dependency, the same idea across notebooks in a shared workspace.
One notebook from first question to shared report.
Ask questions, connect sources, and see answers inline.
Give any step a name. Mention it in a later cell and Lunapad wires the dependency, the same idea across notebooks in a shared workspace.
PRQL, SQL, Python, or a visual pipeline in every cell. Click to build, then open the text when you want to edit the details.
Run pandas, numpy, or plotly in a Python cell on the server. Name the output like any other step, and downstream PRQL or SQL cells can pick it up.
Upload a spreadsheet, query DuckDB in the browser, or connect Postgres, ClickHouse, MySQL, or Snowflake through Trino. Read-only by default.
Because external connections share one query layer, you can join a warehouse table to an upload or a second database without moving data first.
Results land right below the step, on your computer with DuckDB WASM or against your team warehouse when you connect one.
Lunapad treats analysis like a chain of named answers. You can read it, rerun it, publish it, and turn the parts that matter into dbt models.
Open a CSV, DuckDB file, spreadsheet, warehouse, or dbt project. Lunapad keeps the work in the browser until you choose a shared setup.
Ask a question, give the result a useful name, then reference that name in the next question. The notebook becomes a readable chain instead of one giant query.
When a source or step changes, Lunapad follows the dependency map and refreshes the affected answers, charts, and report blocks.
Share a report link for review, schedule refreshes on a hosted workspace, or move stable logic into your dbt project without starting over.
Lunapad runs on DuckDB in the browser, registers external catalogs through Trino, and carries the work into dbt, reports, exports, and project files.
Connect operational databases through managed Trino catalogs.
Bring semi-structured stores and search indexes into the same query graph.
Use analytical databases, sheets, warehouses, and uploaded files together.
Move from notebook steps to project assets and reports.
No account, no cloud, no usage limits. Clone the repo and start it with Docker Compose.
$ git clone https://github.com/nicodemus-opon/lunapad && cd lunapad && docker compose up For teams that want a shared Lunapad workspace without running the server, upgrades, and backups themselves. The hosted service is opening in beta for a small number of teams; bring your data sources, dbt project, and reporting workflow, and we will help shape the first workspace with you.
No, not by default. Lunapad runs right in your browser, so your files stay on your computer unless you choose to connect a shared source like a team database. It's read-only by default, so nothing gets changed by accident.
Upload a spreadsheet or file directly, or connect to DuckDB, Postgres, ClickHouse, MySQL, Snowflake, and other federated sources through Trino — then combine them in one question.
Only if you choose to. The AI query drafting feature can use a popular AI service, or you can run a private AI on your own computer instead, so no data has to leave your machine.
Yes. The core app is open source, and you can try the hosted app at app.lunapad.dev or self-host from the GitHub repo. Managed hosting is a separate option for teams that want Lunapad run for them.
Yes. Managed hosting is for teams that want a shared Lunapad workspace without operating the server themselves. Contact sales and we can talk through your data sources, dbt project, and reporting workflow.
No. Start with a blank notebook and any data source. When your team already uses dbt, open the project in Lunapad to run models, see lineage, and promote notebook cells to real models on disk.
Yes on self-host. Docker Compose runs a shared workspace: notebooks, connections, and your dbt project live together, with roles for who can edit or only view. See the self-hosting guide in the docs.
Lunapad is open source and runs on your machine or your server. It is notebook-first: you explore interactively, then publish reports from the same place. There is no per-seat SaaS notebook tax, and your data does not have to live in a vendor cloud by default.
Evidence builds static report sites at compile time. Lunapad is for live exploration first — run cells, iterate, chain steps — then publish reports that refresh from live queries, with filter widgets your readers can use themselves.
From your first question to a polished report, all in one place.