This application at least requires Python 2.5. It does make use of some Python 2.6 features. If you want to use on Python 2.5 you'll need the SSL Socket backport (http://pypi.python.org/pypi/ssl/).

To install, use ``pip install django-iphone-push`` or
``easy_install django-iphone-push``, then add ``iphonepush`` to INSTALLED_APPS.

I use south (http://south.aeracode.org/) for migrations. You can use them or just syncdb.

You then need to ensure you sort out your push certificates. You'll need a sandbox one and a live one. To do this there are a variety of guides but the best one is probably the one at MacCoders (http://www.macoscoders.com/2009/05/17/iphone-apple-push-notification-service-apns/). For this application you need to ensure they are in .pem format.

You then need to set up your settings.py to look something like this:

# Full path to the APN Certificate / Private Key .pem
IPHONE_SANDBOX_APN_PUSH_CERT = os.path.join(PROJECT_ROOT, "iphone_ck.pem")
IPHONE_LIVE_APN_PUSH_CERT = os.path.join(PROJECT_ROOT, "iphone_live.pem")

# Set this to the hostname for the outgoing push server
IPHONE_SANDBOX_APN_HOST = 'gateway.sandbox.push.apple.com'
IPHONE_LIVE_APN_HOST = 'gateway.push.apple.com'

# Set this to the hostname for the feedback server
IPHONE_SANDBOX_FEEDBACK_HOST = 'feedback.sandbox.push.apple.com'
IPHONE_LIVE_FEEDBACK_HOST = 'feedback.push.apple.com'
Note the full path to the .pem files. I use a shortcut of getting the PROJECT_ROOT at the top of my settings.py for various things. For reference:

import os
PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
With all that done, you're ready to use the app!