https://github.com/pawamoy/duty
A simple task runner.
https://github.com/pawamoy/duty
python runner task task-runner
Last synced: about 1 year ago
JSON representation
A simple task runner.
- Host: GitHub
- URL: https://github.com/pawamoy/duty
- Owner: pawamoy
- License: isc
- Created: 2020-10-02T18:06:36.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-03-01T16:22:27.000Z (about 1 year ago)
- Last Synced: 2025-05-12T09:42:09.044Z (about 1 year ago)
- Topics: python, runner, task, task-runner
- Language: Python
- Homepage: https://pawamoy.github.io/duty/
- Size: 4.83 MB
- Stars: 115
- Watchers: 3
- Forks: 7
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# duty
[](https://github.com/pawamoy/duty/actions?query=workflow%3Aci)
[](https://pawamoy.github.io/duty/)
[](https://pypi.org/project/duty/)
[](https://app.gitter.im/#/room/#duty:gitter.im)
A simple task runner.
Inspired by [Invoke](https://github.com/pyinvoke/invoke).

## Installation
```bash
pip install duty
```
With [`uv`](https://docs.astral.sh/uv/):
```bash
uv tool install duty
```
## Quick start
Create a `duties.py` file at the root of your repository.
```python
from duty import duty
@duty
def docs(ctx):
ctx.run("mkdocs build", title="Building documentation")
```
You can now use the command line tool to run it:
```bash
duty docs
```
See the [Usage](https://pawamoy.github.io/duty/usage/)
section in the documentation for more examples.
Also see ["Why choosing duty over..."](https://pawamoy.github.io/duty/#why-duty-over).