Craft

Software Screenshot:
Craft
Software Details:
Version: 0.2.3
Upload Date: 20 Feb 15
Developer: Jamie Paton
Distribution Type: Freeware
Downloads: 19

Rating: 5.0/5 (Total Votes: 3)

Craft is a tool like Makefile, except everything is in native Python.

Install

pip install craft

Craft works on Python 2.7+ and Python 3.2+.

Crafty files

Craft will read attempt to read crafty.py in the current directory or the environment variable $CRAFTFILE.

An example crafty.py:

from craft import task, depends

@task
@depends('bar', 'foo')
def cake():
 """
 Prints cake, and depends on foo & bar
 to run first
 """
 print('Time for cake')


@task
def bar():
 """ Prints bar """
 print('bar')

@task
def foo():
 print("Hi,I'm foo")

@task
def auto():
 """
 I will run when you supply no arguments to "craft".
 """
 print("Auto - Doing my own thing. Which is 'foo' today.")
 foo()

@task
def setup():
 """
 I will run once on any call to "craft"
 """
 print("Hello good sir, I'm the setup routine.")


Usage

Running craft -h in the directory containing crafty.py will show the list of available tasks. Example:

usage: craft [-h] [task [task ...]]

positional arguments:
 task

optional arguments:
 -h, --help show this help message and exit

Available tasks:

- cake: Prints cake, and depends on foo & bar to run first
- auto: I will run when you supply no arguments to "craft".
- setup: I will run once on any call to "craft"
- foo:
- bar: Prints bar


As you can see, the docstring for each @task function will then be represented in the help output, and docstrings can be omitted.

You can call individual tasks like:

craft foo

and run multiple tasks with one call like:

craft foo bar

What is new in this release:

  • Fix error catching isolation from craft and the actual task

What is new in version 0.2.0:

  • Added setup() and auto() tasks
  • Added support for task dependencies via @depends

Requirements:

  • Python

Similar Software

HGL Suite
HGL Suite

17 Feb 15

Avian
Avian

20 Feb 15

bf
bf

2 Jun 15

Comments to Craft

Comments not found
Add Comment
Turn on images!