Python client for Google Cloud Messaging (GCM)
Check the client with similar interface for Apple Push Notification service.
Th only alternative library known at the time of writing was python-gcm. This library differs in the following design decisions:
Predictable execution time. Do not automatically retry request on failure. According to Google’s recommendations, each retry has to wait exponential back-off delay. We use Celery back-end, where the best way to retry after some delay will be scheduling the task with countdown=delay. Sleeping while in Celery worker hurts your concurrency.
Do not forget results if you need to retry. This sounds obvious, but python-gcm drops important results, such as canonical ID mapping if request needs to be (partially) retried.
Clean pythonic API. No need to borrow all Java like exceptions etc.
Do not hard-code validation, let GCM fail. This decision makes library a little bit more future proof.
GCM client was created by Sardar Yumatov, contact me if you find any bugs or need help. Contact Getlogic if you need a full-featured push notification service for all popular platforms. You can view outstanding issues on the GCM Bitbucket page.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.