Skip to main content

Pegasus DAX Python API with a helper class

Project description

# Pegasus Workflow Management System Python3 API

Pegaflow, https://github.com/polyactis/pegaflow, is a package of the Python3 APIs for Pegasus WMS (http://pegasus.isi.edu/). Pegasus(<5.0) offers Python2 support only. Pegasus allows a developer to connect dependent computing jobs into a DAG (Directed Acyclic Graph) and run jobs according to the dependency.

[Workflow.py](pegaflow/Workflow.py) is the key difference from the official Pegasus Python APIs. Inheriting [Workflow.py](pegaflow/Workflow.py), users can write Pegasus workflows in an Object-Oriented way. It significantly reduces the amount of coding in writing a Pegasus workflow.

Pegasus jobs do NOT support UNIX pipes while many UNIX programs can only output to stdout. A shell wrapper, [pegaflow/shell/pipeCommandOutput2File.sh](pegaflow/shell/pipeCommandOutput2File.sh), is offered to redirect the output (stdout) of a program to a file. [pegaflow/shell/](pegaflow/shell/) contains a few other useful shell scripts.

  • The DAX API (v3) and the helper class Workflow.py

  • The monitoring API

  • The Stampede database API

  • The Pegasus statistics API

  • The Pegasus plots API

  • Miscellaneous Pegasus utilities

  • The Pegasus service, including the ensemble manager and dashboard

This package’s source code is adapted from https://github.com/pegasus-isi/pegasus, version 4.9.1,

# Installation

Install pegaflow:

`python pip3 install pegaflow `

Pegasus and HTCondor (Condor) are only required on computers where you intend to submit and run workflows.

On computers where only DAX (DAG xml file) writing will be practiced, no need to install them.

If a user intends to use Non-DAX Pegasus APIs, the following Python packages need to be installed as well.

  • “Werkzeug==0.14.1”,

  • “Flask==0.12.4”,

  • “Jinja2==2.8.1”,

  • “SQLAlchemy”,

  • “Flask-Cache==0.13.1”,

  • “requests==2.18.4”,

  • “MarkupSafe==1.0”,

  • “boto==2.48.0”,

  • “pam==0.1.4”,

  • “plex==2.0.0dev”,

  • “future”

# Examples

Check [pegaflow/example/](pegaflow/example/) for examples how to inherit [Workflow.py](pegaflow/Workflow.py) and run Pegasus workflows.

# 20200326 A python3 package for pegasus-wms API

Pegaflow is a package of the Python3 APIs for Pegasus WMS (http://pegasus.isi.edu/), with a helper class Workflow.py.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

Pegaflow-0.0.2-py3-none-any.whl (360.2 kB view details)

Uploaded Python 3

File details

Details for the file Pegaflow-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: Pegaflow-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 360.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.44.1 CPython/3.6.9

File hashes

Hashes for Pegaflow-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 526aef3c3b3bcd4ee08d85e5d092b3db8c679a0ea83f5e03007f74f4ea01c650
MD5 efdee0aba79765a5e368ba54a3479186
BLAKE2b-256 1d2b8962feedb2704cfc546a1c30b777ef88b699b2d9c8c5d1e7a723f710aa23

See more details on using hashes here.

Provenance

Supported by

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