Calculation framework
Project description
Mona
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.
Installing
Install and update using Pip.
pip install -U mona
Links
- 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)
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
mona-0.2.2.tar.gz
(46.1 kB
view hashes)
Built Distribution
mona-0.2.2-py3-none-any.whl
(164.0 kB
view hashes)