Skip to main content

APNS library using gevent

Project description

Introduction

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
https://github.com/martinkou/applepushnotification Similar, gevent-based library. Unmaintained.
apns
https://github.com/djacobs/PyAPNs Uses pure python threads but will not always feed back errors if pushes can’t be sent to the gateway.
pyapns
https://github.com/samuraisam/pyapns/tree/master A full-featured XML-RPC HTTP-to-APNS server.
apns-clerk
https://bitbucket.org/aleksihoffman/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
https://code.google.com/p/apns-python-wrapper/ Unmaintained. Uses openssl s_client.
apns-client
https://bitbucket.org/sardarnl/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