Jacob Kaplan-Moss

What’s your favorite Django app?

On Twitter, I asked, “what’s your favorite third-party Django app?” Eight hours later, I’ve got about 50 replies.

I meant the question to be fairly open-ended – I deliberately didn’t clarify what I meant by “favorite” – and I’m not that popular, so this is by no means an accurate sample of the Django community. Still, the answers are a bit interesting, so let’s take a look:

The winners

The favorite was… (drumroll please)… South. By a landslide, actually: about a third of the folks who responded chose South. I’m not particularly surprised: schema migration is a problem most users face, and Django doesn’t have anything in core to handle it. But that’s another show.

Next, mentioned by about 10% of replies, is Django Debug Toolbar. Again no big surprise to me: DjDT is pretty fantastic, and it really makes debugging (and performance tuning) easier.

Both of these first two tools should really be in every Django developer’s arsenal. You may end up not using ‘em, or may not need one or the other for every site, but any Django developer worth her salt should at least know a bit about these two tools.

The still-winners-just-not-as-muchly

After that, a handful of apps received a couple-three “votes”:

It’s an interesting mix of apps: search, revision history, logging, typographic style, and a couple of different image thumbnailing solutions. I’ve not used all of these myself, but I’ve given each at least a quick poke and if nothing else it’s a good list of toys to play with some cold afternoon this winter.

About a dozen more apps received just one mention. I’m lazy, so tracking down each from my @replies is left as an exercise to the reader.

I will, however, quickly mention one: Celery. I’m really surprised only one person mentioned it because lately Celery has been an increasingly large part of the apps I build. It’s a distributed asynchronous task queue, which is just a fancy way of saying that Celery is a tool for performing some tasks “later,” out of the bounds of the request/response cycle. Check it out: it’s pretty fantastic. It’s not just for Django, either: Celery integrates with any Python project, and has first-class hooks into Django, Pylons, and Flask.

My list

A few asked for my favorite app. It’s a hard question for me – I just know I’ll forget something awesome. Still, at the risk of pissing off someone whose favorite app I forget, here (in no particular order), are my top 5 favorite and most-used third-party Django apps:

What’s on your list?