Skip to main content

APNS library using gevent

Project description


PushBaby is a simple APNS library using gevent. PushBaby aims to do the hard bits of APNS for you and no more. It handles:

  • Packing APNS messages into the binary payload format
  • Establishing and reestablishing SSL connections
  • Receiving and propagating errors to your application, asynchronously
  • Encoding pushes to JSON using efficient encoding
  • Truncating messages to fit APNS
  • Retrying pushes on nonfatal errors

PushBaby takes APNS payloads as dictionaries: it does not attempt to construct them for you.

PushBaby does not load balance over multiple connections, although this is something that would be considered in the future.

If you use PushBaby, remember that the rest of your application must be gevent compatible, or you’ll find PushBaby won’t do important things like receive errors.

Why PushBaby?

There are many alternative APNS libraries for Python, for example:

applepushnotification Similar, gevent-based library. Unmaintained.
apns Uses pure python threads but will not always feed back errors if pushes can’t be sent to the gateway.
pyapns A full-featured XML-RPC HTTP-to-APNS server.
apns-clerk Fork of apns-client. Waits for error responses but means all calls to send a push block synchronously for some time.
APNSWrapper / HypnoAPNSWrapper Unmaintained. Uses openssl s_client.
apns-client Unmaintained

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pushbaby, version 0.0.9
Filename, size & hash File type Python version Upload date
pushbaby-0.0.9.tar.gz (14.3 kB) View hashes Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page