https://github.com/pypr/automan
A simple automation framework in Python
https://github.com/pypr/automan
framework numerical-computation reproducibility
Last synced: 9 months ago
JSON representation
A simple automation framework in Python
- Host: GitHub
- URL: https://github.com/pypr/automan
- Owner: pypr
- License: other
- Created: 2017-08-25T17:14:34.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2025-05-30T17:15:17.000Z (10 months ago)
- Last Synced: 2025-07-08T15:05:08.190Z (9 months ago)
- Topics: framework, numerical-computation, reproducibility
- Language: Python
- Size: 200 KB
- Stars: 30
- Watchers: 5
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES.rst
- License: LICENSE.txt
Awesome Lists containing this project
README
automan: a simple automation framework
--------------------------------------
|CI Status| |Coverage Status| |Documentation Status|
.. |CI Status| image:: https://github.com/pypr/automan/actions/workflows/tests.yml/badge.svg
:target: https://github.com/pypr/automan/actions
.. |Coverage Status| image:: https://codecov.io/gh/pypr/automan/branch/main/graph/badge.svg
:target: https://codecov.io/gh/pypr/automan
.. |Documentation Status| image:: https://readthedocs.org/projects/automan/badge/?version=latest
:target: https://automan.readthedocs.io/en/latest/?badge=latest
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
.. _pip: https://pip.pypa.io/en/stable/
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 EDAC-SPH paper: https://gitlab.com/prabhu/edac_sph
- All the repositories/papers here: https://gitlab.com/pypr
- ML/AI related research paper using automan: https://github.com/nn4pde/SPINN
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.