Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Lightweight Python Build Tool.
branch: ignore-experim…

This branch is 14 commits behind master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.

microbuild - Lightweight Python Build Tool.

Calum J. Eadie (


  • Really quick to learn.
  • Manages dependancies between tasks.
  • Automatically generates a command line interface.


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.

import sys
from microbuild.microbuild import task,build

def clean():
    """Clean build directory."""
    print "Cleaning build directory..."

def html():
    """Generate HTML."""
    print "Generating HTML..."

def images():
    """Prepare images."""
    print "Preparing images..."

def android():
    """Package Android app."""
    print "Packaging android app..."

if __name__ == "__main__":

The command line interface and help is automatically generated. Task descriptions are extracted from function docstrings.

$ ./ -h
usage: [-h] task

positional arguments:
  task        perform specified task and all it's dependancies

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

  android     Package Android app.
  clean       Clean build directory.
  html        Generate HTML.
  images      Prepare images.

Dependancies between tasks are taken care of too.

$ ./ android
[ - Starting task "clean" ]
Cleaning build directory...
[ - Completed task "clean" ]
[ - Starting task "html" ]
Generating HTML...
[ - Completed task "html" ]
[ - Ignoring task "images" ]
[ - Starting task "android" ]
Packaging android app...
[ - Completed task "android" ]


You can install microbuild from the Python Package Index (PyPI) or from source.

Using pip:

$ pip microbuild

Using easy_install:

$ easy_install microbuild


microbuild is licensed under a MIT license. See LICENSE.txt.

Something went wrong with that request. Please try again.