explaingit

windmill-labs/windmill

16,469HTMLAudience · ops devopsComplexity · 4/5LicenseSetup · hard

TLDR

Windmill is a self-hostable platform that turns scripts (Python, TypeScript, SQL, Go, and more) into scheduled jobs, webhook-triggered APIs, and low-code internal apps, replacing cron jobs, Airflow, and Retool in one system.

Mindmap

mindmap
  root((windmill))
    What it does
      Script execution platform
      Workflow orchestration
      Internal app builder
    Trigger types
      Schedules
      Webhooks
      HTTP routes
      Kafka topics
      Email
    Languages
      Python
      TypeScript
      SQL
      Go and Bash
    Tech Stack
      Rust backend
      Svelte frontend
      PostgreSQL queue
    Alternatives replaced
      Retool
      Pipedream
      Airflow
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Replace a tangle of cron jobs and bash scripts with scheduled Windmill workflows that have a web UI and audit log.

USE CASE 2

Give non-technical teammates a form-driven interface to run internal admin scripts without seeing or touching any code.

USE CASE 3

Build a multi-step data pipeline that chains Python and SQL scripts, triggered by a webhook, schedule, or email.

USE CASE 4

Self-host a Retool or Pipedream alternative that keeps all scripts and data on your own infrastructure.

Tech stack

RustPythonTypeScriptGoSveltePostgreSQLDocker

Getting it running

Difficulty · hard Time to first run · 1h+

Self-hosting requires Docker Compose with a PostgreSQL instance, workers are stateless but the Postgres setup adds meaningful infra overhead.

AGPLv3, free to use and modify, but any service you run publicly using this code must also be released as open source under the same license.

In plain English

Windmill is an open-source platform that lets a team turn ordinary scripts into the building blocks of their internal tooling. Instead of writing yet another small dashboard or webhook handler from scratch, a developer writes a script that performs one task, looking up a customer or kicking off a refund, and Windmill automatically gives it a web form, a URL to trigger it elsewhere, and a place to schedule it. Scripts can then be chained into multi-step flows, or combined into richer apps with a low-code builder. According to the README, scripts can be written in Python, TypeScript, Go, Bash, SQL, GraphQL, PowerShell, Rust and other languages, and edited either in a built-in web IDE or synced with a GitHub repository through a CLI, a VS Code extension or Git sync. Each script's parameters are parsed automatically to generate a frontend, so non-technical users can run it without seeing the code. Scripts and flows can be kicked off by schedules, webhooks, HTTP routes, Kafka topics, WebSockets, emails and other triggers. The backend is written in Rust, jobs are pulled from a Postgres queue by stateless workers, the frontend is built with Svelte, and sandboxing uses nsjail and PID namespace isolation. Someone would adopt Windmill to replace a patchwork of cron jobs, internal admin scripts and lightweight dashboards with one self-hostable system, or as an open-source alternative to tools the README positions it against, such as Retool, Pipedream, Superblocks and a simplified Temporal. The project is licensed under AGPLv3 and Windmill Labs offers commercial support. The repository's primary language is listed as HTML, and the full README is longer than what was provided.

Copy-paste prompts

Prompt 1
Write a Windmill Python script that queries a PostgreSQL database and sends a Slack notification with the row count, then show me how to schedule it to run every hour.
Prompt 2
Show me how to create a Windmill flow that runs a TypeScript script, pauses for human approval, then executes a SQL script on the result.
Prompt 3
How do I sync my Windmill scripts to a GitHub repository so changes are version-controlled using the Windmill CLI?
Prompt 4
Create a Windmill app with a form that takes a customer email, looks them up via a Python script, and displays the result, the end user sees only the form.
Prompt 5
What Docker Compose configuration do I need to self-host Windmill with a PostgreSQL backend and worker service?
Open on GitHub → Explain another repo

← windmill-labs on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.