Eggs and Buildout Deployment in Python
Puzzled about Python eggs and packages? Wondering how to repeatably pull together collections of packages into standalone development, testing and deployment environments, all while managing inter-dependencies?
In this participatory tutorial, we'll start with distutils, walk through using eggs in the cheeseshop and creating your own eggs, touch a bit on using virtualenv to set up a development environment, and then dig into using zc.buildout to rigorously control assembly specifications, with build recipes, versioning and dependency management. We'll close by showing how to create your own recipes.
Attendees are strongly encouraged to bring a laptop or partner with someone who does.
Presenter
Jeff Rush is the past Python Advocacy Coordinator, organizer of the Dallas/Ft. Worth Pythoneers usergroup as well as conference co-chair of PyCon 2006 and 2007 held in Dallas. He has been providing Python and embedded Linux/robotics consulting service since 1984, ported Python to OS/2 and created the initial RPMs for Zope used by Red Hat. Jeff lives in Dallas with his wife and two cats, and for recreation acts as a cyberarcheologist for Project Xanadu, the original hypertext effort and records screencasts about Python and Linux.
Requirements
Attendees are highly encouraged to bring their laptops with Python installed (version 2.3 or higher). Those without laptops are advised to partner in advance with those who do.
Other than Python, no other software needs to be installed. We will go through the steps in class to install setuptools and zc.buildout.
Outline
- An Introduction to the Virtualenv Sandbox
- Purpose and Installation
- Understanding Sandboxes
- Distutils: Packaging, Metadata and Pushups
- Purpose and History
- Terminology and Audience for Use
- Applying It to Your Projects
- About Metadata and Package Servers
(mid-morning break)
- Setuptools: Python Eggs, Dependencies and Plugins
- Purpose and Differences from Distutils
- Terminology
- Using the easy_install Command
- Managing your Search Space of Packages
- Entrypoints and Pluggability
- Auto-Generating Scripts
- Of Versions and Tags re Subversion
- Buildout: Precision Assembly, Repeatability, Islands
- Purpose and Installation
- Terminology and Audience for Use
- Constructing a Project Blueprint
- About Recipes: Finding Them and Writing Them
Slides/Handouts:
























.