Skip to content
Python 3 version of FabSim
Python Roff Shell Dockerfile
Branch: master
Clone or download
Latest commit 4b678c6 Aug 8, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
VVP Changed documentation. Aug 7, 2019
backends/qcg Update qcg-broker svn Mar 14, 2019
base add bash aliasing to make shorter commands Aug 5, 2019
bin Modified fabsim cmd so it can be run from anywhere. Jun 11, 2019
config_files Updated LAMMPS test examples, to map to FabDummy. Jun 27, 2018
deploy Delete Aug 8, 2019
doc Create Jun 10, 2019
docs Slight tweak in content description Jun 10, 2019
fabric3_base Added support files to ease Fabric3 installation. Sep 13, 2018
lib Incorporated fixes from @wedeling in script Aug 1, 2019
plugins Added signposting to plugin README Jun 11, 2019
tests Fixed test and key deletion to be more rigorous. Nov 28, 2018
.gitignore update .gitignore file Jun 9, 2019
.travis.yml disable pip8 error 501 : line too long Feb 5, 2019 Added documentation on combined use of different FabSim versions. Nov 1, 2017
Dockerfile Updating Dockerfile, add QCG-Client, Fixing Bugs May 3, 2019 Update May 10, 2019 Update Jul 29, 2019
LICENSE Renamed LICENSE file Dec 10, 2015 Embedding Status Images for travic-ci, and Docker Mar 5, 2019
Singularity add QCG-Client Installation, fixing bugs May 2, 2019 Added YAML Safeloader to remove warnings. Jul 4, 2019
logo.jpg Modified logo image and added first version of a documentation page. Jun 7, 2019
requirements.txt Check for PEP8 violations Nov 21, 2018


Build Status Docker Pulls Docker Pulls

FabSim is a Python-based automation toolkit for scientific simulation and data processing workflows, licensed under the BSD 3-clause license. It aims to enable users to perform remote tasks from a local command-line, and to run applications while curating the environment variables and the input and output data in a systematic manner. To provide that curation, FabSim uses a basic data transfer functionalities such as rsync and ssh.

FabSim also contains a system for defining machine-specific configurations, including templates to execute jobs through schedulers such as PBSPro, Loadleveller and SGE. These machine-specific configurations are stored in the repository, apply to all applications run on that machine, and can be updated by any contributor who feels that a fix or improvement is required.

FabSim relies strongly on Fabric (, shown to work with versions 1.5.3 and 1.10.0) and PyYAML. Previous versions of FabSim (most notably FabHemeLB and FabMD) have been used to run simulation workflows on machines such as ARCHER, SuperMUC, BlueJoule, as well as local clusters and desktops.

FabSim is now publicly available at: The accompanying software paper can be found here:

Derivative versions of FabSim include:

  • FabHemeLB (previously known as FabricHemeLB), which is used to automate workflows involving the HemeLB lattice-Boltzmann simulation environment (see for the source code of that).
  • FabMD, which is used to semi-automatically coarse-grain polymer systems (part of this repository).
  • FabBioMD, which is used to facilitate protein-ligand binding affinity calculations (part of this repository).
  • FabFlee, which is under development and used to automate agent-based simulations of forced migration.

Installation and usage

For instructions on how to install and test FabSim, please refer to

Citing FabSim

Please find the BibTex reference below of our FabSim software paper in Computer Physics Communications:

title = "FabSim: Facilitating computational research through automation on large-scale and distributed e-infrastructures",
journal = "Computer Physics Communications",
volume = "207",
number = "Supplement C",
pages = "375 - 385",
year = "2016",
issn = "0010-4655",
doi = "",
url = "",
author = "Derek Groen and Agastya P. Bhati and James Suter and James Hetherington and Stefan J. Zasada and Peter V. Coveney",
You can’t perform that action at this time.