An open API service indexing awesome lists of open source software.

https://github.com/seedstars/gcm-client


https://github.com/seedstars/gcm-client

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

          

gcm-client
==========
Python client for `Google Cloud Messaging (GCM) `_.
Check `documentation `_ to learn how to use it.

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

Requirements
------------

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

Alternatives
------------
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.

Support
-------
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 `_.