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.8.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.8.0-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: uvtask-0.8.0.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","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.8.0.tar.gz
Algorithm Hash digest
SHA256 1a97b039ba5e928022a7b63e589dbb638dfe3c53fd5b24130da98e0789a3c1df
MD5 07a6072eb612e406672c644032d5ca4e
BLAKE2b-256 6ace737692f67c100aae9e5867994bce3bebd7ce6279466bab5c5923414aa8a1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uvtask-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","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.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d5b08a8289ad23ad0c46d509c2de1f36cd300d88dc68c4d5ed5ed829abf71a47
MD5 effde941ce46ce218d454be17734696c
BLAKE2b-256 cd7c510c690dd71fc11233335f9b4c074766b4da1b295bac52b1ce792fda3462

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