{ "info": { "author": "Alexander Tikhonov", "author_email": "random.gauss@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only" ], "description": "aiofcm - An efficient Firebase Cloud Messaging Client Library for Python/asyncio\n=================================================================================\n\n.. image:: https://travis-ci.org/Fatal1ty/aiofcm.svg?branch=master\n :target: https://travis-ci.org/Fatal1ty/aiofcm\n\n.. image:: https://requires.io/github/Fatal1ty/aiofcm/requirements.svg?branch=master\n :target: https://requires.io/github/Fatal1ty/aiofcm/requirements/?branch=master\n :alt: Requirements Status\n\n.. image:: https://img.shields.io/pypi/v/aiofcm.svg\n :target: https://pypi.python.org/pypi/aiofcm\n\n.. image:: https://img.shields.io/pypi/pyversions/aiofcm.svg\n :target: https://pypi.python.org/pypi/aiofcm/\n\n.. image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg\n :target: https://opensource.org/licenses/Apache-2.0\n\n**aiofcm** is a library designed specifically for sending messages such as push-notifications\nto Android devices via Firebase Cloud Messaging platform. aiofcm provides an efficient client\nthrough asynchronous XMPP protocol for use with Python's ``asyncio``\nframework.\n\naiofcm requires Python 3.5 or later.\n\n\nPerformance\n-----------\n\nIn my testing aiofcm allows you to send on average 1k messages per second on a single core.\n\n\nFeatures\n--------\n\n* Internal connection pool which adapts to the current load\n* Sending notification and/or data messages\n* Ability to set TTL (time to live) for messages\n* Ability to set priority for messages\n* Ability to set collapse-key for messages\n\n\nInstallation\n------------\n\nUse pip to install::\n\n $ pip install aiofcm\n\n\nBasic Usage\n-----------\n\n.. code-block:: python\n\n from uuid import uuid4\n from aiofcm import FCM, Message, PRIORITY_HIGH\n\n\n async def run():\n fcm = FCM(123456789000, '')\n message = Message(\n device_token='',\n notification={ # optional\n \"title\": \"Hello from Firebase\",\n \"body\": \"This is notification\",\n \"sound\": \"default\"\n },\n data={\"score\": \"3x1\"}, # optional\n message_id=str(uuid4()) # optional\n time_to_live=3, # optional\n priority=PRIORITY_HIGH, # optional\n )\n await fcm.send_message(message)\n\n loop = asyncio.get_event_loop()\n loop.run_until_complete(run())\n\n\nLicense\n-------\n\naiofcm is developed and distributed under the Apache 2.0 license.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Fatal1ty/aiofcm", "keywords": "", "license": "Apache License, Version 2.0", "maintainer": "", "maintainer_email": "", "name": "aiofcm", "package_url": "https://pypi.org/project/aiofcm/", "platform": "all", "project_url": "https://pypi.org/project/aiofcm/", "project_urls": { "Homepage": "https://github.com/Fatal1ty/aiofcm" }, "release_url": "https://pypi.org/project/aiofcm/1.3/", "requires_dist": null, "requires_python": "", "summary": "An efficient Firebase Cloud Messaging Client Library for Python/asyncio", "version": "1.3" }, "last_serial": 5872593, "releases": { "0.4": [ { "comment_text": "", "digests": { "md5": "46e9d0c892bf52dd427cd19dae41fd8e", "sha256": "473edf70c8009262654fe3b5282d94f1131802fdd5a489e9a332ba435241c175" }, "downloads": -1, "filename": "aiofcm-0.4.tar.gz", "has_sig": false, "md5_digest": "46e9d0c892bf52dd427cd19dae41fd8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4549, "upload_time": "2017-05-11T08:05:56", "url": "https://files.pythonhosted.org/packages/64/17/3b9851cff9e5c7d3f42c184951e9e7ea9ee699d2e0ab53ebaeaa4766726f/aiofcm-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "89aca3a8c58e52bcea9f3f3b642af94f", "sha256": "f606d62eb32e913c4bf7b6285d6c6240bf766dbfc8a15c4451249cc9b981fc23" }, "downloads": -1, "filename": "aiofcm-0.5.tar.gz", "has_sig": false, "md5_digest": "89aca3a8c58e52bcea9f3f3b642af94f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4965, "upload_time": "2017-05-23T13:36:34", "url": "https://files.pythonhosted.org/packages/49/a9/f2ef738309003b21c7d16c74049e54c428496d0c8fb2a24d4db24229f341/aiofcm-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "19876eb8e6ea5cacde0ba9ee62c8a5d3", "sha256": "3ccd1ef5926ecd63fcc284785baa0e854225f123750dd1cce71cb9fad2b10614" }, "downloads": -1, "filename": "aiofcm-0.6.tar.gz", "has_sig": false, "md5_digest": "19876eb8e6ea5cacde0ba9ee62c8a5d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5127, "upload_time": "2017-05-24T11:33:14", "url": "https://files.pythonhosted.org/packages/dc/1f/ae1c1d2bce630899c25f06e6856a7c7f3050a450d7975f2444cce53b8283/aiofcm-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "fe3131902d50f619d87e75f2cae3f3dd", "sha256": "61a0143c782d4be752f5e7bbee6a819809ae87f8bb45cd844109420b10c9bf1f" }, "downloads": -1, "filename": "aiofcm-0.7.tar.gz", "has_sig": false, "md5_digest": "fe3131902d50f619d87e75f2cae3f3dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5187, "upload_time": "2017-05-29T11:11:17", "url": "https://files.pythonhosted.org/packages/cc/78/16d54fb428285985266622abd7527235c99866e24c5cc8e00ad94b448808/aiofcm-0.7.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "5ac58248f34db08251e0cd3dbb70cb9e", "sha256": "a2437c9e44233ae5dc7a239ce48be18669e160806d23d9af14435876feb18901" }, "downloads": -1, "filename": "aiofcm-1.0.tar.gz", "has_sig": false, "md5_digest": "5ac58248f34db08251e0cd3dbb70cb9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5196, "upload_time": "2017-08-22T07:38:26", "url": "https://files.pythonhosted.org/packages/b6/58/cf6efe16f107981282e917c4119031738bc1ca606610179b712d5308ac62/aiofcm-1.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "c97c542339a15600cab3d95995af6d00", "sha256": "7da5cb5492858fd9553f11de39046aa55b18442d3fe72ecf60bee453fa1491fc" }, "downloads": -1, "filename": "aiofcm-1.1.0.tar.gz", "has_sig": false, "md5_digest": "c97c542339a15600cab3d95995af6d00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5318, "upload_time": "2018-01-19T15:02:24", "url": "https://files.pythonhosted.org/packages/f3/d0/ef1d76b41a57e05c4b33569697a6849d1870a1c1079b6000649818aa6ab7/aiofcm-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "de675350b67550ae04012d37e601b2fe", "sha256": "b1c1a791a03f1249415b6576570ad38049e140c8f5e4fff8bf6afa7da7517afe" }, "downloads": -1, "filename": "aiofcm-1.2.0.tar.gz", "has_sig": false, "md5_digest": "de675350b67550ae04012d37e601b2fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5141, "upload_time": "2019-02-01T11:39:09", "url": "https://files.pythonhosted.org/packages/6e/36/0446bfdfc25612e2748d08501f779304c1b74d8a40a42354da38a45c0f23/aiofcm-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "39870614088deec9d72d66243c0ff2a5", "sha256": "0ef6fc7f4cdf0c3737ee9e5f679da610c5e6fe57f6741eb508555fc3ced3ff22" }, "downloads": -1, "filename": "aiofcm-1.2.1.tar.gz", "has_sig": false, "md5_digest": "39870614088deec9d72d66243c0ff2a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5246, "upload_time": "2019-04-17T10:37:16", "url": "https://files.pythonhosted.org/packages/6b/00/875d987285a0fd55c7a3687c64f2560841358c848fa82f8a517a99586232/aiofcm-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "c2a67f7023184195bf5cd0d784b2c5c0", "sha256": "8e72b0494a3335c998ba3d5b1cf528a5871359242426055c38e508ecad3af1f2" }, "downloads": -1, "filename": "aiofcm-1.2.2.tar.gz", "has_sig": false, "md5_digest": "c2a67f7023184195bf5cd0d784b2c5c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5276, "upload_time": "2019-04-21T15:39:10", "url": "https://files.pythonhosted.org/packages/44/70/8ef1efe789a523525d3fe8689526d5bc6e712e9d3e59ccf9985c611e64d9/aiofcm-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "c4273ebaa495ff34ca68470afdfdddef", "sha256": "fe472f3bffe4d6f2da7015fb0ef74e91aa42e7fc5d15760a1d5af2e92a4cccfb" }, "downloads": -1, "filename": "aiofcm-1.2.3.tar.gz", "has_sig": false, "md5_digest": "c4273ebaa495ff34ca68470afdfdddef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5345, "upload_time": "2019-06-13T15:24:35", "url": "https://files.pythonhosted.org/packages/ee/b3/64a03324a61a20d1a1f098f197ca0ca80b697e67fe0f6d63548cb705f412/aiofcm-1.2.3.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "703f03d20906ab3aa1a667c8393eb4c7", "sha256": "54d218c29382541030d286e2a1677886bae7f8d1fafb21f3efe9f4897fbbd02b" }, "downloads": -1, "filename": "aiofcm-1.3.tar.gz", "has_sig": false, "md5_digest": "703f03d20906ab3aa1a667c8393eb4c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5480, "upload_time": "2019-09-23T09:49:08", "url": "https://files.pythonhosted.org/packages/41/58/0bdf35dc5d8602ea2f41c26fc7307fefbef873014183cadc035d2332ec83/aiofcm-1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "703f03d20906ab3aa1a667c8393eb4c7", "sha256": "54d218c29382541030d286e2a1677886bae7f8d1fafb21f3efe9f4897fbbd02b" }, "downloads": -1, "filename": "aiofcm-1.3.tar.gz", "has_sig": false, "md5_digest": "703f03d20906ab3aa1a667c8393eb4c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5480, "upload_time": "2019-09-23T09:49:08", "url": "https://files.pythonhosted.org/packages/41/58/0bdf35dc5d8602ea2f41c26fc7307fefbef873014183cadc035d2332ec83/aiofcm-1.3.tar.gz" } ] }