Skip to main content

task automation tool for Python, similar to Make, Rake, Ant, or Cook

Project description

pyKook is a very useful tool to control your task such as compile, install or clean. pyKook is similar to Make, Rake, Ant, or Cook. Kookbook.py, which is a task definition file for pyKook, is written in Python.

Simple Example of Kookbook.py:

@recipe
def hello(c):
    print("Hello")

Output Result:

bash> kk hello     # or pykook hello
### * hello (recipe=hello)
Hello

Other Example of Kookbook.py:

CC = prop('CC', 'gcc -Wall')
kookbook.default = 'all'

@recipe
@ingreds('hello')                      # ingredients
def all(c):                            # or task_all(c)
    pass

@recipe('*.o', ['$(1).c', '$(1).h'])   # @recipe(product, [ingredients])
def file_o(c):
    """compile *.c and *.h into *.o"""
    system(c%'$(CC) -c $(ingred)')

@recipe('hello', ['hello.o'])          # @recipe(product, [ingredients])
def file_hello(c):
    """create 'hello' command"""
    system(c%'$(CC) -o $(product) $(ingred)')

@recipe
def clean(c):
    rm_rf("**/*.o", "**/*~")

## or
kookbook.load('@kook/books/clean.py')   # load 'clean' and 'sweep' recipes
CLEAN.append("**/*.o")

See User’s Guide for details.

Supported by

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