Skip to main content

Python client for Firebase Cloud Messaging (FCM)

Project description

Python client for Firebase Cloud Messaging (FCM). Check documentation to learn how to use it.

The library was originally written by FCM client by Sardar Yumatov. It seems to have been abandoned around 2015 or 2016. When google announced the move to Firebase, there was a need for a updated version of this software.

Requirements

  • requests - HTTP request, handles proxies etc.
  • six for python 3 compatibility.

Alternatives

Th only alternative library known at the time of writing was pyfcm. 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 an async back-end like Celery, 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 pyfcm 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 FCM fail. This decision makes library a little bit more future proof.

Support

FCM client was created by John Loehrer, contact me if you find any bugs or need help. You can view outstanding issues on the FCM Github page.

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 fcm-client, version 0.2.2
Filename, size File type Python version Upload date Hashes
Filename, size fcm_client-0.2.2-py2-none-any.whl (8.7 kB) File type Wheel Python version py2 Upload date Hashes View
Filename, size fcm_client-0.2.2-py3-none-any.whl (10.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size fcm-client-0.2.2.tar.gz (12.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page