{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "Streamz\n=======\n\nStreamz helps you build pipelines to manage continuous streams of data. It is\nsimple to use in simple cases, but also supports complex pipelines that involve\nbranching, joining, flow control, feedback, back pressure, and so on.\n\nOptionally, Streamz can also work with Pandas dataframes to provide sensible\nstreaming operations on continuous tabular data.\n\nTo learn more about how to use streams, visit :doc:`Core documentation `.\n\n\nMotivation\n----------\n\nContinuous data streams arise in many applications like the following:\n\n1. Log processing from web servers\n2. Scientific instrument data like telemetry or image processing pipelines\n3. Financial time series\n4. Machine learning pipelines for real-time and on-line learning\n5. ...\n\nSometimes these pipelines are very simple, with a linear sequence of processing\nsteps:\n\n.. image:: docs/source/images/simple.svg\n :alt: a simple streamz pipeline\n\nAnd sometimes these pipelines are more complex, involving branching, look-back\nperiods, feedback into earlier stages, and more.\n\n.. image:: docs/source/images/complex.svg\n :alt: a more complex streamz pipeline\n\nStreamz endeavors to be simple in simple cases, while also being powerful\nenough to let you define custom and powerful pipelines for your application.\n\nWhy not Python generator expressions?\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nPython users often manage continuous sequences of data with iterators or\ngenerator expressions.\n\n.. code-block:: python\n\n def fib():\n a, b = 0, 1\n while True:\n yield a\n a, b = b, a + b\n\n sequence = (f(n) for n in fib())\n\nHowever iterators become challenging when you want to fork them or control the\nflow of data. Typically people rely on tools like ``itertools.tee``, and\n``zip``.\n\n.. code-block:: python\n\n x1, x2 = itertools.tee(x, 2)\n y1 = map(f, x1)\n y2 = map(g, x2)\n\nHowever this quickly become cumbersome, especially when building complex\npipelines.\n\n\nRelated Work\n------------\n\nStreamz is similar to reactive\nprogramming systems like `RxPY `_ or big\ndata streaming systems like `Apache Flink `_,\n`Apache Beam `_ or\n`Apache Spark Streaming `_.\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/mrocklin/streamz/", "keywords": "streams", "license": "BSD", "maintainer": "Matthew Rocklin", "maintainer_email": "mrocklin@gmail.com", "name": "streamz-latest", "package_url": "https://pypi.org/project/streamz-latest/", "platform": "", "project_url": "https://pypi.org/project/streamz-latest/", "project_urls": { "Homepage": "http://github.com/mrocklin/streamz/" }, "release_url": "https://pypi.org/project/streamz-latest/0.3.0/", "requires_dist": [ "tornado", "toolz", "zict", "six" ], "requires_python": "", "summary": "Mrocklin streamz library. It's the latest version", "version": "0.3.0" }, "last_serial": 4202454, "releases": { "0.3.0": [ { "comment_text": "", "digests": { "md5": "03723a160a2314e513cbd3ca334b6836", "sha256": "06b33495015b3a4e3d19d7cf29b598eedbd667eb09b665188316a9991784e5b0" }, "downloads": -1, "filename": "streamz_latest-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "03723a160a2314e513cbd3ca334b6836", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 47805, "upload_time": "2018-08-24T05:43:09", "url": "https://files.pythonhosted.org/packages/7e/2b/52f951879759c5d496725c99b45081ed451bde029ba01a2475c861ec8d46/streamz_latest-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f47057683d58ee590d0b784f995e61d", "sha256": "4b6b5fd32c3b81695f053e75bbe29ea175223788815ed5e0ef0f082361167490" }, "downloads": -1, "filename": "streamz_latest-0.3.0.tar.gz", "has_sig": false, "md5_digest": "5f47057683d58ee590d0b784f995e61d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61407, "upload_time": "2018-08-24T05:43:11", "url": "https://files.pythonhosted.org/packages/fb/ab/4e720307ad1f4659013d851d1e8e4e18035b02377865303568b91ccda6f7/streamz_latest-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "03723a160a2314e513cbd3ca334b6836", "sha256": "06b33495015b3a4e3d19d7cf29b598eedbd667eb09b665188316a9991784e5b0" }, "downloads": -1, "filename": "streamz_latest-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "03723a160a2314e513cbd3ca334b6836", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 47805, "upload_time": "2018-08-24T05:43:09", "url": "https://files.pythonhosted.org/packages/7e/2b/52f951879759c5d496725c99b45081ed451bde029ba01a2475c861ec8d46/streamz_latest-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f47057683d58ee590d0b784f995e61d", "sha256": "4b6b5fd32c3b81695f053e75bbe29ea175223788815ed5e0ef0f082361167490" }, "downloads": -1, "filename": "streamz_latest-0.3.0.tar.gz", "has_sig": false, "md5_digest": "5f47057683d58ee590d0b784f995e61d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61407, "upload_time": "2018-08-24T05:43:11", "url": "https://files.pythonhosted.org/packages/fb/ab/4e720307ad1f4659013d851d1e8e4e18035b02377865303568b91ccda6f7/streamz_latest-0.3.0.tar.gz" } ] }