Skip to main content

An extremely fast Python task runner.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uvtask-0.7.0.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uvtask-0.7.0-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file uvtask-0.7.0.tar.gz.

File metadata

  • Download URL: uvtask-0.7.0.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for uvtask-0.7.0.tar.gz
Algorithm Hash digest
SHA256 369c02bd25cf70f388847e6bdd6981acab104954c0a37a4d41377c1f79bd9b28
MD5 54c6affab4c804e0226b47e53103ae87
BLAKE2b-256 2d43e1bbbe7bf84965369365ba6a33d28b98a24ed7378fde9160005772cac78a

See more details on using hashes here.

File details

Details for the file uvtask-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: uvtask-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for uvtask-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 588ceef2f087865b8288a0f12da4f4f527c65d06da07cd0bf7ea94dd6d914f29
MD5 47c10c35d2cca827896cf3eeedc36fba
BLAKE2b-256 de51315bba5627e65595aa6d8ea9d3510bbc8e2c137ee0006bf458bfc0b2a895

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page