Skip to main content

A Framework for Enabling Scientific Workflow Research and Education

Project description

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


An open-source ecosystem of workflow execution instances, synthetic workflow generators, and benchmark specifications. It helps the community study scheduling, performance, resilience, and emerging AI-driven workflow automation on modern distributed and HPC platforms.

  • Real instances: Workflow executions curated in a common JSON format (WfFormat).
  • Synthetic realism: Generate realistic workflows from real traces.
  • Benchmarks: Produce executable specs for repeatable experiments and fair comparisons.

Quick links: Documentation · Website · GitHub Issues

Quickstart

WfCommons requires Python 3.11+ and has been tested on Linux and macOS.

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install wfcommons

Generate a synthetic workflow in a few lines:

import pathlib
from wfcommons.wfchef.recipes import SeismologyRecipe
from wfcommons import WorkflowGenerator

generator = WorkflowGenerator(SeismologyRecipe.from_num_tasks(250))
workflow = generator.build_workflow()
workflow.write_json(pathlib.Path("seismology-workflow.json"))

Next steps:

Installation

WfCommons is available on PyPI.

python3 -m pip install wfcommons

Installing from source (latest)

git clone https://github.com/wfcommons/wfcommons
cd wfcommons
python3 -m 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: support@wfcommons.org.

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},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wfcommons-1.4.tar.gz (5.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wfcommons-1.4-cp314-cp314-macosx_26_0_arm64.whl (6.1 MB view details)

Uploaded CPython 3.14macOS 26.0+ ARM64

File details

Details for the file wfcommons-1.4.tar.gz.

File metadata

  • Download URL: wfcommons-1.4.tar.gz
  • Upload date:
  • Size: 5.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for wfcommons-1.4.tar.gz
Algorithm Hash digest
SHA256 00b07889b4f412540959bc94b1237af2186d65d9bc38ab3addd9e5913e3dc215
MD5 45cdcc7f9dae6fa2deb67c9a7cf22ca2
BLAKE2b-256 b19b7b0924ed2f27e0c4a6903ee1c9871170e312dc25318db0fa45f5f9ccdd23

See more details on using hashes here.

File details

Details for the file wfcommons-1.4-cp314-cp314-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for wfcommons-1.4-cp314-cp314-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 6c3e57e5ba17167a0bec61b6cf097ad980beffb126f200f59aa2cfe413083eda
MD5 83d255b1ec97fb7d66e406e8da2241c0
BLAKE2b-256 52a4980858c18c6f044c5dac2dc5590942d989cf4ae7cee4fa8884ce8720a37c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page