Skip to main content

A simple task runner

Project description

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.

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

yatte-0.10.0.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

yatte-0.10.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file yatte-0.10.0.tar.gz.

File metadata

  • Download URL: yatte-0.10.0.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for yatte-0.10.0.tar.gz
Algorithm Hash digest
SHA256 21ef5009b4213532ae37dc486b4435da95e16758b4c4bf7595c0f397e063b98d
MD5 3abf2586a837d974b3d68d77e52b9d61
BLAKE2b-256 b59ef4ade8b5ed474549bf4857169401f7801ce801373d792beda035c65a67fb

See more details on using hashes here.

File details

Details for the file yatte-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: yatte-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for yatte-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eff7b070333695f498f2f8d1d4274fd3504c4df8971a2e4d1c95ad308bd4bf6c
MD5 2494a53172b75de6e33281ac69576d55
BLAKE2b-256 7a8da1e1a298fd451d04d764ccdfa3640afb5af156f6c42f24a11be7e100e687

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page