An extremely fast Python task runner.
Note: This is an independent, third-party project, not an official Astral tool. It is highly inspired by and designed to work seamlessly with Astral's excellent tools (such as
uv/uvx,ruff, andty). We're grateful for the amazing work the Astral team does for the Python ecosystem!
- ⚡ Extremely fast - Built for speed with zero installation overhead
- 📝 Simple configuration - Define scripts in
pyproject.toml - 🔗 Pre/post hooks - Automatically run hooks before and after commands
- 🎨 Consistent UX - Maintains visual and stylistic continuity with
uv's design language
Run uvtask directly with uvx (no installation required):
uvx uvtask <OPTIONS> [COMMAND]Or install it and use it directly:
uv add --dev uvtask
uv run uvtask <OPTIONS> [COMMAND]Define your scripts in pyproject.toml under the [tool.run-script] (or [tool.uvtask.run-script]) section:
[tool.run-script]
install = "uv sync --dev --all-extras"
format = "uv run ruff format ."
lint = { command = "uv run ruff check .", description = "Check code quality" }
check = ["uv run ty check .", "uv run mypy ."]
pre-test = "echo 'Running tests...'"
test = "uv run pytest"
post-test = "echo 'Tests completed!'"
deploy = [
"echo 'Building...'",
"uv build",
"echo 'Deploying...'",
"uv deploy"
]To run the development version:
uvx -q --no-cache --from $PWD uvtaskContributions are welcome! Please feel free to submit a Pull Request.
MIT © uvtask contributors