Metadata-Version: 2.3
Name: uvtask
Version: 0.6.0
Summary: An extremely fast Python task runner.
Keywords: uv,uvx,scripts,tool,pyproject,task,runner
Author: ticdenis
Author-email: ticdenis <navarrodenis940503@outlook.com>
License: MIT
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development
Classifier: Typing :: Typed
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Maintainer: ticdenis
Maintainer-email: ticdenis <navarrodenis940503@outlook.com>
Requires-Python: >=3.13
Project-URL: documentation, https://aiopy.github.io/python-uvtask/
Project-URL: repository, https://github.com/aiopy/python-uvtask
Description-Content-Type: text/markdown

# uvtask

[![image](https://img.shields.io/pypi/v/uvtask.svg)](https://pypi.python.org/pypi/uvtask)
[![image](https://img.shields.io/pypi/l/uvtask.svg)](https://pypi.python.org/pypi/uvtask)
[![image](https://img.shields.io/pypi/pyversions/uvtask.svg)](https://pypi.python.org/pypi/uvtask)
[![Actions status](https://github.com/aiopy/python-uvtask/actions/workflows/ci.yml/badge.svg)](https://github.com/aiopy/python-uvtask/actions)
[![PyPIDownloads](https://static.pepy.tech/badge/uvtask)](https://pepy.tech/project/uvtask)

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):

```shell
uvx uvtask <OPTIONS> [COMMAND]
```

Or install it and use it directly:

```shell
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:

```toml
[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:

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

## 🤝 Contributing

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

## 📄 License

[MIT](https://github.com/aiopy/python-uvtask/blob/master/LICENSE) © uvtask contributors
