{ "info": { "author": "austinv11", "author_email": "austinv11@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: AsyncIO", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Utilities" ], "description": "# Pypeline\n\nThis is a package for creating iterative data processing pipelines. Note that\nthis is NOT a general purpose stream processing library. It is only designed as \nbeing a low overhead and simple-to-setup stream processing library. So for\nlarge scale production applications, use something like kafka instead.\n\n## Warning\nThis library is still at an ALPHA stage. So things may not work as intended\nand the api is not final!\n\n## Trivial Example\n```python\nfrom pypeline import build_action, Pypeline, ForkingPypelineExecutor, wrap\nimport asyncio\n\nasync def step1():\n results = []\n for i in range(1000):\n results.append(wrap(i))\n return results\n\nasync def step2(i):\n return i * 10\n\nasync def step3(i):\n return i + 1\n\nasync def run_pipeline():\n pypeline = Pypeline()\n # Adding actions to the pipeline\n pypeline.add_action(build_action(\"Step1\", step1)) \\ \n .add_action(build_action(\"Step2\", step2)) \\\n .add_action(build_action(\"Step3\", step3, serialize_dir=\"./example\")) # Serialize results so future runs will skip this step entirely\n results = await pypeline.run(executor=ForkingPypelineExecutor()) # Custom executor that avoids the GIL\n # Results are wrapped in a utility namedtuple, so let's flatten it.\n results = [r.args[0] for r in results]\n return results\n\nresults = asyncio.get_event_loop().run_until_complete(run_pipeline())\nfor result in results:\n print(result)\n```\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/austinv11/pypeline", "keywords": "data pipeline pypeline", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "data-pypeline", "package_url": "https://pypi.org/project/data-pypeline/", "platform": "", "project_url": "https://pypi.org/project/data-pypeline/", "project_urls": { "Bug Reports": "https://github.com/austinv11/pypeline/issues", "Homepage": "https://github.com/austinv11/pypeline", "Source": "https://github.com/austinv11/pypeline/" }, "release_url": "https://pypi.org/project/data-pypeline/0.1.4/", "requires_dist": [ "xxhash", "billiard", "dill", "filelock", "Plyvel; sys_platform != \"win32\"", "ujson; sys_platform != \"win32\"", "uvloop; sys_platform != \"win32\"" ], "requires_python": "", "summary": "Pypeline is a data pipeline builder library.", "version": "0.1.4" }, "last_serial": 4342466, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "fb7e53c63ea9c50a9086ce5df4613eb9", "sha256": "3f41a5c475560278b6fa03543980c8a77f674269987b7a2705d7172b69192886" }, "downloads": -1, "filename": "data_pypeline-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "fb7e53c63ea9c50a9086ce5df4613eb9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12795, "upload_time": "2018-09-10T22:26:31", "url": "https://files.pythonhosted.org/packages/93/90/105f73fae98cd4d9d09ec11a1a6dd8a6694e4e978631ed3fae2268b8d202/data_pypeline-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f270fdf5fc600ad4f4de869dec0cc7be", "sha256": "9e1ef2d7a94f9fb9db0f804aaf07ce7e48a72fdeeba544edee88e8168a8e973a" }, "downloads": -1, "filename": "data-pypeline-0.1.0.tar.gz", "has_sig": false, "md5_digest": "f270fdf5fc600ad4f4de869dec0cc7be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12103, "upload_time": "2018-09-10T22:26:32", "url": "https://files.pythonhosted.org/packages/a6/eb/2cb5b16e496344376013d30b00be5ad468a602bfb14db8199816ce414e9c/data-pypeline-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "a35e988810c24ace8757ec9b61856ab0", "sha256": "48eea7ea476080a09c044d2893c601bcc246fa500df8f0ecb611dba096645144" }, "downloads": -1, "filename": "data_pypeline-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a35e988810c24ace8757ec9b61856ab0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12809, "upload_time": "2018-09-11T01:36:58", "url": "https://files.pythonhosted.org/packages/52/0a/f76b211ccee06c6ca2c0950051a8d24999ecb39c02993ebd1bfc7065065a/data_pypeline-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "91f372d27594f3a1088d4fcfe43e5494", "sha256": "4deffdb1b6884907df159bb3f1eb332f2b77eb6b4b4495e7ec6a4a0c95ea7031" }, "downloads": -1, "filename": "data-pypeline-0.1.1.tar.gz", "has_sig": false, "md5_digest": "91f372d27594f3a1088d4fcfe43e5494", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12117, "upload_time": "2018-09-11T01:36:59", "url": "https://files.pythonhosted.org/packages/c8/7b/413da02c632be9acaa4b2e4d1d6b95f7942507f297bff9b6ea452f138ad5/data-pypeline-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "71be3f26f9dc83aaf8d24e27ff141c00", "sha256": "573bfadc00499706e523fa4313c8b5bd57c469c4f633cb32070084b72fa0d0dc" }, "downloads": -1, "filename": "data-pypeline-0.1.2.tar.gz", "has_sig": false, "md5_digest": "71be3f26f9dc83aaf8d24e27ff141c00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11951, "upload_time": "2018-10-04T22:23:52", "url": "https://files.pythonhosted.org/packages/9e/bc/d596388ae768ebfa4ba9f27585356729d96da9af40c1bea54b27d7dfe9d4/data-pypeline-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "f94054c4d46ca8dd51aad6f223f12f5a", "sha256": "667c7e3bfe3071095352d61e9aa87bc21d1067ba9c41920ea6982eba591609ab" }, "downloads": -1, "filename": "data_pypeline-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "f94054c4d46ca8dd51aad6f223f12f5a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12977, "upload_time": "2018-10-04T23:55:05", "url": "https://files.pythonhosted.org/packages/87/01/db2208120e7d220ca0aa02b803227e19ff37026884020f0a5580a91d9eb5/data_pypeline-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "883cceec8374d3319e3572a4943190d5", "sha256": "8da8ea69179df6e7f227706c1ac511fe7e29b7bf1323de3aaa8e9f539f6033ac" }, "downloads": -1, "filename": "data-pypeline-0.1.3.tar.gz", "has_sig": false, "md5_digest": "883cceec8374d3319e3572a4943190d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12333, "upload_time": "2018-10-04T23:55:06", "url": "https://files.pythonhosted.org/packages/02/da/a9b802330bdc6cced9c59f37bca167bc14fbb299b277defd71c1e5f61ebd/data-pypeline-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "056e7a69abbd9c9ed75665e2ef7f50b4", "sha256": "7d35534f1d332dbaf174bf223a5d29304f9d5516a71e420d6bf8b1abdc219df3" }, "downloads": -1, "filename": "data_pypeline-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "056e7a69abbd9c9ed75665e2ef7f50b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12978, "upload_time": "2018-10-05T01:14:36", "url": "https://files.pythonhosted.org/packages/d1/cd/109bdcae0ab68dad1bb54aa2dc120fb81aec91cb93642fa4f171f8e7e869/data_pypeline-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "101399a460653010ebe8a54205ea6e01", "sha256": "9ec542b5aa8ec47d23160595f7a4a5f6bd0f1ba057744de0bfaeed4bd18c92a3" }, "downloads": -1, "filename": "data-pypeline-0.1.4.tar.gz", "has_sig": false, "md5_digest": "101399a460653010ebe8a54205ea6e01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12333, "upload_time": "2018-10-05T01:14:37", "url": "https://files.pythonhosted.org/packages/80/61/d39878d5d917467ef324ccbaaf4bc5fb6a36eeb5ccd599e6db464be27647/data-pypeline-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "056e7a69abbd9c9ed75665e2ef7f50b4", "sha256": "7d35534f1d332dbaf174bf223a5d29304f9d5516a71e420d6bf8b1abdc219df3" }, "downloads": -1, "filename": "data_pypeline-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "056e7a69abbd9c9ed75665e2ef7f50b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12978, "upload_time": "2018-10-05T01:14:36", "url": "https://files.pythonhosted.org/packages/d1/cd/109bdcae0ab68dad1bb54aa2dc120fb81aec91cb93642fa4f171f8e7e869/data_pypeline-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "101399a460653010ebe8a54205ea6e01", "sha256": "9ec542b5aa8ec47d23160595f7a4a5f6bd0f1ba057744de0bfaeed4bd18c92a3" }, "downloads": -1, "filename": "data-pypeline-0.1.4.tar.gz", "has_sig": false, "md5_digest": "101399a460653010ebe8a54205ea6e01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12333, "upload_time": "2018-10-05T01:14:37", "url": "https://files.pythonhosted.org/packages/80/61/d39878d5d917467ef324ccbaaf4bc5fb6a36eeb5ccd599e6db464be27647/data-pypeline-0.1.4.tar.gz" } ] }