• Intel
  • Microsoft
  • Google
  • Sun Microsystems
  • BT
  • IBM
  • Yahoo! Inc.
  • Zimbra
  • Atlassian Software Systems
  • Disney
  • EnterpriseDB
  • Etelos
  • Ingres
  • JasperSoft
  • Kablink
  • Linagora
  • MindTouch
  • Mozilla Corporation
  • Novell, Inc.
  • Open Invention Network
  • OpSource
  • RightScale
  • Silicon Mechanics
  • Tenth Planet
  • Ticketmaster
  • Voiceroute
  • White Oak Technologies, Inc.
  • XAware
  • ZDNet

Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at scordesse@oreilly.com.

Media Partner Opportunities

Download the Media & Promotional Partner Brochure (PDF) for more information on trade opportunities with O'Reilly conferences, or contact mediapartners@oreilly.com.

Press and Media

For media-related inquiries, contact Maureen Jennings at maureen@oreilly.com.

OSCON Newsletter

To stay abreast of conference news and to receive email notification when registration opens, please sign up for the OSCON newsletter (login required).

Contact Us

View a complete list of OSCON 2008 Contacts

Software Delivery & Continuous Integration in Python Using Eggs and zc.buildout

Location: Portland 256 Level: Intermediate
Average rating: ****.
(4.33, 3 ratings)

Software delivery for complex systems in Python used to be a little bit homemade: people usually used custom scripts to deploy their systems,
or relied on generic installation tools. For Plone applications, most of the time a complex installation guide was provided to the customer, with a list of dependencies to install and system changes to take care of.

The Python Package Index (PyPI), formerly the Cheeseshop, brought a few years ago a new way to distribute Python applications, together with setuptools. It made it possible to install a Python library the same way package systems like apt or yum does. From there people started to deliver their software in separated components, called eggs.

Since most applications in Python are now egg-based, it is possible to install a software with a list of eggs. zc.buildout provides a descriptive language to list all eggs needed for a software to run and a plugin system that allows to customize each step.

This talk will present a case study of a Plone application life cycle:

  • environment building: creating the buildout and its recipes
  • continuous integration with buildbot: running the buildout on target systems
  • deploying: preparing and packaging the buildout for an offline installation
  • updating: preparing and releasing an update

Will also present a set of extra tools we built on the top of zc.buildout to standardize our projects developments and help the developers:

  • a set of templates to start a buildout-based project in subversion
  • a tool to create buildbot slaves automatically, given a buildout
  • a snapshot tool to ease the upgrade of a buildout that is in production.
Photo of Tarek Ziadé

Tarek Ziadé


Tarek Ziadé is CTO at Ingeniweb/France. He is an active member of the Zope and the Plone community, and participates to numerous sprints. He is also the author of two books in French about Python: Programmation Python (Eyrolles) and Petit Guide à l’usage du développeur agile (Dunod) and server articles.

He was speaker on some Zope and Python talks over the last years (Europython, Solution Linux) and made a tutorial at Pycon 07. He is also the founder and president of the french Python user group (Afpy).

more here: bio

OSCON 2008