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.

Super quick start instructions for using buildout...

  • 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":
  • [buildout]
    parts = test py
    develop = .

    [test]
    recipe = zc.recipe.testrunner
    eggs = 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.

  • 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 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.

  • 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


  • Disadvantages to buildout?


    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.



  • 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

    ajung said…
    Buildout is running on all OSes
    including Windows.
    Anonymous said…
    Actually, you'll never have to easy_install zc.buildout at all. That's what bootstrap.py is for: it will download and set up zc.buildout locally in your sandbox. That way the global Python installation is never tainted. So what we usually do in Zope is we simply include a buildout.cfg and a bootstrap.py in our sandboxes.

    *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...
    Anonymous said…
    The new bootstrap.py is here: http://downloads.buildout.org/2/bootstrap.py
    Surbhi Sharma said…
    Canon Printer Setup at “ij.start.canon” is surprisingly convenient and fast. ij.start.canon All you need to know is your Printer’s Model Number and this platform will enable you to perform the setup smoothly. ij.start.canon This procedure involves three distinct phases. However, before that, you must launch and open the required webpage. ij.start.canon Download and Setup printer on your device and experience the best quality printing services. ij.start.canon Visit and download the printer software. ij.start.canon is the most trusted printer software available in the market because of its outstanding printing, and copying services. ij.start.canon Visit and get this software. is a website to download Canon printer drivers, you can also visit website for same. ij.start.canon Canon Printers are one of the best Printer Brand available in the market which produces versatile and high-quality printing services. Canon Pixma MG3600 is the most preferred, reliable and trustworthy because of its easy to use and setup properties. Install and connect wireless canon pixma mg3600 printer and start printing with canon pixma mg3600 printer.
    Surbhi Sharma said…

    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.
    Surbhi Sharma said…
    the user can set up the Canon Printer Model. When you do connect the Canon printer into your pc, your system does not need to install the driver on it. ij.start.canon Click download and start the canon ij setup downloading. On the completion, double-tap on the downloaded file and start installation. ij.start.canon Canon IJ does not come with the Manual CD for the installation of printer drivers. ij.start.canon helps to set up canon printer. It’s the online support platform to download and install canon printer drivers, firmware, and software. ij.start.canon To get started with ij.start canon setup, you can select wireless, wired, or USB connection method. Canon printer app is available for cableless for smartphones. Download Canon Printer Driver - ij.start.canon ij.start.canon Go to website using a web. Follow the steps given below for downloading your Canon printer drivers and update them visiting ij.start.canon power ON your Mac computer. Open the Safari browser and go to ij.start.canon Start the installer on your Mac computer by double-clicking on the setup file. Enter your Mac ID and password. ij.start.canon Follow the on-screen instructions to finish. To update your current drivers, you use your operating.
    Surbhi Sharma said…

    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.
    akanksha said…
    Smartphones have become integral to our lives, helping us to keep track of appointments, conduct our banking, send and receive emails, take and store photos, listen to music and, oh yeah, talk to people. Many of us would be devastated if anything happened to our phones that could harm or steal that data. That explains why so many mobile apps are now available for virus protection and security. For more, Visit - Is antivirus software necessary for Iphone ? Most of them promise to scan your phone for malware, and then isolate and kill any viruses they find. Many also claim to check for weak or compromised passwords, help you locate your device if it’s lost or stolen, block malicious websites, and more.
    akanksha said…
    Many times you may want to use an external keyboard with your laptop maybe because some of the keys of your laptop keys have been damaged or because you simply want to use more features. It can be anything, but many users are not comfortable using the external keyboard while the laptop keyboard is enabled because placing the external keyboard can be a challenge with the built-in keyboard. So, how do you disable the laptop keyboard, so that you can use only the external keyboard? Let’s see how - How to disable laptop keyboard permanently ?
    akanksha said…
    The latest in the line of Windows 10 issues is Generic PnP Monitor issue. Many people have complained that after upgrading their computer to Windows 10, their monitor is not being recognized by Windows. For an example - How to solve pnp device problem?
    akanksha said…
    Keylogger are dangerous programs which the hackers install on anyone system to sniff password, credit card details etc. It stores every keystrokes of the person using the computer and thus in a way provides hackers some of his most important information. Some friends also install keyloggers programs just for the sake of hacking facebook password etc. Whatever be the case if you are using a computer having keylogger installed, you are at serious risk of loosing sensitive information which can lead to financial loss also. Even if its your computer, it may have been used by some creepy friend of yours who have wrong intentions to steal your data. Just like - Common keylogger process names ?
    akanksha said…
    Sometimes displayed as Ins, the Insert key is a key on most computer keyboards near or next to the backspace key. The Insert key toggles how letters, numbers, characters, or other text is inserted. By default, text is inserted in front of other text as you type but after pressing the Insert key text is overwritten as you type. Followed by - Where is the insert key ?
    Unknown said…
    "Are you the one struggling with the ERR_CONNECTION_RESET error message while trying to open or visit any website? Wondering what went wrong and looking for the solutions to fix the err_connection_reset error message then this article is for you. Here in this blog, learn the complete information about the How to Fix ERR_CONNECTION_RESET on Android and the possible fixes to get rid of the err_connection_reset on android, Windows 10 and Mac.
    "
    Unknown said…
    Server is a common word in today’s networking. It refers to a specialized computer or hardware on which the server software works and provides services to other computers or clients. A server has many functions, and they come in different types to facilitate different uses. Visit here -what is server and its type A server is a device with a particular set of programs or protocols that provide various services. Together, a server and its clients form a client/server network, which provides routing systems and centralized access to information, resources, stored data, etc.
    Unknown said…
    "An integrated circuit (IC) is a small semiconductor-based electronic device consisting of fabricated transistors, resistors and capacitors. Integrated circuits are the building blocks of most electronic devices and equipment. Check here-
    What is the Meaning of IC?An integrated circuit is also known as a chip or microchip.
    "
    Unknown said…
    "WYA stands for ‘Where You At’. The use of What Does WYA Mean? What Does WYA Mean? is mostly seen on social networks and in text messages. Teenagers and young adults often use this acronym to ask their friends and family where they are. Where you at basically is to ask someone where they are, as in, their current location. For instance, whether they are home, or out, or in office.
    "
    Unknown said…
    "There are many reasons for your HP laptop running slow. If your laptop is old, then there’s nothing much we can do about it. But in most cases, it’s software issues and improper user behaviors causing your laptop to run slow. In this, we’ll introduce a few working fixes you can try to get your HP laptop back to speed.click here to learn more- HP Laptop Running Slow Windows 10
    "
    Unknown said…
    Can you recommend/suggest a software program that will show me exactly all programs (showing or hidden) installed on my laptop?? For most people, the Start→All Programs command is the most important function of the Start menu. It’s the master list of every program on your computer.visit for more detais-All Programs on This Computer (The installer for any new program generally installs its own name in this menu) You can jump directly to your word processor, calendar, or favorite game, for example, just by choosing its name from the Start→All Programs menu.
    hitler said…
    If you are working with a large word document and you are about to present it or print it,To remove these extra pages, how to delete a page in word highlight the paragraph markers with your mouse or trackpad and hit the DELETE button. If one of the markers remains there, remove it with the BACKSPACE key.
    hitler said…
    A runtime error occurs when a program is syntactically correct but contains an issue that is only detected during program execution. what is a runtime error These issues cannot be caught at compile-time by the Java compiler and are only detected by the Java Virtual Machine.
    akanksha said…
    Very simply, Microsoft Access is an information management tool that helps you store information for reference, reporting, and analysis. What is Microsoft Access used for, Microsoft Access helps you analyze large amounts of information, and manage related data more efficiently than Microsoft Excel or other spreadsheet applications.
    akanksha said…
    Forgetting the password can be the most common case. We feel that more and more people do not remember their Google Account passwords as browsers are now configured to fill in login details automatically. But this can be risky, as you can accidentally lose your information when you clear the cache. How do i change my google password ?
    akanksha said…
    Networks can be a lot more complex when it comes to size. For example, a family home may have a network consisting of two home computers and a Wi-Fi connection (which the family uses for various additional devices such as smart TVs, streaming boxes, smartphones, etc.). However, an office building may have an extensive network consisting of thousands of computers physically connected by Ethernet cables. Like - What is a network security key ?Some networks may even expand to cover larger geographic areas.
    akanksha said…
    The documents and organizers you choose for download will be saved in any download area used by your Internet browser. It’s a “download” envelope every time, though it could very well be another field. See - how to download all my onedrive file. If you have selected more than one record, the download will be compressed, and you will need to separate the singular documents before using them.
    akanksha said…
    When you delete your channel, YouTube erases all your transferred recordings, comments, messages, playlists, and history. Despite this, this does not delete your YouTube (Google) account. Similarly YouTube will drop your YouTube TV, your YouTube Premium and any channel subscription subscriptions. Check - [url=https://computersolve.com/how-to-delete-your-youtube-channel//]how to delete your youtube channel[/url]. You will continue to use these subscriptions until the end of your charging cycle.
    akanksha said…
    JavaScript is a text-based programming language used both on the client-side and on the server-side that allows you to make web pages interactive. Where HTML and CSS are languages ​​that provide structure and style to web pages, JavaScript provides interactive elements to web pages that engage the user. See - What is javascript ?Common examples of JavaScript you can use every day include the search box on Amazon, a news recap video embedded on The New York Times, or refreshing your Twitter feed.
    akanksha said…
    How to Get Printer OnlineGo to the Start icon on the bottom left of your screen then choose Control Panel and then Devices and Printers. Right click the printer in question and select “See what's printing”. From the window that opens choose “Printer” from the menu bar at the top. Select “Use Printer Online” from the drop down menu.
    akanksha said…
    See - How to Reset HP Printer. At first, switch off your HP printer and remove all the power cables affixed. Now, wait for 30 seconds, and reconnect the power cables to your HP printer. Switch on your HP printer and press and hold the resume button for 10 to 20 seconds. The attention light on your HP printer will glow. Now, release holding the resume button. The HP printer will now start to reset to the factory settings.

    Popular posts from this blog

    Draft 3 of, ^Let's write a unit test!^

    Is PostgreSQL good enough?

    post modern C tooling - draft 6