orinoco
pfun
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
orinoco
pfun
-
good examples of functional-like python code that one can study?
Another examples: pfun - stuff you'd find in FP language, but in Python (like using monads for effects)
-
Effectful Programming in Machine Learning pipeline
I am a long-time Coconut user, so functional ideas are relatively easy to play with. But I recently discovered pfun which has a lovely system for Effectful programming.
-
How To Make Functional Programming in Python Go Fast
In pfun 0.12.0 the interpreter for the effect system was completely re-written as a Python C extension. Lets do some benchmarking to see how big a difference this actually makes in terms of performance. We'll use the performance of the the Scala library ZIO as a baseline, as the pfun effect system draws most of its inspiration from there. ZIO has a fairly extensive benchmarking suite. The most obvious benchmark for testing raw interpreter speed, without any parallelism, is called deepLeftBind (bind is the canonical name for the and_then operation, also called flatMap in Scala):
What are some alternatives?
returns - Make your functions return something meaningful, typed, and safe!
python-lenses - A python lens library for manipulating deeply nested immutable structures
raffiot.py - Robust And Fast Functional IO Toolkit
pandas-stubs - Pandas type stubs. Helps you type-check your code.
python-betterproto - Clean, modern, Python 3.6+ code generator & library for Protobuf 3 and async gRPC
patina - Python adaptations of Rust's Result, Option, and HashMap types. Ready for Python 3.10 pattern matching!
thinc - 🔮 A refreshing functional take on deep learning, compatible with your favorite libraries
ZIO - ZIO — A type-safe, composable library for async and concurrent programming in Scala
gelidum - Freeze your objects in python
Coconut - Simple, elegant, Pythonic functional programming.
pandas-stubs - Public type stubs for pandas