Mona is a calculation framework that turns normal execution of Python functions into a graph of tasks. Each task is hashed by the code of its function and by its inputs, and the result of each executed task is cached. The cache can be stored persistently in an SQLite database. Tasks can be executed in parallel within a single Mona instance, and multiple instances can work in parallel on the same database.
Install and update using Pip.
pip install -U mona
- Documentation: https://azag0.github.io/mona
A simple example
from mona import Rule, Session @Rule async def total(xs): return sum(xs) @Rule async def fib(n): if n < 2: return n return total([fib(n - 1), fib(n - 2)]) with Session() as sess: sess.eval(fib(5)) dot = sess.dot_graph() dot.render(view=True)
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size mona-0.2.1-py3-none-any.whl (163.9 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size mona-0.2.1.tar.gz (46.1 kB)||File type Source||Python version None||Upload date||Hashes View|