Skip to main content

yatte

A simple task runner

Make and Bash are useful tools but the syntax can be tricky, especially if you're writing Bash inside a Makefile. And sometimes you need the flexibility and expressivity of a proper programming language with a standard library.

If you know Ruby, you're probably already familiar with Rake; and for Python there's Invoke. But maybe you don't want to invest time in learning a new tool and its idiosyncracies.

Yatte is for when you just want to write a Python script and get back to work.

Project links

Quickstart

Install the package:

pip install yatte

Create a file named tasks.py containing some functions decorated with @task:

from subprocess import run
from sys import exit, stderr

from yatte import task

@task("greet")
def hello():
    """Greet the world"""
    print("Hello, world!")

@task("list-files")
def list_files(dir):
    """List the files in the directory"""
    shell(f"ls {dir}")

def shell(cmd):
    print("sh>", cmd, file=stderr)
    p = run(cmd, shell=True)
    if p.returncode:
        exit(p.returncode)

Then call yatte by itself to list the tasks:

$ yatte
greet                   Greet the world
list-files dir          List the files in the directory

And yatte {task} to execute the given task:

$ yatte list-files .
sh> ls .
pyproject.toml README.md tasks.py

See the docs for more details.

Release files for yatte 0.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for yatte 0.10.0
File Size Uploaded
yatte-0.10.0.tar.gz 14.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for yatte 0.10.0
File Interpreter ABI Platform
yatte-0.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 22.5 kB

Release files / yatte-0.10.0.tar.gz

Download URL yatte-0.10.0.tar.gz
Size 14.8 kB
Tags Source
SHA-256 checksum
How to use checksums
21ef5009b4213532ae37dc486b4435da95e16758b4c4bf7595c0f397e063b98d
BLAKE2b-256 checksum
How to use checksums
b59ef4ade8b5ed474549bf4857169401f7801ce801373d792beda035c65a67fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.31.0

Release files / yatte-0.10.0-py3-none-any.whl

Download URL yatte-0.10.0-py3-none-any.whl
Size 7.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eff7b070333695f498f2f8d1d4274fd3504c4df8971a2e4d1c95ad308bd4bf6c
BLAKE2b-256 checksum
How to use checksums
7a8da1e1a298fd451d04d764ccdfa3640afb5af156f6c42f24a11be7e100e687
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.31.0

Release history Release notifications | RSS feed

This release

0.10.0 This release

2 release files

0.9.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page