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.9.0.tar.gz (15.4 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.9.0-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: uvtask-0.9.0.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","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.9.0.tar.gz
Algorithm Hash digest
SHA256 18c4cca4e510f5fe9d24e02dc6992f3982345dc495280961c6a33f429f25a413
MD5 b4662ba6be2c711a60cdc353cbd3eb60
BLAKE2b-256 22ca2b7fd53a0c665c11da7bfb1e5b85e35af929659dc6bd952d2e8029ec4b34

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uvtask-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","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.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 286a92bf188883b53f75104de50e3e543be16943c8ddd9769459d8f6ad9b3966
MD5 f7bf624ee48e0567b3c5ab4691de497b
BLAKE2b-256 e17cc45c5ff097dcf6a0b3383a2f95c45faaa9c494787ca9ef95edd510518332

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