{ "info": { "author": "Heston Liebowitz", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "Firebase Live Data\n==================\n\n|Build Status| |Coverage Status|\n\nUtilities for storing, retrieving, and monitoring Firebase Realtime\nDatabase objects in Python.\n\nThis builds on ``Pyrebase`` by providing turnkey support for database\npush updates throughout the Python stack. It works by linking together\n``Pyrebase`` streams with the venerable ``blinker`` package, through a\ncustom data structure. It allows arbitrary Python code to subscribe to\nnotifications whenever data in your Firebase Realtime Database changes.\n\nQ: Can't I just use ``Pyrebase``\n--------------------------------\n\nA: Sure, but if you want to be notified in realtime when your data\nchanges, you'll need to set up thread-based stream handlers, and manage\ntheir lifecycles. In addition, the format of events from Firebase can be\ntricky to parse (do you know the difference between Firebase ``PUT`` and\n``PATCH`` events?)\n\nFirebase Live Data abstracts these concepts into simple ``blinker``\nsignals that are easy to use.\n\nUsage\n-----\n\n.. code:: python\n\n import pyrebase\n\n from firebasedata import LiveData\n\n pyrebase_config = {\n # ...\n }\n\n app = pyrebase.initialize_app(pyrebase_config)\n live = LiveData(app, '/my_data')\n\n # Get a snapshot of all data at the path, `/my_data`.\n #\n # This also sets up a persistent push connection to the Firebase Realtime Database\n # at that path. Any updates under this path will trigger `blinker` events.\n #\n # `data` is a local (greedy) cache of the data at the root path (`/my_data`). It behaves\n # somewhat like a Python dictionary.\n data = live.get_data()\n all_data = data.get() # this also works: data.get('/')\n sub_data = data.get('my/sub/path')\n\nThe push connection is established lazily, after the first call to\n``get_data``.\n\nTo get notified if something changes within your LiveData connection,\njust connect to the signal at that database path.\n\n.. code:: python\n\n def my_handler(data):\n print(data)\n\n\n # Note that the root path (`/my_data` in this case) is omitted from the signal name.\n\n live.signal('/some/key').connect(my_handler)\n\nYou can also set data:\n\n.. code:: python\n\n live.set_data('my/sub/path', 'my_value')\n\n``blinker`` events will be dispatched whenever data is set, either\nlocally, like the example above, or via server push events.\n\nCompatibility\n-------------\n\nFirebase Live Data is tested against Python 3.4, 3.5, and 3.6. It is not\ncompatible with Python 2.\n\nDeveloping\n----------\n\n1. Install the development requirements (preferably into a virtualenv):\n\n .. code:: bash\n\n pip install -r requirements.txt\n\n2. Run tests to ensure everything works:\n\n .. code:: bash\n\n py.test\n\n.. |Build Status| image:: https://travis-ci.org/heston/firebase-live-data.svg?branch=master\n :target: https://travis-ci.org/heston/firebase-live-data\n.. |Coverage Status| image:: https://coveralls.io/repos/github/heston/firebase-live-data/badge.svg?branch=master\n :target: https://coveralls.io/github/heston/firebase-live-data?branch=master\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/heston/firebase-live-data", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "FirebaseData", "package_url": "https://pypi.org/project/FirebaseData/", "platform": "", "project_url": "https://pypi.org/project/FirebaseData/", "project_urls": { "Homepage": "https://github.com/heston/firebase-live-data" }, "release_url": "https://pypi.org/project/FirebaseData/0.5.2/", "requires_dist": [ "blinker (>=1.4)" ], "requires_python": ">=3, <4", "summary": "Utilities for storing, retrieving, and monitoring Firebase Realtime Database objects in Python.", "version": "0.5.2" }, "last_serial": 4560825, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "8acff577b74ea49bdb6a91cc16838d6b", "sha256": "7ed289f703da34d2651feb61edd1c470c41829ea52b5640ccbb41ca352ca432a" }, "downloads": -1, "filename": "FirebaseData-0.2.tar.gz", "has_sig": false, "md5_digest": "8acff577b74ea49bdb6a91cc16838d6b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3, <4", "size": 4719, "upload_time": "2018-03-15T06:04:27", "url": "https://files.pythonhosted.org/packages/d3/8f/86c9723c42a0fa0c3c258f418fcb5a2c4af7eb9152d2ab58b429c01c5930/FirebaseData-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "535db5b3041e2f5a4126e9c9ad5a6547", "sha256": "97f701df911c00e0b2e896cb76489810fb1bcf6b1cf4f8ff67e772a7ed06c5d8" }, "downloads": -1, "filename": "FirebaseData-0.3.tar.gz", "has_sig": false, "md5_digest": "535db5b3041e2f5a4126e9c9ad5a6547", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3, <4", "size": 5542, "upload_time": "2018-03-21T04:56:55", "url": "https://files.pythonhosted.org/packages/68/a7/f7d72a6df2d3e4944bddbe1705ee47f660ffbad662d0730b468fb1d2fe8d/FirebaseData-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "6f0573f5646ddc3f5983b73ea37fe19b", "sha256": "bd22563f09348a56d33213757af22b3dff6d9625b1914b5559ab88fe0c44c680" }, "downloads": -1, "filename": "FirebaseData-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "6f0573f5646ddc3f5983b73ea37fe19b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3, <4", "size": 8442, "upload_time": "2018-03-22T04:15:14", "url": "https://files.pythonhosted.org/packages/05/2a/a31a6fdc90b9e36111129958b222cf4cd541720a18d1fda67bcf4f44aa4f/FirebaseData-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9902049e3f6706b4f96c32ef9acf74b7", "sha256": "062c5d7e3545773d649d09d481fbf296ee2139922258e815494aecb8346a86ad" }, "downloads": -1, "filename": "FirebaseData-0.4.tar.gz", "has_sig": false, "md5_digest": "9902049e3f6706b4f96c32ef9acf74b7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3, <4", "size": 5551, "upload_time": "2018-03-22T04:15:16", "url": "https://files.pythonhosted.org/packages/b3/ff/fd18b77b144ce80fc9852f6ae3148027f6722852db47bd3853091b70dc4b/FirebaseData-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "8fd1cf67254c860e09ac8a83381bdc8e", "sha256": "c2dba9b7f0dd3ff9993b25b17c1779e55095edaa8812e3a11ee9542f636940ec" }, "downloads": -1, "filename": "FirebaseData-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "8fd1cf67254c860e09ac8a83381bdc8e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3, <4", "size": 7136, "upload_time": "2018-11-26T23:05:01", "url": "https://files.pythonhosted.org/packages/2d/6a/e077bbdfd770460126d6eef148f6d797e5cf19037d88c15ad78bfc285142/FirebaseData-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "45368bef4a083249547964de1aa5a1f0", "sha256": "d1091ffae886f6ef18a1c6fc13a8f3cf4210a986d52437ce6e0913b5f52689c4" }, "downloads": -1, "filename": "FirebaseData-0.5.tar.gz", "has_sig": false, "md5_digest": "45368bef4a083249547964de1aa5a1f0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3, <4", "size": 5584, "upload_time": "2018-11-26T23:05:02", "url": "https://files.pythonhosted.org/packages/67/7a/1bb5d464d8ff967ed8f98199558c0f3d9b73ca74600c90304509ed919748/FirebaseData-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "ae551dab1749b040f17398aa8917dc15", "sha256": "95f0e402483096c56a7478cb64e256135fe3fb694c1e83f7dac8a66c5c9b92bb" }, "downloads": -1, "filename": "FirebaseData-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ae551dab1749b040f17398aa8917dc15", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3, <4", "size": 7181, "upload_time": "2018-11-27T01:47:03", "url": "https://files.pythonhosted.org/packages/2e/49/ca85cfb4c75ebbc997a21db649157b54eddd7a45ac5f457861a2dad12f07/FirebaseData-0.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8ffb0cc8802195b0f65aa30b54c7119c", "sha256": "123fd592d9a819f845409cbfdf5a0ae68f4edc4e2ecd3d6817d3f7c76fe0ff9d" }, "downloads": -1, "filename": "FirebaseData-0.5.1.tar.gz", "has_sig": false, "md5_digest": "8ffb0cc8802195b0f65aa30b54c7119c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3, <4", "size": 5613, "upload_time": "2018-11-27T01:47:04", "url": "https://files.pythonhosted.org/packages/f4/16/272fac21d67a803d30bb2bff6ad2da29801419c1459826b5ada9101edc72/FirebaseData-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "1beb38ba8792d674676112963713062a", "sha256": "48c6dc320049638f5547c327324a72ea9b898bb54ded7e129f4bab0e70d92c5b" }, "downloads": -1, "filename": "FirebaseData-0.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1beb38ba8792d674676112963713062a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3, <4", "size": 7187, "upload_time": "2018-12-04T19:47:32", "url": "https://files.pythonhosted.org/packages/c5/57/ee401fdcf805504bf670c26347d96bf4d97b3f3d2535baff98cee084c4d7/FirebaseData-0.5.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3aa9e22219c63af5e63105e0785940a2", "sha256": "05dae09efc6aaf2e253774572a75bc1bddaaaaef5f748da41a6141dca4ac1d35" }, "downloads": -1, "filename": "FirebaseData-0.5.2.tar.gz", "has_sig": false, "md5_digest": "3aa9e22219c63af5e63105e0785940a2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3, <4", "size": 5629, "upload_time": "2018-12-04T19:47:34", "url": "https://files.pythonhosted.org/packages/cc/a3/ab729efb6019e1099bc9fe0479118e1b10de971d244b657f9956d46ab291/FirebaseData-0.5.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1beb38ba8792d674676112963713062a", "sha256": "48c6dc320049638f5547c327324a72ea9b898bb54ded7e129f4bab0e70d92c5b" }, "downloads": -1, "filename": "FirebaseData-0.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1beb38ba8792d674676112963713062a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3, <4", "size": 7187, "upload_time": "2018-12-04T19:47:32", "url": "https://files.pythonhosted.org/packages/c5/57/ee401fdcf805504bf670c26347d96bf4d97b3f3d2535baff98cee084c4d7/FirebaseData-0.5.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3aa9e22219c63af5e63105e0785940a2", "sha256": "05dae09efc6aaf2e253774572a75bc1bddaaaaef5f748da41a6141dca4ac1d35" }, "downloads": -1, "filename": "FirebaseData-0.5.2.tar.gz", "has_sig": false, "md5_digest": "3aa9e22219c63af5e63105e0785940a2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3, <4", "size": 5629, "upload_time": "2018-12-04T19:47:34", "url": "https://files.pythonhosted.org/packages/cc/a3/ab729efb6019e1099bc9fe0479118e1b10de971d244b657f9956d46ab291/FirebaseData-0.5.2.tar.gz" } ] }