GCM Client 0.1 beta documentation.

Python client for Google Cloud Messaging (GCM).

Check out the client with similar interface for Apple Push Notification service.


  • requests - HTTP request, handles proxies etc.
  • omnijson if you use Python 2.5 or older.


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.


Indices and tables