{ "info": { "author": "John Loehrer", "author_email": "72squared@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "fcm-client\n==========\nPython client for `Firebase Cloud Messaging (FCM) `_.\nCheck `documentation `_ to learn how to use it.\n\nThe library was originally written by FCM client by `Sardar Yumatov `_.\nIt seems to have been abandoned around 2015 or 2016. When google announced the\nmove to Firebase, there was a need for a updated version of this software.\n\nRequirements\n------------\n\n- `requests `_ - HTTP request, handles proxies etc.\n- `six `_ for python 3 compatibility.\n\nAlternatives\n------------\nTh only alternative library known at the time of writing was `pyfcm\n`_. This library differs in the\nfollowing design decisions:\n\n- *Predictable execution time*. Do not automatically retry request on failure.\n According to Google's recommendations, each retry has to wait exponential\n back-off delay. We use an async back-end like Celery, where the best way to retry after\n some delay will be scheduling the task with ``countdown=delay``. Sleeping\n while in Celery worker hurts your concurrency.\n- *Do not forget results if you need to retry*. This sounds obvious, but\n ``pyfcm`` drops important results, such as canonical ID mapping if\n request needs to be (partially) retried.\n- *Clean pythonic API*. No need to borrow all Java like exceptions etc.\n- *Do not hard-code validation, let FCM fail*. This decision makes library\n a little bit more future proof.\n\nSupport\n-------\nFCM client was created by `John Loehrer `_,\ncontact me if you find any bugs or need help.\nYou can view outstanding issues on the `FCM\nGithub page `_.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/happybits/fcm-client", "keywords": "fcm push notification google cloud messaging android", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "fcm-client", "package_url": "https://pypi.org/project/fcm-client/", "platform": "", "project_url": "https://pypi.org/project/fcm-client/", "project_urls": { "Homepage": "https://github.com/happybits/fcm-client" }, "release_url": "https://pypi.org/project/fcm-client/0.2.2/", "requires_dist": [ "requests", "six" ], "requires_python": "", "summary": "Python client for Firebase Cloud Messaging (FCM)", "version": "0.2.2" }, "last_serial": 3957805, "releases": { "0.2.1": [ { "comment_text": "", "digests": { "md5": "b3fba5d26e13417078871a7d76132247", "sha256": "6280bc11c98eab3e379349a52f98034881f4d9d643c2fa919310879356d100ae" }, "downloads": -1, "filename": "fcm_client-0.2.1-py2-none-any.whl", "has_sig": false, "md5_digest": "b3fba5d26e13417078871a7d76132247", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8679, "upload_time": "2018-06-12T21:49:38", "url": "https://files.pythonhosted.org/packages/67/0a/0c19cb603f51de0c640b7e20e2c763ce009dd027bf6a039dbaeebac0c32d/fcm_client-0.2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "624ce2f3264e0f908f322d6e3ca09474", "sha256": "b078b1b5d4021b180e7447532d7ed307d9849cd900120007160db9dc06ad1dbe" }, "downloads": -1, "filename": "fcm_client-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "624ce2f3264e0f908f322d6e3ca09474", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10675, "upload_time": "2018-06-12T21:49:39", "url": "https://files.pythonhosted.org/packages/d6/d9/cf8ced16d30155e839e97031efa016e4a28a3cfd734f8d998b71add0224e/fcm_client-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dbcc75ff4e74056095e65bbc1774ff0b", "sha256": "4c72252f5e5aa245d4a4f3c21aeebbc2159e8cdd4d2154b13aff2c06a9ba0ce7" }, "downloads": -1, "filename": "fcm-client-0.2.1.tar.gz", "has_sig": false, "md5_digest": "dbcc75ff4e74056095e65bbc1774ff0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12407, "upload_time": "2018-06-12T21:49:40", "url": "https://files.pythonhosted.org/packages/b1/64/3495af3689115adca1cd457430cd221f84b612e1140b0440943468f9bca5/fcm-client-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "9b824a644499f1df31ccb233e09d134a", "sha256": "8729cccd389b60d97ea885eae67fac7640e2b658cb295e350a011632a2471227" }, "downloads": -1, "filename": "fcm_client-0.2.2-py2-none-any.whl", "has_sig": false, "md5_digest": "9b824a644499f1df31ccb233e09d134a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8684, "upload_time": "2018-06-13T14:17:31", "url": "https://files.pythonhosted.org/packages/a4/69/2038cc8f56ef6b91d138703e8bff0cb75cd360af41932f22b2a32fb11577/fcm_client-0.2.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e03e73d1e04c3d8773211e9ae277e144", "sha256": "18a23545953d81bbba66b7d275547074bc3bd55c59036458d84515c55ab760bd" }, "downloads": -1, "filename": "fcm_client-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e03e73d1e04c3d8773211e9ae277e144", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10673, "upload_time": "2018-06-13T14:17:32", "url": "https://files.pythonhosted.org/packages/68/72/04ffe840a950839792c1284542c889910302990730e80cb88781c1b1c0c0/fcm_client-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2259b30c0a4948a6af74fa416f96fc7c", "sha256": "9d2212878dd9d861717c9eb48d40b0656aa7260cc865b182c87e068d6ae226c7" }, "downloads": -1, "filename": "fcm-client-0.2.2.tar.gz", "has_sig": false, "md5_digest": "2259b30c0a4948a6af74fa416f96fc7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12414, "upload_time": "2018-06-13T14:17:33", "url": "https://files.pythonhosted.org/packages/10/1e/9b11a259656ba72c40099fbc0cda356f5b585841e6552340a6b14169a33c/fcm-client-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9b824a644499f1df31ccb233e09d134a", "sha256": "8729cccd389b60d97ea885eae67fac7640e2b658cb295e350a011632a2471227" }, "downloads": -1, "filename": "fcm_client-0.2.2-py2-none-any.whl", "has_sig": false, "md5_digest": "9b824a644499f1df31ccb233e09d134a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8684, "upload_time": "2018-06-13T14:17:31", "url": "https://files.pythonhosted.org/packages/a4/69/2038cc8f56ef6b91d138703e8bff0cb75cd360af41932f22b2a32fb11577/fcm_client-0.2.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e03e73d1e04c3d8773211e9ae277e144", "sha256": "18a23545953d81bbba66b7d275547074bc3bd55c59036458d84515c55ab760bd" }, "downloads": -1, "filename": "fcm_client-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e03e73d1e04c3d8773211e9ae277e144", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10673, "upload_time": "2018-06-13T14:17:32", "url": "https://files.pythonhosted.org/packages/68/72/04ffe840a950839792c1284542c889910302990730e80cb88781c1b1c0c0/fcm_client-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2259b30c0a4948a6af74fa416f96fc7c", "sha256": "9d2212878dd9d861717c9eb48d40b0656aa7260cc865b182c87e068d6ae226c7" }, "downloads": -1, "filename": "fcm-client-0.2.2.tar.gz", "has_sig": false, "md5_digest": "2259b30c0a4948a6af74fa416f96fc7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12414, "upload_time": "2018-06-13T14:17:33", "url": "https://files.pythonhosted.org/packages/10/1e/9b11a259656ba72c40099fbc0cda356f5b585841e6552340a6b14169a33c/fcm-client-0.2.2.tar.gz" } ] }