Calum J. Eadie (www.calumjeadie.com)
Features
Really quick to learn.
Manages dependancies between tasks.
Automatically generates a command line interface.
Installation
You can install microbuild from the Python Package Index (PyPI) or from source.
Using pip:
$ pip install microbuild
Using easy_install:
$ easy_install microbuild
Example
The build script is written in pure Python and microbuild takes care of managing any dependancies between tasks and generating a command line interface.
Tasks are just regular Python functions marked with the @task() decorator. Dependancies are specified with @task() too. Tasks can be ignored with the @ignore decorator.
After defining all tasks build(sys.modules[__name__],sys.argv[1:]) is called to run the build.
# example.py
import sys
from microbuild.microbuild import task,ignore,build
@task()
def clean():
"""Clean build directory."""
print "Cleaning build directory..."
@task(clean)
def html():
"""Generate HTML."""
print "Generating HTML..."
@ignore
@task(clean)
def images():
"""Prepare images."""
print "Preparing images..."
@task(html,images)
def android():
"""Package Android app."""
print "Packaging android app..."
if __name__ == "__main__":
build(sys.modules[__name__],sys.argv[1:])
The command line interface and help is automatically generated. Task descriptions are extracted from function docstrings.
$ ./example.py -h usage: example.py [-h] task positional arguments: task perform specified task and all it's dependancies optional arguments: -h, --help show this help message and exit tasks: android Package Android app. clean Clean build directory. html Generate HTML. images Prepare images.
Dependancies between tasks are taken care of too.
$ ./example.py android [ example.py - Starting task "clean" ] Cleaning build directory... [ example.py - Completed task "clean" ] [ example.py - Starting task "html" ] Generating HTML... [ example.py - Completed task "html" ] [ example.py - Ignoring task "images" ] [ example.py - Starting task "android" ] Packaging android app... [ example.py - Completed task "android" ]
Contributing
microbuild is hosted at https://github.com/CalumJEadie/microbuild and contributions are very welcome.
epydoc is used for documentation generation and unittest for tests.
Run build.py apidoc to generate documentation and build.py test to run all unit tests.
License
microbuild is licensed under a MIT license. See LICENSE.txt.
Changes
0.3.3 - 26/03/2013
Improved README documentation.
0.3.1,0.3.2 - 15/12/2012
Improved README documentation.
0.3.0 - 18/09/2012
Fixed bug in logging. No longer modifies root logger.
Added ignore functionality.
Extended API documentation.
0.2.0 - 29/08/2012
Added progress tracking output.
Added handling of exceptions within tasks.
0.1.0 - 28/08/2012
Initial release.
Added management of dependancies between tasks.
Added automatic generation of command line interface.
Metadata
Release files for microbuild 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| microbuild-0.3.3.tar.gz | 5.6 kB | Without provenance | Details for microbuild-0.3.3.tar.gz |
Release files / microbuild-0.3.3.tar.gz
| Download URL | microbuild-0.3.3.tar.gz |
|---|---|
| Size | 5.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6634926bf54de8352d1ec8723ba9714e8fa2b68d45d14f4daba785f3d891cbc9
|
|
BLAKE2b-256 checksum How to use checksums |
fb83786273c04a730b913640ea3a7c8638e8c1265af362a48e891bccedfbe98c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for microbuild 0.3.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.