{ "info": { "author": "Tim Paine", "author_email": "timothy.k.paine@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# \nPython Data Streams\n\n[![Build Status](https://travis-ci.org/timkpaine/tributary.svg?branch=master)](https://travis-ci.org/timkpaine/tributary)\n[![GitHub issues](https://img.shields.io/github/issues/timkpaine/tributary.svg)]()\n[![codecov](https://codecov.io/gh/timkpaine/tributary/branch/master/graph/badge.svg)](https://codecov.io/gh/timkpaine/tributary)\n[![BCH compliance](https://bettercodehub.com/edge/badge/timkpaine/tributary?branch=master)](https://bettercodehub.com/)\n[![PyPI](https://img.shields.io/pypi/l/tributary.svg)](https://pypi.python.org/pypi/tributary)\n[![PyPI](https://img.shields.io/pypi/v/tributary.svg)](https://pypi.python.org/pypi/tributary)\n[![Docs](https://img.shields.io/readthedocs/tributary.svg)](https://tributary.readthedocs.io)\n\n![](https://raw.githubusercontent.com/timkpaine/tributary/master/docs/img/example.gif)\n\n\n# Stream Types\nTributary offers several kinds of streams:\n\n## Reactive\nThese are synchronous, reactive data streams, built using python generators. They are designed to mimic complex event processors in terms of event ordering.\n\n## Asynchronous\nThese are synchronous, reactive data streams, built using asynchronous python generators. They are a variant of the reactive streams, but should offer performance improvements over the non-asynchronous variants. \n\n## Functional\nThese are functional streams, built by currying python functions (callbacks). \n\n## Lazy\nThese are lazily-evaluated python streams, where outputs are propogated only as inputs change.\n\n## Event Loop\nTODO\nThese function as tornado based event-loop based streams similar to streamz.\n\n# Examples\n- [Reactive](docs/examples/reactive.md)\n- [Lazy](docs/examples/lazy.md)\n\n# Math\n`(Work in progress)`\n\n## Operations\n- unary operators/comparators\n- binary operators/comparators\n\n## Rolling\n- count\n- sum\n\n# Sources and Sinks\n`(Work in progress)`\n\n## Sources\n- file\n- kafka\n- websocket\n- http\n- socket io\n\n## Sinks\n- file\n- kafka\n- http\n- TODO websocket\n- TODO socket io\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/timkpaine/tributary/archive/v0.0.6.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/timkpaine/tributary", "keywords": "analytics tools plotting", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "tributary", "package_url": "https://pypi.org/project/tributary/", "platform": "", "project_url": "https://pypi.org/project/tributary/", "project_urls": { "Download": "https://github.com/timkpaine/tributary/archive/v0.0.6.tar.gz", "Homepage": "https://github.com/timkpaine/tributary" }, "release_url": "https://pypi.org/project/tributary/0.0.6/", "requires_dist": null, "requires_python": "", "summary": "Analytics library", "version": "0.0.6" }, "last_serial": 5384435, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "c12b605d419f5f1e665c90fa65a4875f", "sha256": "33054d6cf6897ad05ae02a44ecae73314f56c369e41c91c33b7b339338a28f29" }, "downloads": -1, "filename": "tributary-0.0.1.tar.gz", "has_sig": false, "md5_digest": "c12b605d419f5f1e665c90fa65a4875f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3788, "upload_time": "2018-09-08T03:12:28", "url": "https://files.pythonhosted.org/packages/44/6e/679ef949fc5341374dd17f06b2800d8f32e5fae96a2759005fff0cbaa61a/tributary-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "dea3f6fb5908ddbe9bb89dc7071d09c0", "sha256": "6aab0e12ed29a5fd67e3c393a02a847957a71d235d23ee243446cfae7ef07535" }, "downloads": -1, "filename": "tributary-0.0.2.tar.gz", "has_sig": false, "md5_digest": "dea3f6fb5908ddbe9bb89dc7071d09c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12374, "upload_time": "2018-09-17T19:41:53", "url": "https://files.pythonhosted.org/packages/0d/bc/91662e5e3a473f2e9f868ba2457c8179240f74b67a3f0c39efa2318ecf2c/tributary-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "10a922c0dd72262ad26af30db1b51a56", "sha256": "64374a42d07998917d312535b0188e748355001f6c9af30fcda0adfd63e28f1c" }, "downloads": -1, "filename": "tributary-0.0.3.tar.gz", "has_sig": false, "md5_digest": "10a922c0dd72262ad26af30db1b51a56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16278, "upload_time": "2018-09-20T03:13:17", "url": "https://files.pythonhosted.org/packages/69/fd/85c7bb0fe26610471f3b169c29270024024c48457ba48b1a45b2f61254a4/tributary-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "321edd41e4147fb3b0ed65f337fab6cf", "sha256": "68d0f272ee4c20fd56bbb1d1d743de9e65ac2219f554a0d1bc035166f0525782" }, "downloads": -1, "filename": "tributary-0.0.4.tar.gz", "has_sig": false, "md5_digest": "321edd41e4147fb3b0ed65f337fab6cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18940, "upload_time": "2019-03-27T21:06:31", "url": "https://files.pythonhosted.org/packages/21/45/429bc80c78bb382252b2841a4dfd40dc0fdcff50d75267a57ec729896f43/tributary-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "220eef9dc64caa0b7ff1f5e7126a165c", "sha256": "97594e99d7a4feb254a2baad62434a4939ea33acd97d83706075a4650b53a761" }, "downloads": -1, "filename": "tributary-0.0.5.tar.gz", "has_sig": false, "md5_digest": "220eef9dc64caa0b7ff1f5e7126a165c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20666, "upload_time": "2019-04-10T21:29:31", "url": "https://files.pythonhosted.org/packages/19/9a/b88040786cb344d6c9deb710b49edbd3de6f21d5fb672ebd39263cf74a10/tributary-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "7c0123e18f13794fb6dbc51273e21881", "sha256": "ad2c947c5833edd5985da6aa368575cb12434fd29f7f0d64f613489bf2c6a390" }, "downloads": -1, "filename": "tributary-0.0.6.tar.gz", "has_sig": false, "md5_digest": "7c0123e18f13794fb6dbc51273e21881", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23090, "upload_time": "2019-06-11T03:39:17", "url": "https://files.pythonhosted.org/packages/2c/ae/cd529157dc76976352fe30b271268b5ffed29d7a4665347f9bcb51206ed9/tributary-0.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7c0123e18f13794fb6dbc51273e21881", "sha256": "ad2c947c5833edd5985da6aa368575cb12434fd29f7f0d64f613489bf2c6a390" }, "downloads": -1, "filename": "tributary-0.0.6.tar.gz", "has_sig": false, "md5_digest": "7c0123e18f13794fb6dbc51273e21881", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23090, "upload_time": "2019-06-11T03:39:17", "url": "https://files.pythonhosted.org/packages/2c/ae/cd529157dc76976352fe30b271268b5ffed29d7a4665347f9bcb51206ed9/tributary-0.0.6.tar.gz" } ] }