Skip to content

WfCommons: A Framework for Enabling Scientific Workflow Research and Development

License

Notifications You must be signed in to change notification settings

wfcommons/WfCommons

Folders and files

NameName
Last commit message
Last commit date
Nov 30, 2024
Apr 2, 2025
Feb 16, 2025
Apr 21, 2025
Apr 24, 2025
Jan 15, 2025
Feb 16, 2022
Jul 21, 2023
Jun 11, 2024
Oct 30, 2024
Mar 8, 2023
Sep 30, 2024
Mar 31, 2025
Aug 13, 2020
Nov 1, 2024

Repository files navigation

Build  PyPI version  License: LGPL v3  CodeFactor  Documentation Status  Codecov  Downloads


A Framework for Enabling Scientific Workflow Research and Development

This Python package provides a collection of tools for:

  • Analyzing instances of actual workflow executions;
  • Producing recipes structures for creating workflow recipes for workflow generation;
  • Generating synthetic realistic workflow instances; and
  • Generating realistic workflow benchmark specifications.

Open In Gitpod

Installation

WfCommons is available on PyPI. WfCommons requires Python3.9+ and has been tested on Linux and macOS.

Installation using pip

While pip can be used to install WfCommons, we suggest the following approach for reliable installation when many Python environments are available:

$ python3 -m pip install wfcommons

Retrieving the latest unstable version

If you want to use the latest WfCommons unstable version, that will contain brand new features (but also contain bugs as the stabilization work is still underway), you may consider retrieving the latest unstable version.

Cloning from WfCommons's GitHub repository:

$ git clone https://github.com/wfcommons/wfcommons
$ cd wfcommons
$ pip install .

Optional Requirements

Graphviz

WfCommons uses pygraphviz for generating visualizations for the workflow task graph. If you want to enable this feature, you will have to install the graphviz package (version 2.16 or later). You can install graphviz easily on Linux with your favorite package manager, for example for Debian-based distributions:

sudo apt-get install graphviz libgraphviz-dev

and for RedHat-based distributions:

sudo yum install python-devel graphviz-devel

On macOS you can use brew package manager:

brew install graphviz

Then you can install pygraphviz by running:

python3 -m pip install pygraphviz

pydot

WfCommons uses pydot for reading and writing DOT files. If you want to enable this feature, you will have to install the pydot package:

python3 -m pip install pydot

Get in Touch

The main channel to reach the WfCommons team is via the support email: [email protected].

Bug Report / Feature Request: our preferred channel to report a bug or request a feature is via
WfCommons's Github Issues Track.

Citing WfCommons

When citing WfCommons, please use the following paper. You should also actually read that paper, as it provides a recent and general overview on the framework.

@article{wfcommons,
    title = {{WfCommons: A Framework for Enabling Scientific Workflow Research and Development}},
    author = {Coleman, Taina and Casanova, Henri and Pottier, Loic and Kaushik, Manav and Deelman, Ewa and Ferreira da Silva, Rafael},
    journal = {Future Generation Computer Systems},
    volume = {128},
    number = {},
    pages = {16--27},
    doi = {10.1016/j.future.2021.09.043},
    year = {2022},
}