windmill
by
windmill-labs

Description: Open-source developer platform to power your entire infra and turn scripts into webhooks, workflows and UIs. Fastest workflow engine (13x vs Airflow)....

View on GitHub ↗

Summary Information

Updated 17 minutes ago
Added to GitGenius on April 21st, 2024
Created on May 5th, 2022
Open Issues & Pull Requests: 801 (+0)
Number of forks: 1,023
Total Stargazers: 17,122 (+1)
Total Subscribers: 51 (+0)

Issue Activity (beta)

Open issues: 516
New in 7 days: 2
Closed in 7 days: 2
Avg open age: 454 days
Stale 30+ days: 499
Stale 90+ days: 479

Recent activity

Opened in 7 days: 2
Closed in 7 days: 1
Comments in 7 days: 6
Events in 7 days: 26

Top labels

  • bug (554)
  • release: 1.574.2 (20)
  • frontend (18)
  • webmux_oneshot (16)
  • backend (10)
  • release: 1.513.1 (10)
  • product (9)
  • release: 1.572.2 (7)

Repository Insights (GitGenius)

Median issue/PR response: N/A
Mean response time: 24.6 days
90th percentile: 0.6 hours
Tracked items: 912

Most active contributors

Detailed Description

Windmill is an open-source developer platform written in Rust that enables users to transform scripts into APIs, background jobs, workflows, and user interfaces. The platform supports multiple programming languages including Python, TypeScript, Go, Bash, SQL, GraphQL, PowerShell, Rust, and others, making it accessible to developers with diverse technical backgrounds. It functions as a self-hostable alternative to commercial platforms like Retool, Pipedream, and Superblocks, while also offering a simplified approach to workflow orchestration compared to Temporal.

The core workflow in Windmill involves three main steps. First, developers write minimal scripts in their language of choice using either the provided web IDE or by synchronizing with their own GitHub repository through a VS Code extension. Second, the platform automatically parses script parameters and generates frontend interfaces without requiring manual UI development. Third, users can chain scripts together into flows or compose them into more complex applications using the low-code builder. Scripts and flows can be triggered through multiple mechanisms including schedules, webhooks, HTTP routes, Kafka, WebSockets, and email triggers.

The technical stack leverages PostgreSQL for data storage with compatibility for managed services like AWS Aurora, Google Cloud SQL, and Azure PostgreSQL. The backend consists of stateless API servers and workers written in Rust that pull jobs from a Postgres queue. The frontend is built with Svelte 5. Sandboxing is implemented through nsjail and PID namespace isolation to prevent unauthorized access to system resources. Runtime support includes Bun and Deno for TypeScript/JavaScript, Python 3 with uv for dependency management, and various other language runtimes.

A significant differentiator is Windmill's performance characteristics. According to the repository's benchmarks, Windmill is 13 times faster than Airflow and outperforms other self-hostable workflow engines including Prefect and Temporal in both lightweight task scenarios and long-running task scenarios. Once a job starts, there is minimal overhead compared to running the script directly on a node, with approximately 50 milliseconds of added latency from queue processing and result storage, and typical lightweight jobs completing in around 100 milliseconds total.

The project maintains active development with 910 tracked issues and pull requests showing a median response latency of 0 hours and a mean of 591.1 hours. The most active contributor is rubenfiszel with 1382 recorded events, followed by hugocasa with 155 events and wasnertobias with 97 events. Bug reports represent the most common issue type with 406 tracked instances. The repository shares contributors with major projects including Microsoft's VSCode and TypeScript, as well as the Rust language project itself.

Windmill supports multiple deployment options including Docker Compose for simple setups, Kubernetes via Helm charts, and compatibility with major cloud providers including AWS, GCP, Azure, and others. The platform includes built-in support for OAuth, SSO through Google Workspace, Microsoft Azure, and Okta, plus SMTP configuration. The Community Edition is available under AGPLv3 with additional proprietary features included in the distributed binaries, while the source code without enterprise features remains fully open-source under AGPLv3 licensing.

windmill
by
windmill-labswindmill-labs/windmill

Repository Details

Fetching additional details & charts...