diff options
Diffstat (limited to 'python-pegaflow.spec')
| -rw-r--r-- | python-pegaflow.spec | 243 |
1 files changed, 243 insertions, 0 deletions
diff --git a/python-pegaflow.spec b/python-pegaflow.spec new file mode 100644 index 0000000..ba916fa --- /dev/null +++ b/python-pegaflow.spec @@ -0,0 +1,243 @@ +%global _empty_manifest_terminate_build 0 +Name: python-Pegaflow +Version: 5.0.4 +Release: 1 +Summary: An easy-to-use Python API for Pegasus 5.0 +License: Apache2 +URL: https://github.com/polyactis/pegaflow +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b4/67/fb9319faad342b88a65a3bd7872c4a276d0edf4109c1e0a185feadd159f5/Pegaflow-5.0.4.tar.gz +BuildArch: noarch + + +%description +- [1. Pegasus Workflow Management System Python3 API](#1-pegasus-workflow-management-system-python3-api) +- [2. Prerequisites](#2-prerequisites) +- [3. Installation](#3-installation) +- [4. Examples](#4-examples) + +# 1. Pegasus Workflow Management System Python3 API + +Pegaflow, https://github.com/polyactis/pegaflow, is an easy-to-use package of the Python3 APIs for Pegasus WMS (http://pegasus.isi.edu/). It is compatible with Pegasus 5.0.0. 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. + +- **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 + +Part of this package's source code is copied from https://github.com/pegasus-isi/pegasus, version 5.0.0, + +# 2. Prerequisites + +Pegasus and HTCondor (Condor) are only required on computers on which you intend to submit and run workflows. + +On computers where only DAG yml files are outputted, no need to install Pegasus and Condor. + +- Pegasus https://github.com/pegasus-isi/pegasus +- HTCondor https://research.cs.wisc.edu/htcondor/, the underlying job scheduler. +- Linux command bc and gzip are needed if [pegaflow/tools/pipe2File.sh](pegaflow/tools/pipe2File.sh) is to be used. + +# 3. Installation + +Install pegaflow: + +```python +pip3 install --upgrade pegaflow +``` + +# 4. 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. + + + +# 20210616 Upgraded to be compatible with Pegasus 5.0.0. + +# 20200326 An easy-to-use 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. + + + + +%package -n python3-Pegaflow +Summary: An easy-to-use Python API for Pegasus 5.0 +Provides: python-Pegaflow +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-Pegaflow +- [1. Pegasus Workflow Management System Python3 API](#1-pegasus-workflow-management-system-python3-api) +- [2. Prerequisites](#2-prerequisites) +- [3. Installation](#3-installation) +- [4. Examples](#4-examples) + +# 1. Pegasus Workflow Management System Python3 API + +Pegaflow, https://github.com/polyactis/pegaflow, is an easy-to-use package of the Python3 APIs for Pegasus WMS (http://pegasus.isi.edu/). It is compatible with Pegasus 5.0.0. 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. + +- **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 + +Part of this package's source code is copied from https://github.com/pegasus-isi/pegasus, version 5.0.0, + +# 2. Prerequisites + +Pegasus and HTCondor (Condor) are only required on computers on which you intend to submit and run workflows. + +On computers where only DAG yml files are outputted, no need to install Pegasus and Condor. + +- Pegasus https://github.com/pegasus-isi/pegasus +- HTCondor https://research.cs.wisc.edu/htcondor/, the underlying job scheduler. +- Linux command bc and gzip are needed if [pegaflow/tools/pipe2File.sh](pegaflow/tools/pipe2File.sh) is to be used. + +# 3. Installation + +Install pegaflow: + +```python +pip3 install --upgrade pegaflow +``` + +# 4. 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. + + + +# 20210616 Upgraded to be compatible with Pegasus 5.0.0. + +# 20200326 An easy-to-use 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. + + + + +%package help +Summary: Development documents and examples for Pegaflow +Provides: python3-Pegaflow-doc +%description help +- [1. Pegasus Workflow Management System Python3 API](#1-pegasus-workflow-management-system-python3-api) +- [2. Prerequisites](#2-prerequisites) +- [3. Installation](#3-installation) +- [4. Examples](#4-examples) + +# 1. Pegasus Workflow Management System Python3 API + +Pegaflow, https://github.com/polyactis/pegaflow, is an easy-to-use package of the Python3 APIs for Pegasus WMS (http://pegasus.isi.edu/). It is compatible with Pegasus 5.0.0. 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. + +- **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 + +Part of this package's source code is copied from https://github.com/pegasus-isi/pegasus, version 5.0.0, + +# 2. Prerequisites + +Pegasus and HTCondor (Condor) are only required on computers on which you intend to submit and run workflows. + +On computers where only DAG yml files are outputted, no need to install Pegasus and Condor. + +- Pegasus https://github.com/pegasus-isi/pegasus +- HTCondor https://research.cs.wisc.edu/htcondor/, the underlying job scheduler. +- Linux command bc and gzip are needed if [pegaflow/tools/pipe2File.sh](pegaflow/tools/pipe2File.sh) is to be used. + +# 3. Installation + +Install pegaflow: + +```python +pip3 install --upgrade pegaflow +``` + +# 4. 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. + + + +# 20210616 Upgraded to be compatible with Pegasus 5.0.0. + +# 20200326 An easy-to-use 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. + + + + +%prep +%autosetup -n Pegaflow-5.0.4 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-Pegaflow -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 5.0.4-1 +- Package Spec generated |
