January PyATL Meetup

This past Thursday I made it back to another PyATL meeting to see presentations on packaging and build tools for Python.

Brandon Rhodes started us out with a bit of background material on how Python searches for importable modules and where they are usually installed.

Jeremy Jones talked about using setuptools and building eggs. I usually distribute my packages as source, but the --tag-svn-revision option looks pretty handy for building dev releases.

Noah Gift talked about virtualenv. The PDF of Noah’s presentation is online. I have been using virtualenv for a while now, and I don’t know how I ever lived without it. I use virtual environments for every article I review for Python Magazine, since many require packages I would not otherwise have installed on my system. Creating separate environments lets me avoid cluttering up my main installation with incompatible versions of tools.

Brandon wrapped things up with a presentation on the many benefits of using buildout in development. The ability to reliably reproduce the exact set of dependencies needed for a project really caught my interest. I need to learn more about creating recipes to see how I can use it effectively. We have a large Makefile-based build system at work, since not everything we include in our packaging is Python. Using buildout scripts might make (no pun) it easier to set up a new developer on a clean system.

We recorded video of all of the presentations, and those should be posted on the PyATL site soon. The presenters also recorded screencasts as they were giving the talks, and those should be posted as well.