Build
Build mission-critical internal tools and data pipelines that integrate directly with your existing stack and resources using code with a powerful WebIDE or locally using our CLI and your favorite editor and AI agent.Write scripts in 20+ languages (Python, TS, Go...) with full LSP support, auto-generated UI, managed dependencies and turn them into instant endpoints or hooks for pubsub events.
0:00 / 0:00
Orchestrate your scripts into high-performance flows with full code flexibility, AI assistance, and sub-20ms overhead.
Build powerful full-stack apps using Windmill as a backend and any framework as frontend.
Build complex flows without complexity
Build complex Flows from atomic scripts, either from your workspace or the Hub.Approval
Suspend the execution of a flow and request confirmation from given users before resuming.
Learn more
Data pipelines
Orchestrate pipelines & ETLs with observability and control at any step.
Learn more
Advanced Features
Build powerful flows with advanced features like triggers, error handling, retries, loops and branches.
Learn more
Workflows as code
Build, version, and manage your workflows as code with the Windmill SDK. Use your favorite IDE, version control system, and CI/CD pipeline to manage your workflows.
Learn more
1from wmill import task
2
3import pandas as pd
4import numpy as np
5
6@task()
7# You can specify tag to run the task on a specific type of worker, e.g. @task(tag="custom_tag")
8def heavy_compute(n: int):
9 df = pd.DataFrame(np.random.randn(100, 4), columns=list('ABCD'))
10 return df.sum().sum()
11
12
13@task
14def send_result(res: int, email: str):
15 # logs of the subtask are available in the main task logs
16 print(f"Sending result {res} to {email}")
17 return "OK"
18
19def main(n: int):
20 l = []
21
22 # to run things in parallel, simply use multiprocessing Pool map instead: https://docs.python.org/3/library/multiprocessing.html
23 for i in range(n):
24 l.append(heavy_compute(i))
25 print(l)
26 return send_result(sum(l), "[email protected]")
27Performance
The fastest and extremely scalable workflow engine.
Learn more
Hub Flows
Explore examples of flow on the Hub