Windmill Labs
Windmill

Data tables

SQL storage with near-zero setup

Store and query relational data from scripts, flows, and apps. Windmill manages the database, credentials, and schema so you just write SQL.

SQL storage with near-zero setup

Datatables are a workspace-scoped layer on top of your own PostgreSQL database, added as a resource. Configure it once, then any script, flow, or app can query it. Windmill manages credentials internally so they are never exposed to users.

Query from any language

TypeScript, Python, DuckDB, and raw SQL are supported. In TypeScript, string interpolation is automatically converted to parameterized queries to prevent SQL injection. Python uses positional arguments for the same purpose.

Read the docs
Screenshot coming soon

Schema organization

Use schemas to organize tables within a datatable. Set a default search path per script or use schema.table syntax. Typically one or a few datatables per workspace, with schemas for logical separation.

Read the docs
Screenshot coming soon

Asset tracking and data lineage

Windmill auto-detects datatable usage in scripts and shows them as asset nodes in flows. Read vs write mode is detected automatically. Click through to the Database Explorer to inspect schemas and data.

Read the docs
Screenshot coming soon

Full-code apps integration

Whitelist tables in raw_app.yaml and query them from backend runnables with SQL. The CLI generates a DATATABLES.md context file so AI coding assistants understand the data model.

Read the docs
Screenshot coming soon

Database Studio

A built-in app component for browsing, editing, and managing tables visually. Available in both the app editor and as a standalone tool.

Read the docs
Screenshot coming soon

Frequently asked questions

Build your internal platform on Windmill

Scripts, flows, apps, and infrastructure in one place.