Skip to content

Latest commit

Β 

History

History
70 lines (50 loc) Β· 2.24 KB

File metadata and controls

70 lines (50 loc) Β· 2.24 KB

uvtask

image image image Actions status PyPIDownloads

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, and ty). We're grateful for the amazing work the Astral team does for the Python ecosystem!

Highlights

  • ⚑ 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

🎯 Quick Start

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]

πŸ“ Configuration

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"
]

πŸ› οΈ Development

To run the development version:

uvx -q --no-cache --from $PWD uvtask

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

πŸ“„ License

MIT Β© uvtask contributors