Thursday, May 3, 2007

My $HOME/.buildout/default.cfg

Buildout is a tool which can used for any kind of applications, though
it is more suitable for Python based applications. href="">Buildout is a
cool program which provides support for creating, assembling and
deploying applications, especially Python applications. You can build
applications using Buildout recipes. Recipes are Python programs
which follows a pattern to build various parts of an application. For
example, a recipe will install Python eggs and another one will
install test runner etc. Applications can be assembled from multiple
parts with different configurations. A part can be a Python egg or
any other program. Buildout make use Python eggs and so href="">setuptools.
To install, Buildout just enter this command: easy_install zc.buildout
(Of course, you should have installed href="">easy_install
to run this command)

I would like to share my default Buildout configuration
($HOME/.buildout/default.cfg) here:

newest = false
eggs-directory = /mbaiju/eggs
find-links =

These options are available for all buildouts in my system. Sure, I
can override these options for individual buildouts. One of my
earlier post
had given hint for using simple buildouts. There, I used
"./bin/buildout -N" to run the buildout. See yourself what -N do from

$ buildout --help

Run in non-newest mode. This is equivalent to the assignment
buildout:newest=false. With this setting, buildout will not seek
new distributions if installed distributions satisfy it's

So adding "newest=false" option helps to avoid the "-N" switch.
IMO, this should be the default for buildout.

The "eggs-directory" option is really useful if you want to use
multiple buildouts from same machine, especially when developing
applications. If this option is not set each buildout will download
and store all egg dependencies in it's own folder, by default "./eggs"
directory in your buildout.

I set "find-links =", because
my normal buildouts are Zope 3 related, and Zope 3 project place all
new eggs there. If this option is not set, buildout will fetch egg
Python's cheeseshop.