Federated datalake for data stations.
git clone https://github.com/plugin-healthcare/pluginlake.git
cd pluginlake
just initRun the Titanic example to verify everything works:
just dev-localOpen http://localhost:3000, find titanic_raw in the asset graph, and click Materialize.
See docs/guides/getting-started.md for a full walkthrough.
Install all dependencies and set up pre-commit hooks:
just initThis runs uv sync --all-groups --all-extras and installs pre-commit hooks.
Run Dagster with your code changes (no Docker):
uv run dagster dev -m pluginlake.definitionsStart the full dev environment with Docker Compose (Dagster + Postgres + FastAPI):
just dev-upThis starts:
| Container | Purpose |
|---|---|
| postgres | Dagster metadata storage |
| dagster | All-in-one: webserver + daemon + code location |
| pluginlake | FastAPI service |
Source code is volume-mounted for hot reload. Stop with just dev-down.
just test # Run tests
just lint # Run ruff + ty
just secure # Security audit dependencies
just pre-commit # Run all pre-commit hooks
just ci # Run all checks (lint + test + secure)Start the production deployment:
just upThis runs the full container architecture:
| Container | Image | Purpose |
|---|---|---|
| postgres | dhi.io/postgres:17-alpine3.22 |
Dagster metadata storage |
| dagster-webserver | dagster-webserver.Dockerfile |
Web UI (port 3000) |
| dagster-daemon | dagster-webserver.Dockerfile |
Schedules, sensors, run queue |
| dagster-code-server | pluginlake.Dockerfile |
Serves asset definitions via gRPC (port 4000) |
| pluginlake | pluginlake.Dockerfile |
FastAPI service |
Stop with just down.
Data stations with custom assets can import pluginlake and extend it. See docs/guides/using-as-package.md.
- API: FastAPI
- Data: DuckLake, Polars
- Orchestration: Dagster
- Infrastructure: Docker, Kubernetes, Traefik, PostgreSQL
- UI: Streamlit (FastAPI backend)
- Getting started — Tutorial with the Titanic example
- Using as a package — Extend pluginlake in your own repo
- Docker guide — Images, builds, and secrets management
- Development guidelines — Coding standards and workflow
- Architecture decisions — ADRs