PyAPNs
A Python library for interacting with the Apple Push Notification service (APNs)
Installation
Either download the source from GitHub or use easy_install:
$ easy_install apns
Sample usage
from apns import APNs, Payload
apns = APNs(use_sandbox=True, cert_file='cert.pem', key_file='key.pem')
# Send a notification
token_hex = 'b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b87'
payload = Payload(alert="Hello World!", sound="default", badge=1)
apns.gateway_server.send_notification(token_hex, payload)
# Get feedback messages
for (token_hex, fail_time) in apns.feedback_server.items():
# do stuff with token_hex and fail_time
For more complicated alerts including custom buttons etc, use the PayloadAlert class. Example:
alert = PayloadAlert("Hello world!", action_loc_key="Click me")
payload = Payload(alert=alert, sound="default")
To send custom payload arguments, pass a dictionary to the custom kwarg of the Payload constructor.
payload = Payload(alert="Hello World!", custom={'sekrit_number':123})
Further Info
iOS Reference Library: Local and Push Notification Programming Guide
Credits
Written and maintained by Simon Whitaker at Goo Software Ltd.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
