A non-intrusive Python pipeline.
Project description
Pipe.py
A non-intrusive Python pipeline.
There are only pipeline. If you want more functional tools, you should look for another library.
Install
pip install only-pipe
Or fetch from github
pip install git+https://github.com/abersheeran/only-pipe
Usage
Use pipeline to pass data as a positional parameter to the next function:
from pipe import F
range(10) | F(filter, lambda x: x % 2) | F(sum) == 25
Or you need to pass multiple parameters through the pipeline:
from pipe import FF
def get_data():
return 1, 2
get_data() | FF(lambda x, y: x + y) == 3
Use alias like follow code, you can use map
/filter
/reduce
more conveniently:
from functools import reduce
from pipe import F
Filter = F(F, filter)
Map = F(F, map)
Reduce = F(F, reduce)
range(100) | Filter(lambda x: x % 2) | Map(lambda x: x * x) | Reduce(lambda x, y: x + y)
Set Global
Maybe you don't want to use from pipe import F
in every file of the entire project, you can use the following code to set it as a global function, just like min
/max
/sum
.
import pipe
pipe.set_global(pipe.F, pipe.FF)
Maybe you also want to expose functools.reduce
to the world, just like map
/filter
.
import pipe
import functools
pipe.set_global(pipe.F, pipe.FF, functools.reduce)
More
No more ~ This library has less than ten lines of valid code, but it is very effective.
If you like it, please give a Star. 😀
This repository is released under the MIT. Do what you want!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for only_pipe-2.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9ad4dbcbafefe06ae03b7f0e8eba1b4dd718910a3266d51fbe7088a04fd1ed3 |
|
MD5 | 3fb98083aa13b73efd59af3a7c2cafe6 |
|
BLAKE2b-256 | ac8024ea3fd2f0258e5e70a54edd3f6be39de75b9286f6cef2bdab912a24ce7c |