Craft - Like Makefile, but in Python.
Project description
Craft is 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
History
v0.2.6 - 10 Nov 2012
Fix an issue with setup.py linking to the README
v0.2.3 - 14 Oct 2012
Fix error catching isolation from craft and the actual task
v0.2.0 - 27 Aug 2012
Added setup() and auto() tasks
Added support for task dependencies via @depends
v0.1.0 - 26 Aug 2012
Source is available at: https://github.com/jdpaton/craft
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
File details
Details for the file craft-0.2.6.tar.gz
.
File metadata
- Download URL: craft-0.2.6.tar.gz
- Upload date:
- Size: 3.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95db9547dd3ab28156ad40ed19231ba6bc688cbb07ff16bcfb657ac3b3e268f4 |
|
MD5 | 0020491fc0e21edf40115fef2d5f3bd1 |
|
BLAKE2b-256 | 618b1b56f8066ee76741b7b14ed0ea7bc9614e221c2321c9de98379121a81db4 |