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/tools/pipe2File.sh](pegaflow/tools/pipe2File.sh), is offered to redirect the output (stdout) of a program to a file. [pegaflow/tools/](pegaflow/tools/) 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 --upgrade 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.
HTCondor https://research.cs.wisc.edu/htcondor/, the underlying job scheduler.
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.
[pegaflow/example/WordCountFiles.py](pegaflow/example/WordCountFiles.py) is an example that inherits [Workflow.py](pegaflow/Workflow.py). Users should be familiar with Object-Oriented programming.
[pegaflow/example/WCFiles_Function.py](pegaflow/example/WCFiles_Function.py) is a procedural-programming example that invokes functions in [Workflow.py](pegaflow/Workflow.py).
# 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file Pegaflow-0.1.4-py3-none-any.whl
.
File metadata
- Download URL: Pegaflow-0.1.4-py3-none-any.whl
- Upload date:
- Size: 380.0 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/46.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4756cf70510c42053955a3c3be79a0b136b0e50021231d8ddc37cbefcee57f3 |
|
MD5 | dc3ad8e836f0f29fb6eafd5c5b9f0173 |
|
BLAKE2b-256 | d797a25f8e7c23c535a1c73f492fc000e64a4f34ecdad482cf3ad510bdea70d4 |