Skip to main content

Simplify writing and executing repetitive tasks.

Project description

Simplify writing and executing repetitive tasks.

Steak is a minimal and powerful utility for collecting all of your mindless, repetitive tasks into a single, brilliantly-named steakfile. As an evolution of bumpy, steak focuses on the same design principles - minimize friction when writing tasks and provide a simple CLI interface to execute your tasks.

Inspired by tools like nose, steak allows you to write plain Python functions which will be automatically discovered and prepared for execution. By inspecting your function signatures, steak learns as much as it can and provides a simple and understandable command line interface to your tasks without requiring any extra effort on your end.

Usage

Write a steakfile / grill.py

Toss the code below in a steakfile or grill.py.

def build():
    '''Builds ALL THE CODE.'''
    print('Building...')

def run():
    '''Runs ALL THE PROGRAMS.'''
    build()
    print('Running...')

def clean():
    '''Cleans ALL THE GARBAGE.'''
    print('Cleaning...')

Execute your tasks

Just call the included grill command-line tool to run your tasks.

$ grill build
Building...
$ grill run
Building...
Running...
$ grill clean
Cleaning...

Execute several tasks

Give multiple space-separated task names to grill to execute them all.

$ grill build run
Building...
Running...

Notice that grill tries to avoid repeating task execution, so it only runs the build task once! You can explicitly run a task multiple times.

$ grill build build run
Building...
Building...
Running...

Save some keystrokes

Steak will allow you to abbreviate command names as much as you want, but if there’s ambiguous tasks, the task selection behavior is unreliable.

$ grill b r
Building...
Running...

Get some help

If you invoke grill with no arguments, an automatic help message will be printed out.

$ grill
build
    Builds ALL THE CODE.
clean
    Cleans ALL THE GARBAGE.
run
    Runs ALL THE PROGRAMS.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
steak-0.1.1.tar.gz (4.9 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page