Welcome to fabuild’s documentation!¶

Fabuild is a simple yet powerful build tool using python and fabric. This project was born out of two things:

Frustration with using configuration-based build systems. YOU KNOW WHO YOU ARE! :-) The desire to have the build process be something that could be part of a fabric deployment, and could possibly happen remotely.

#1 was the original driver, and #2 ended up being why I chose to build this framework using fabric as a base.

Fabuild is simple to understand: It is a collection of methods that enable you to create customized build processes for your projects. The methods themselves use little convention besides the fact that they all take a “files” kwarg that helps them determine which files to operate on.

Writing plugins for fabuild is so simple I really don’t even need to document it, besides the fact that the files convention mentioned previously should be followed, even if it doesn’t apply to the plugin method, so that it plays well with some other methods such as “watch”. These plugins can be included through normal python import mechanisms.

There is really very little magic here... just an easy to understand, flexible, powerful build system.

I’ve also included a sample fabfile with a simple static HTML project.

If you’re frustrated with other build systems, give fabuild a try. If you’re here you can probably already write passable Python code, which is really all you need to get started.

Happy Building! :-)