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.6.0.tar.gz (14.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.6.0-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: uvtask-0.6.0.tar.gz
  • Upload date:
  • Size: 14.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.6.0.tar.gz
Algorithm Hash digest
SHA256 d6becb19041cd6a5f5292326c67400640c02592b0e807ad014a618d6be35d279
MD5 e9296191205b286d21d12a32eb73194a
BLAKE2b-256 e71a2c37869a25d2499db8113d2444f90f7a76bfc8aa9910e978419e26213cbb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uvtask-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 17.2 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.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1ffb6724d547e2fd4b072130085d35a9e2b117f094b593be982d1bc999a50531
MD5 7c3d5d295b7818453fe984681efedeb0
BLAKE2b-256 85ef8c1e3e91168a0bb83cd62ff3e14e84faae2cb5b57dd0b5d228ca4ec811d1

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