Python Magazine for January 2009

The January 2009 issue of Python Magazine is available for download now.

This month’s cover feature is Creating a Collection Manager with Elixir, by Gaëtan de Menten. You have heard about SQLAlchemy, but never found the time to actually try it? Or maybe you have heard about the add-on to SQLAlchemy called Elixir, but don’t really know what it is useful for. Here is your chance to see them in action.

JC Cruz continues his series of articles on using Python to create applications for Mac OS X. In the last article, you learned how to edit data with the NSTableView. This month, in Table Drag and Drop with PyObjC, you will learn the mechanics behind drag-and-drop and how to support it in a table.

If you’ve ever done extensive development in Django, you’ll know the issues involved with changing schemas. In Django Migrations with South, Andrew Godwin introduces South, a migrations library for Django, and shows how it helps to solve many of the problems you face as your Django project matures.

This month we are co-publishing a special-guest column by Ivo Jansch, a regular contributor to our sister publication php|architect. Requirements Gathering in the Enterprise is a look at the processes used in large enterprise software development.

Jesse Noller reflects on the new challenges of test engineering in the software world in his column, And Now For Something Completely Different: The Changing Face of Test Engineering.

Interacting with the file system can often be a frustrating test for new programmers. This month Mark Mruss introduces the os module and some of the more helpful functions it contains to help ease some of that frustration in Welcome to Python: Working with Files and Directories.

Beginning this month, we are proud to present the column, Ask the Pragmatic Testers, written by Titus Brown and Grig Gheorghiu. Both Titus and Grig have a wealth of development experience, and we’re excited to add them as regular contributors to the magazine. Many people think that automated testing is about making sure your software works right. They’re not wrong, but in Why test? It’s about complexity. Titus and Grig remind us that there are deeper benefits – in particular, managing the complexity of the build and development environments.

This month Steve Holden ponders on the Zen of Python, sometimes with less relevance that might be expected.

And in What does Python 3.0 mean for you?, I talk about the reactions to the long-awaited release of Python 3.0, that came on December 3, 2008. This is a big step forward in the evolution of Python, as it provides an opportunity for the core developers to introduce backwards-incompatible changes to the language and libraries and break free of some past design decisions that have been deemed misguided or short-sighted.