Monads for Python. Side-effect explicitly.
Project description
pyEffects
Monads for Python. Side-effect explicitly.
Handle your side-effects in Python like a boss. Implements functional types for Either, Option, Try, and Future.
For more detailed information, please refer to the API Documentation.
1. Install
pip install pyeffects
2. Using Option
>>> from pyeffects.Option import *
>>> val = Some(5).map(lambda v: v * v)
>>> val
Some(25)
>>> val.is_defined()
True
>>> val.get()
25
3. Using Try
>>> from pyeffects.Try import *
>>> val = Success(5).map(lambda v: v * v)
>>> val
Success(25)
>>> val.is_success()
True
>>> val.get()
25
4. Using Either
>>> from pyeffects.Either import *
>>> val = Right(5).map(lambda v: v * v)
>>> val
Right(25)
>>> val.is_right()
True
>>> val.get()
25
5. Using Future
>>> from pyeffects.Future import *
>>> val = Future.of(5).map(lambda v: v * v)
>>> val
Future(Success(25))
>>> val.on_complete(lambda v: print(v))
Success(25)
>>> val.get()
25
6. Reporting an Issue
Please report any issues or bugs to the Github issues page.
8. License
This project is licensed under the Apache 2 License.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyeffects-1.0.2.tar.gz
(9.7 kB
view hashes)
Built Distribution
Close
Hashes for pyeffects-1.0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1aa9206632713586e8bbb9a2c86c77174df07ad80a898c4eb3d95ae19f4d65fc |
|
MD5 | ea820fe29ff3b4bea4f92a0f5d188401 |
|
BLAKE2b-256 | 80816200aaea933761aacac9e40d0891f21295f3e1e81f6a55b0bcaa9d3665b3 |