Every developer has their go to list of packages they use when starting out a new project. I thought I’d list my basic set of packages that I use for almost all of my projects. I got this idea from Daniel Greenfeld, you can check out his list here.
Django
Django is my go to framework. You can easily get a project going in a couple minutes. I’m using 1.4.2 in production and 1.5 in development. You can read about the changes to Django 1.5.
django-secure
django-secure provides you with a checklist of things you can do to make your site more secure. I include it to help me from forgetting about certain settings.
django-model-utils
Provides a number of useful mixins and utilities to help with certain pitfalls in Django. Status Field and Inheritance Manager are two very useful things.
psycopg2
A no brainer if you’re using Postgres. Make sure you have XCode installed if you’re installing psycopg2 on OS X.
django-debug-toolbar
This tool gives you the ability to dig deep into the performance of your site. Just having the ability to quickly see how many queries are being run on a specific page is worth the installation.
South
Sanely handling schema changes since 2008.
django-redis-cache
This provides a Redis backend for Django’s caching mechanism.
django-waffle
Whenever I want to release large features I use django-waffle to feature flip. This allows me to easily select which users/groups get certain features and which ones don’t.
requests
I feel like Kenneth Reitz Requests is a staple for any Python project. I can easily call webservices and scrape content with requests. It really is “HTTP for Humans”.
Installing these Requirements
If you’d like to install the above requirements copy the list below into a requirements.txt file.
django django-secure django-model-utils psycopg2 django-debug-toolbar South django-redis-cache django-waffle requests |
Then you can install the requirements by running
pip install -r requirements.txt |
What packages do you use on a regular basis?