epyc is a Python module for controlling a long-running series of computational experiments, as is often found when writing simulations of complex networks and other such domains. There is often a need to perform a computation across a multi-dimensional parameter space, varying the parameters, performing and aggregating multiple repetitions, and wrangling results for analysis and presentation. Often the experiments being performed are on such a scale as to require the use of a computing cluster to perform multiple experiments simultaneously. Managing all these tasks is complicated, so epyc tries to automate it. It provides a way to define a "laboratory" performing a collection of "experiments" whose parameters and results are recorded in a "lab notebook" for later retrieval. Laboratories can be sequential (for a single machine) or parallel (to use a multicore or cluster of machines); lab notebooks can be persistent to allow experiments to be fired-off and their results retrieved later -- handy if you use a laptop. Notebooks store all the data and metadata in a portable format to improve the reproducibility of computational experiments. epyc also includes a small number of "experiment combinators" that separate the logic of a single experiment from the logic of performing multiple repetitions and other structuring tasks. This means that any experiment can be repeated and statistically summarised, for example.
1 week, 3 days ago passed
.. image:: https://readthedocs.org/projects/epyc/badge/?version=latest :target: https://epyc.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status
<a href='https://epyc.readthedocs.io/en/latest/?badge=latest'> <img src='https://readthedocs.org/projects/epyc/badge/?version=latest' alt='Documentation Status' /> </a>