{ "info": { "author": "Raymond Ortserga", "author_email": "r.ortserga@fetchr.us", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Communications", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Application Frameworks" ], "description": "FFIRE\n=====\n\n.. image:: https://travis-ci.org/ffireio/ffire-python.svg?branch=dev\n :target: https://travis-ci.org/ffireio/ffire-python\n\nFfire enables you to use GUI Style event driven programming in your web application with\n10 lines of code or less.\n\nffire can be summed up by its simple API.\n\nInstallation\n++++++++++++\n\n.. code:: shell\n\n pip install ffire\n\n\n\nCreating and Firing Events\n++++++++++++++++++++++++++\n\n.. code:: python\n\n #: Order Creation API/Engine : Application One (France or Germany or Mars)\n from ffire import fire\n\n #: Create is idempotent. You can call create multiple times without side effects\n #: in addition it is more advisable to use constants i.e. ORDER_CREATED not literals\n\n ffire.create('order_created', category='event')\n\n\n #: Do application logic here\n\n payload = {\"order_id\": \"abcd\", \"client_id\": \"1234\"}\n\n ffire('order_created', payload)\n #: OR\n ffire.fire('order_created', payload)\n\n\nSubscribing to events\n+++++++++++++++++++++\n\n.. code:: python\n\n\n # # Biryani Client : Application Two in (Brazil, South Africa or Venus)\n\n from ffire import fire\n\n endpoint = 'http://api.example.com/order-created-handler'\n\n fire.subscribe('order_created', endpoint)\n\n #: Ffire assumes a handler for the payload sits at that endpoint.\n\n- It is advisable to have a message broker as the endpoint. However this is not mandatory especially for cases where handling the event is not an absolute necessity.\n\n- In such scenarios any endpoint is sufficient.\n\n\nConsume Events\n++++++++++++++\n\nIf you wish to consume events from ffire explicitly you can do so.\n\n.. code:: python\n\n from ffire import ffire\n\n fire.consume('order_created', ffire.TIME_INTERVALS.ONE_HOUR)\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/ffireio/ffire-python", "keywords": "Events Publish Subscribe Fire Raise Web API", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "ffire", "package_url": "https://pypi.org/project/ffire/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ffire/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/ffireio/ffire-python" }, "release_url": "https://pypi.org/project/ffire/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "GUI Style Events for Web Applications", "version": "0.1.0" }, "last_serial": 2178760, "releases": { "0.0.3": [ { "comment_text": "", "digests": { "md5": "ff32f738cd5b65214bed1259b583d3f5", "sha256": "f0c9ae62a195f02c35fc21f7ef156f081048137ad4f35235361e18d5d922579c" }, "downloads": -1, "filename": "ffire-0.0.3.tar.gz", "has_sig": false, "md5_digest": "ff32f738cd5b65214bed1259b583d3f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8568, "upload_time": "2016-06-20T12:04:30", "url": "https://files.pythonhosted.org/packages/8a/d1/e4313a1d00770ba7ebff61702adc4fe6eafc9be2bf454bb1301b5d08883b/ffire-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "ca5f5f7e007d8c49273017d8736773ca", "sha256": "ea7b081ff83ad06cd00a72a7e8d7b5c73e8c5fe1f73177c8b6b964e8dc99ea5d" }, "downloads": -1, "filename": "ffire-0.0.4.tar.gz", "has_sig": false, "md5_digest": "ca5f5f7e007d8c49273017d8736773ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8531, "upload_time": "2016-06-20T12:21:53", "url": "https://files.pythonhosted.org/packages/5e/29/eeac46453b8caac9313c0e2167306934f821fbbc36a229ee73b046bfb43d/ffire-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "4c4599bfbb7c7d668b7786a1d65170c7", "sha256": "a1720b5b4e9f2f72ca2ccd02b8ee4bfc5cd726519bfb142696b7704413bcd861" }, "downloads": -1, "filename": "ffire-0.0.5.tar.gz", "has_sig": false, "md5_digest": "4c4599bfbb7c7d668b7786a1d65170c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8662, "upload_time": "2016-06-20T12:41:11", "url": "https://files.pythonhosted.org/packages/51/a3/09db29ac69a8c794f6d1e7ee3a6d1a40de66d68197e2bfcdb7eb1b41fbec/ffire-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "09025f8fb900cfc8ab472d32e797dff4", "sha256": "3d23acb5011b9bd661108e172246a76db3b5c302d03c96dcdcd0c19f937cd8a6" }, "downloads": -1, "filename": "ffire-0.0.6.tar.gz", "has_sig": false, "md5_digest": "09025f8fb900cfc8ab472d32e797dff4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8457, "upload_time": "2016-06-20T12:46:30", "url": "https://files.pythonhosted.org/packages/ff/1f/ac6c1810b5e0a6c4acf6af753a803e0a50c9a9a016ab72cab1451b70489d/ffire-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "5f5d7fd83e55d94312446becfb899ef9", "sha256": "2b004b43d36880c14190dde156daa9141785970d8ec70c436ec23a43c7a67045" }, "downloads": -1, "filename": "ffire-0.0.7.tar.gz", "has_sig": false, "md5_digest": "5f5d7fd83e55d94312446becfb899ef9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8510, "upload_time": "2016-06-20T13:17:15", "url": "https://files.pythonhosted.org/packages/0a/4d/722e87bd0a0a1c54aad0cf4a4facc82bc6172b39662f2be1c6d4d8ee7417/ffire-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "563ea0f8fe1889f72e2d4cfec9e62452", "sha256": "1862b6656ff6ac5ec079f64fc44660b32145fc9977386b4b070547da81c9ac97" }, "downloads": -1, "filename": "ffire-0.0.8.tar.gz", "has_sig": false, "md5_digest": "563ea0f8fe1889f72e2d4cfec9e62452", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8587, "upload_time": "2016-06-21T11:52:15", "url": "https://files.pythonhosted.org/packages/f9/8e/cba1492ecf98f3d4731adcdfd71d158f2677022d0642dda60d3b6f639cc1/ffire-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "8ea73089ec7976634ca2ca29b53fb282", "sha256": "31966ade5a92d27a28c253fb076c5f8425964b9c4c2384001d344ac04d8fb9b2" }, "downloads": -1, "filename": "ffire-0.0.9.tar.gz", "has_sig": false, "md5_digest": "8ea73089ec7976634ca2ca29b53fb282", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8609, "upload_time": "2016-06-21T11:55:02", "url": "https://files.pythonhosted.org/packages/c1/0b/edf60b65563eb95944d0c89d0a6d3ae332e7ed940d62fb4bfb9740edc510/ffire-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "76d33ec814192a034fb5fc5c6b1b2147", "sha256": "36b17610bf93a8f193a1e588d664e8594ea05b4805701793600855d3f283789e" }, "downloads": -1, "filename": "ffire-0.1.0.tar.gz", "has_sig": false, "md5_digest": "76d33ec814192a034fb5fc5c6b1b2147", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8610, "upload_time": "2016-06-21T12:00:17", "url": "https://files.pythonhosted.org/packages/3b/81/e47a818463d5ef2181a2a1b973ddd33fde7c1d6132c6365897b8eaadc9f6/ffire-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "76d33ec814192a034fb5fc5c6b1b2147", "sha256": "36b17610bf93a8f193a1e588d664e8594ea05b4805701793600855d3f283789e" }, "downloads": -1, "filename": "ffire-0.1.0.tar.gz", "has_sig": false, "md5_digest": "76d33ec814192a034fb5fc5c6b1b2147", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8610, "upload_time": "2016-06-21T12:00:17", "url": "https://files.pythonhosted.org/packages/3b/81/e47a818463d5ef2181a2a1b973ddd33fde7c1d6132c6365897b8eaadc9f6/ffire-0.1.0.tar.gz" } ] }