buildout tutorial. buildout howto. buildout review.
This post is a review, a tutorial, and a howto - for and about buildout - a software development tool for the python language.
This document aims to answer the question... "buildout? WTF?".
In short: buildout automates python project building. Buildout does everything needed to get your application in a state for running in its own sandbox.
get the source from http://pypi.python.org/pypi/zc.buildout Make a new directory for your project, then copy the bootstrap/bootstrap.py file out of the zc.buildout source into your new project directory create a "buildout.cfg" file to go with the bootstrap.py file. Here is a simple one for your package called "YOURPACKAGENAME":
Run "python bootstrap.py" in your empty project directory(with the buildout.cfg file in there). This will get buildout locally into your sandbox ready to use - without touching the rest of your python installation. Now you have a basic setup for "building out" your application.
To be able to build your application easily on multiple machines, you don't want to have to install and setup 38 different programs before you can build it.
This document aims to answer the question... "buildout? WTF?".
In short: buildout automates python project building. Buildout does everything needed to get your application in a state for running in its own sandbox.
Super quick start instructions for using buildout...
[buildout]
parts = test py
develop = .
[test]
recipe = zc.recipe.testrunner
eggs = YOURPACKAGENAME
What is buildout?
"The Buildout project provides support for creating applications, especially Python applications. It provides tools for assembling applications from multiple parts, Python or otherwise. An application may actually contain multiple programs, processes, and configuration settings."Why should I care about buildout?
Automation of building your applications is what buildout is about.To be able to build your application easily on multiple machines, you don't want to have to install and setup 38 different programs before you can build it.
Buildout keeps your project separate from the main python setup. So it doesn't install things into the main python distribution. This is good because it keeps separate applications mucking each other up. It's also good so you don't need to have a root user account to install python modules.
buildout can do lots of other things too - but these are the core concepts.
The buildout url: http://pypi.python.org/pypi/zc.buildout
A buildout tutorial which seems better than the official documentation - but hard to find with search engines. It's written as a tutorial to give to people - not really to read online. Plone buildout tutorial. - this one is specific to plone. subversion repository for zc.buildout: http://svn.zope.org/zc.buildout/
Licence: The Zope Public License http://www.ohloh.net/projects/compare?project_0=zc.buildout
buildout recipes on pypi
You become dependant on a few things. At least with buildout you become dependant on:
zc.buildout setuptools pypi.python.org website remaining up... it is fairly often down. distutils - buildout requires a setup.py file.
At the moment buildout is mostly used by zope, and other python web applications.
It's a fairly recent project - first released mid 2006. However it's a 3rd generation buildout system used by the zope corporation - so it's got a bunch of wisdom behind it.
Buildout seems to be stabilising... that is the amount of changes to it seems to be slowing down. There seems to be about 37 bugs in the buildout bug tracker as of writing(2008-05-01) - with 3 of the bugs marked fixed (at 2008-05-31 and still only 3 of the bugs marked fixed) - and a number of bugs under discussion.
Documentation isn't the best (which is one reason I'm writing this post) - but there is at least a main manual, and a tutorial.
There do seem to be quite a few doctest based tests that come with it - which is one form of documentation in itself - but more documentation about zc.buildout - rather than documentation for using zc.buildout. There is about 1400 lines of python in the tests, and about 3000 lines of non-python code in the doctests (usually description about what the tests are doing).
I'm not sure how portable buildout is. The last release (as of writing 1.0.1 (2008-04-02)), mentions windows fixes, and was the last release for 3 months. I know of people using it on linux(suse, debian), and mac osx based machines. Update: a note in the comments says it works fine on windows.
Buildout can be extended through the use of recipes. Recipes are like plugins, and they do all sorts of things. You can see a list of buildout recipes on the python package index (pypi).
buildout can do lots of other things too - but these are the core concepts.
Where is buildout? Links to buildout pages.
Disadvantages to buildout?
You become dependant on a few things. At least with buildout you become dependant on:
Who uses buildout? How stable is it? How portable is it?
At the moment buildout is mostly used by zope, and other python web applications.
It's a fairly recent project - first released mid 2006. However it's a 3rd generation buildout system used by the zope corporation - so it's got a bunch of wisdom behind it.
Buildout seems to be stabilising... that is the amount of changes to it seems to be slowing down. There seems to be about 37 bugs in the buildout bug tracker as of writing(2008-05-01) - with 3 of the bugs marked fixed (at 2008-05-31 and still only 3 of the bugs marked fixed) - and a number of bugs under discussion.
Documentation isn't the best (which is one reason I'm writing this post) - but there is at least a main manual, and a tutorial.
There do seem to be quite a few doctest based tests that come with it - which is one form of documentation in itself - but more documentation about zc.buildout - rather than documentation for using zc.buildout. There is about 1400 lines of python in the tests, and about 3000 lines of non-python code in the doctests (usually description about what the tests are doing).
I'm not sure how portable buildout is. The last release (as of writing 1.0.1 (2008-04-02)), mentions windows fixes, and was the last release for 3 months. I know of people using it on linux(suse, debian), and mac osx based machines. Update: a note in the comments says it works fine on windows.
Comments
including Windows.
*If* you easy_install zc.buildout anyway, then you don't need bootstrap.py. Because then you have the 'buildout' executable available and can simply do 'buildout bootstrap'.
Btw, PyPI has a listing of available buildout recipes (the things that buildout calls to actually do the work): http://pypi.python.org/pypi?:action=browse&show=all&c=512. Some are more generic than others...
My Printer is a utility software that allows you to access and easily change the settings of your printer such as the paper source. ij.start.canon Installation of My Printer is optional.Simply install the Canon Printer Drivers application on your PC, ij.start.canon start it and it will automatically start detecting any plugged printers, identifying its model number, and presenting you with the matching up-to-date driver. ij.start.canon With a few simple clicks, you can install all the driver software your printer needs and make your printer ready for accepting printing commands. ij.start.canon anon is one of the well-known brands for gadgets like printers, cameras, and many more devices. ij.start.canon Setting up a canon printer and installing it on your computer/laptop and mac is not an easy task if you don't have proper instructions that help you install the driver of the canon printer. ij.start.canon Visit canon printer official website: and get to know the simple and quick steps to download and connect your canon printer software with your operating device. ij.start.canon Canon Printer Software for printing and scanning any type of documents is the best decision one can make and invest in a printing device. Canon Printer Setup delivers amazing printing quality. ij.start.canon Simply click on www.canon.com/ijsetup to get the complete information of the Canon Printer Software. Learn the steps to download and install your desired canon printer software and enjoy the exclusive features of it.
Turbotax.ca/download is really a tax free preparation turbotax.ca/download software that coaches you to process and file your earnings in the appropriate method. turbotax.ca/download This program is readily available for both federal and state tax returns. turbotax.ca/download Yet before by using this software in your apparatus, the TurboTax login procedure is crucial. turbotax.ca/download would help you to prepare income tax returns. Thus, it is an effective way to manage your taxes. turbotax.ca/download is really a tax free preparation software that coaches you to process and file your earnings in the appropriate method. turbotax.ca/download This program is readily available for both federal and state tax returns. Yet before by using this software in your apparatus, the TurboTax login procedure is crucial. turbotax.ca/download TurboTax Online offers the convenience of preparing and e-filing your tax return from virtually any computer or mobile device with Internet access. turbotax.ca/download There's no software to install and nothing you'll need to save on your computer. You can We'll store all of your information on our secure servers.
"
What is the Meaning of IC?An integrated circuit is also known as a chip or microchip.
"
"
"