Skip to main content
https://badge.fury.io/py/epyc.svg https://readthedocs.org/projects/epyc/badge/?version=latest https://github.com/simoninireland/epyc/actions/workflows/ci.yaml/badge.svg https://zenodo.org/badge/63255319.svg https://joss.theoj.org/papers/10.21105/joss.03764/status.svg https://www.gnu.org/graphics/gplv3-88x31.png

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
pip install .

Examples

See the examples directory for code examples.

Documentation

API documentation for epyc can be found on ReadTheDocs. You can also read a Jupyter notebook describing several epyc use cases online here.

Author and license

Copyright (c) 2016-2022, Simon Dobson <simoninireland@gmail.com>

Licensed under the GNU General Public Licence v3.

Metadata

Release files for epyc 1.7.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for epyc 1.7.2
File Size Uploaded
epyc-1.7.2.tar.gz 79.0 kB Details

Release files / epyc-1.7.2.tar.gz

Download URL epyc-1.7.2.tar.gz
Size 79.0 kB
Tags Source
SHA-256 checksum
How to use checksums
9aae0cd0ee809c7dec0e8c6e7df8f8698990fcca45543fe547d32808462c7de2
BLAKE2b-256 checksum
How to use checksums
47dd26c7523c725a4d8bf768b532b599825a152ff8a80a4907f274fca55ce1d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.5

Release history Release notifications | RSS feed

This release

1.7.2 This release

1 release file

1.7.1

1 release file

1.6.2

1 release file

1.6.1

1 release file

1.5.1

1 release file

1.4.2

1 release file

1.4.1

1 release file

1.3.2

1 release file

1.3.1

1 release file

1.2.1

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.0.2

1 release file

1.0.1

1 release file

0.99.3

1 release file

0.99.2

1 release file

0.99.1

1 release file

0.15.1

1 release file

0.14.1

1 release file

0.13.3

1 release file

0.13.2

1 release file

0.13.1

1 release file

0.12.1

1 release file

0.11.2

1 release file

0.11.1

1 release file

0.10.1

1 release file

0.9.1

1 release file

0.8.2

0.8.1

1 release file

0.7.1

1 release file

0.6.2

1 release file

0.6.1

1 release file

0.5.1

1 release file

0.4.1

1 release file

0.3.1

1 release file

0.2.1

1 release file

0.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page