Metadata-Version: 1.2
Name: epyc
Version: 1.2.1
Summary: Python computational experiment management
Home-page: http://github.com/simoninireland/epyc
Author: Simon Dobson
Author-email: simon.dobson@computer.org
License: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)
Description: epyc: Python computational experiment management
        ================================================
        
        .. image:: https://badge.fury.io/py/epyc.svg
            :target: https://badge.fury.io/py/epyc
        
        .. image:: https://readthedocs.org/projects/epyc/badge/?version=latest
            :target: https://epyc.readthedocs.io/en/latest/index.html
        
        .. image:: https://api.travis-ci.org/simoninireland/epyc.svg?branch=master
            :target: http://travis-ci.org/github/simoninireland/epyc
        
        .. image:: https://coveralls.io/repos/github/simoninireland/epyc/badge.svg?branch=master
            :target: https://coveralls.io/github/simoninireland/epyc?branch=master
        
        
        Overview
        --------
        
        ``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 collected togethr into "result
        sets" and 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.
        
        
        Installation
        ------------
        
        ``epyc`` works with Python 3.6 and above, and with PyPy3. You can install
        it directly from PyPi using ``pip``:
        
        ::
        
           pip install epyc
        
        The master distribution of ``epyc`` is hosted on GitHub. To obtain a
        copy, just clone the repo:
        
        ::
           
            git clone git@github.com:simoninireland/epyc.git
            cd epyc
            python setup.py install
        
        
           
        Documentation
        -------------
        
        API documentation for ``epyc`` can be found on `ReadTheDocs <https://epyc.readthedocs.io/en/latest/>`.
        You can also read a Jupyter notebook describing several ``epyc`` use
        cases online at <https://github.com/simoninireland/epyc/blob/master/doc/epyc.ipynb>.
        
        
        Author and license
        ------------------
        
        Copyright (c) 2016-2020, Simon Dobson <simon.dobson@computer.org>
        
        Licensed under the `GNU General Public Licence v.2.0 <https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html>`.
        
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.5
