Metadata-Version: 2.1
Name: funcy-pipe
Version: 0.4.0
Summary: If Funcy and Pipe had a baby. Decorates all Funcy methods with Pipe superpowers.
Home-page: https://github.com/iloveitaly/funcy-pipe
License: MIT
Keywords: functional-programming,pipe,funcy,data-manipulation
Author: Michael Bianco
Author-email: mike@mikebian.co
Requires-Python: >=3.11,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: funcy (>=2.0,<3.0)
Description-Content-Type: text/markdown

# Funcy with pipeline-based operators

If [Funcy](https://github.com/Suor/funcy) and [Pipe](https://github.com/JulienPalard/Pipe) had a baby. Deal with data transformation in python in a sane way.

## Examples

```python
import funcy_pipe as f
entities_from_sql_alchemy
  | f.lmap(lambda r: r.to_dict())
  | f.lmap(lambda r: r | f.omit(["id", "created_at", "updated_at"]))
  | f.to_list
```

## Extras

* to_list
* log
* bp
* sort
* exactly_one
* reduce

### Module Alias

Create a module alias for `funcy-pipe` to make things clean (`import *` always irks me):

```python
# fp.py
from funcy_pipe import *

# code py
import fp
```

# Inspiration

* Elixir's pipe operator. `array |> map(fn) |> filter(fn)`
* Ruby's enumerable library. `array.map(&:fn).filter(&:fn)`
* https://pypi.org/project/funcy-chain
* https://github.com/JulienPalard/Pipe

# TODO

- [ ] tests
- [ ] relax python version
- [ ] fix typing threading

