{ "info": { "author": "Ryan McDevitt", "author_email": "mcdevitt.ryan@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Topic :: Software Development :: Libraries", "Topic :: Utilities" ], "description": "# Functional Pipeline\n[![PyPI version](https://badge.fury.io/py/functional-pipeline.svg)](https://badge.fury.io/py/functional-pipeline)\n[![pipeline status](https://gitlab.com/mc706/functional-pipeline/badges/master/pipeline.svg)](https://gitlab.com/mc706/functional-pipeline/commits/master)\n[![coverage report](https://gitlab.com/mc706/functional-pipeline/badges/master/coverage.svg)](https://gitlab.com/mc706/functional-pipeline/commits/master)\n[![PyPI](https://img.shields.io/pypi/pyversions/functional-pipeline.svg)](https://pypi.org/project/functional-pipeline/)\n[![Documentation Status](https://readthedocs.org/projects/functional-pipeline/badge/?version=latest)](https://functional-pipeline.readthedocs.io/en/latest/?badge=latest)\n\n\nFunctional languages like Haskell, Elixir, and Elm have pipe functions that allow\nthe results of one function to be passed to the next function. \n\nUsing functions from `functools`, we can build composition in python, however it is not\nnearly as elegant as a well thought out pipeline. \n\nThis library is designed to make the creation of a functional pipeline easier in python.\n\n```python \n>>> from operator import add, mul\n\n>>> from functional_pipeline import pipeline, tap\n\n>>> result = pipeline(\n... 10,\n... [\n... (add, 1),\n... (mul, 2)\n... ]\n... )\n\n>>> result\n22\n\n```\n\nThis pattern can be extended for easily dealing with lists or generators.\n\n```python\n>>> from functional_pipeline import pipeline, String, join\n\n>>> names = [\n... \"John\",\n... \"James\",\n... \"Bill\",\n... \"Tiffany\",\n... \"Jamie\",\n... ]\n\n>>> result = pipeline(\n... names,\n... [\n... (filter, String.startswith('J')),\n... (map, lambda x: x + \" Smith\"),\n... join(\", \"),\n... ]\n... )\n\n>>> result\n'John Smith, James Smith, Jamie Smith'\n\n```\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://gitlab.com/mc706/functional-pipeline", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "functional-pipeline", "package_url": "https://pypi.org/project/functional-pipeline/", "platform": "", "project_url": "https://pypi.org/project/functional-pipeline/", "project_urls": { "Bug Reports/Issues": "https://gitlab.com/mc706/functional-pipeline/issues", "Docs": "https://functional-pipeline.readthedocs.io/en/stable/#", "Homepage": "https://gitlab.com/mc706/functional-pipeline", "Source": "https://gitlab.com/mc706/functional-pipeline" }, "release_url": "https://pypi.org/project/functional-pipeline/0.3.1/", "requires_dist": [ "prospector ; extra == 'dev'", "coverage ; extra == 'dev'", "mypy ; extra == 'dev'", "pytest ; extra == 'dev'", "pytest-cov ; extra == 'dev'" ], "requires_python": "", "summary": "Functional Pipelines implemented in python", "version": "0.3.1" }, "last_serial": 4988596, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b2a910bff4852b38772da27937f0baca", "sha256": "b74a918c9214469a5dff1132f416a5d77d8dfbe6bb41e5cb849782a16bb66cba" }, "downloads": -1, "filename": "functional_pipeline-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b2a910bff4852b38772da27937f0baca", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3889, "upload_time": "2019-02-15T22:29:51", "url": "https://files.pythonhosted.org/packages/d9/ae/126e8b45faa71cfa79802f9749d2591b038430d311719ae5cf1d9732cd1c/functional_pipeline-0.1.0-py2.py3-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "338bac9c8a48296b798b84914f71a39e", "sha256": "cfabc3266bc32096dd1b003592bc432d6a712f90a7df5b7c7ca198a99ba11c17" }, "downloads": -1, "filename": "functional_pipeline-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "338bac9c8a48296b798b84914f71a39e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6534, "upload_time": "2019-02-16T18:00:06", "url": "https://files.pythonhosted.org/packages/96/2b/4acd22a208bc30c54cf4f83f288ec4f772678cf892cd86673ad82d556637/functional_pipeline-0.1.1-py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "4c8c0da6d36ed1fff9f61cd1ed988913", "sha256": "abf7bdfea3bb9d0c4632cc837cf00833011d3eb572ba72d396b80a49595d2a71" }, "downloads": -1, "filename": "functional_pipeline-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4c8c0da6d36ed1fff9f61cd1ed988913", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6714, "upload_time": "2019-02-16T22:33:09", "url": "https://files.pythonhosted.org/packages/56/04/d8cac0caa8bcff44709790925d1dc76c8b17be317e67ce5aec5099b67994/functional_pipeline-0.2.0-py3-none-any.whl" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "4ce7cba25603bbaec5e14f5147b7d42c", "sha256": "70b52373d085d40542a485979de2feb50844e735aab616a87b5fc6c5247a6c12" }, "downloads": -1, "filename": "functional_pipeline-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4ce7cba25603bbaec5e14f5147b7d42c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6991, "upload_time": "2019-02-18T13:47:25", "url": "https://files.pythonhosted.org/packages/75/6a/08cfde409e4ff93c7a9501aeef7a11d1faead4809afce99e99a69988fcbb/functional_pipeline-0.3.0-py3-none-any.whl" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "5fc251af0cb65c650eb710bab9ac8ac6", "sha256": "1c8332932318c88d2a62bfa1212beead89eca03a240d0b14c93ffa39fc6b7678" }, "downloads": -1, "filename": "functional_pipeline-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5fc251af0cb65c650eb710bab9ac8ac6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7375, "upload_time": "2019-03-26T17:14:43", "url": "https://files.pythonhosted.org/packages/78/77/d9cb7409e058299793c2cb095c2562a4a1af50f18ce971798dd5240bf079/functional_pipeline-0.3.1-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5fc251af0cb65c650eb710bab9ac8ac6", "sha256": "1c8332932318c88d2a62bfa1212beead89eca03a240d0b14c93ffa39fc6b7678" }, "downloads": -1, "filename": "functional_pipeline-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5fc251af0cb65c650eb710bab9ac8ac6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7375, "upload_time": "2019-03-26T17:14:43", "url": "https://files.pythonhosted.org/packages/78/77/d9cb7409e058299793c2cb095c2562a4a1af50f18ce971798dd5240bf079/functional_pipeline-0.3.1-py3-none-any.whl" } ] }