Distributed calculation framework
Project description
Mona
Mona is a distributed 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 its inputs, and the result of each executed task is cached. The cache can be stored persistently in an SQLite database. Tasks and their results can be exchanged between different machines via SSH.
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.1.0.tar.gz
(45.5 kB
view hashes)
Built Distribution
mona-0.1.0-py3-none-any.whl
(163.3 kB
view hashes)