Keeping up with the Django

Thanks to a couple big projects at work that I’m trying to finish up in time to devote my full weekend to the sprint, I don’t have anything directly code-related to throw out today. Fortunately, there are plenty of things people ask about Django which have nothing whatsoever to do with code, and I can deal with one of them today: how do you keep up with Django development?

Every so often, people pop up on the mailing lists, or on IRC , after doing an svn up of their Django tree and wondering why something’s suddenly not working the way it used to, or in search of official development roadmaps/timelines/Gantt charts/etc. This inevitably leads into a discussion of the best way to keep up with what’s happening in Django development, and so I’d like to pause and point out just how easy that is.

Official resources

If you’re interested in what’s going on with Django, or if you’re running from a trunk checkout and plan to update regularly, there are three primary sources of information you’ll want to keep up with.

The django-developers mailing list (and please note that if you’re trying to figure out how to do something, you should not post your question there; that’s what the django-users list is for) is where public discussion of Django’s development takes place, and typically any suitably large new feature which lands in trunk will have a back story on the developers’ list which you can read through at your leisure.

The Django Trac instance is the other thing you’ll want to keep an eye on; the Trac timeline tirelessly records every single little thing that happens in the Django repository and wiki. Speaking of the wiki, that’s where we keep the list of backwards-incompatible changes between releases; when we do a release and someone (technically me) has to write up notes on what’s changed, the list on the wiki is where we go to get that information. Changes are recorded there as soon as they happen, and include the changeset (so you can back up to one revision prior to the change if you need to), the date and an explanation of what changed and how it works now.

If you’d rather not visit the Trac timeline several times a day, it also has a feed you can subscribe to, and tickets and changesets are also automatically sent out to a read-only mailing list if you’d prefer to get that information in your inbox (this means, by the way, that if you open a new ticket you don’t need to post to the django-developers list to notify people; between the timeline web page, the feed and the automatic email, the core team will have seen it already).

Finally, there’s the official Django weblog, which includes periodic “roundups” of useful resources as well as announcements of releases, sprint dates and other interesting news.

Unofficial resources

The Django community aggregrator keeps track of blogs of people who write about Django (and if you’re starting a blog or starting to write about Django on your blog, you can get listed there), and has a feed which will send all the latest and greatest Django news your way. Several of Django’s core developers maintain blogs, and those are syndicated by the community aggregator, and some have even been known to publicly post notes listing what they’re working on or plan to be working on.

I also subscribe to feeds of items tagged with “django” on del.icio.us and ma.gnolia, which often turn up things I wouldn’t have seen otherwise; there are other places which offer similarly-categorized feeds (e.g., you could subscribe to a Technorati tag), but those two will do a pretty thorough job of keeping you up to date on what’s happening in the Django community.

If you’re a developer who’s available for projects involving Django, there’s a wiki page where you should feel free to list yourself, and a corresponding page where employers can list positions they’d like to fill. There’s also an unofficial developers/jobs listing site you might want to check out.

What else?

These are just the major resources you’ll probably want to keep track of; there are plenty more out there, and if you know of one, you should post a comment and let the rest of the world know about it too ;)