/automan

A simple automation framework in Python

Primary LanguagePythonOtherNOASSERTION

automan: a simple automation framework

CI Status Coverage Status Documentation Status

This framework allows you to automate your computational pipelines. automan is open source and distributed under the terms of the 3-clause BSD license.

Features

It is designed to automate the drudge work of managing many numerical simulations. As an automation framework it does the following:

  • helps you organize your simulations.
  • helps you orchestrate running simulations and then post-processing the results from these.
  • helps you reuse code for the post processing of your simulation data.
  • execute all your simulations and post-processing with one command.
  • optionally distribute your simulations among other computers on your network.

This greatly facilitates reproducibility. Automan is written in pure Python and is easy to install.

Installation

You should be able to install automan using pip as:

$ pip install automan

If you want to run on the bleeding edge, you may also clone this repository, change directory into the created directory and run either:

$ python setup.py install

or:

$ python setup.py develop

Documentation

Documentation for this project is available at https://automan.rtfd.io

There is a paper on automan that motivates and describes the software:

  • Prabhu Ramachandran, "automan: A Python-Based Automation Framework for Numerical Computing," in Computing in Science & Engineering, vol. 20, no. 5, pp. 81-97, 2018. doi:10.1109/MCSE.2018.05329818

A draft of this paper is available here: https://arxiv.org/abs/1712.04786

There are more than ten research publications that use automan to automate the entire paper. To see complete examples of these research publications using this framework, see the following:

The README.rst in these repositories will document how to set everything up. The automation script will typically be called automate.py.

A simpler example project which uses automan is here: https://github.com/mesnardo/automan-example

The package name

The name automan comes from an old serial with the same name. Most other names were taken on pypi.