functional-pipeline

Functional Pipelines implemented in python


License
MIT
Install
pip install functional-pipeline==0.6.1

Documentation

Functional Pipeline

PyPI version pipeline status coverage report PyPI

Functional languages like Haskell, Elixir, and Elm have pipe functions that allow the results of one function to be passed to the next function.

Using functions from functools, we can build composition in python, however it is not nearly as elegant as a well thought out pipeline.

This library is designed to make the creation of a functional pipeline easier in python.

from operators import add, multiply
from functional_pipeline import pipeline, tap

result = pipeline(
    10,
    [
        (add, 1),
        (multiply, 2)
    ]
)
print(result)  # 22

This pattern can be extended for easily dealing with lists or generators.

from functional_pipeline import pipeline, String, join

names = [
    "John",
    "James",
    "Bill",
    "Tiffany",
    "Jamie",
]

result = pipeline(
    names,
    [
        (filter, String.startswith('J')),
        (map, lamdba x: x + " Smith")
        join(", ")
    ]
)
print(result)  # "John Smith, James Smith, Jamie Smith"