summaryrefslogtreecommitdiff
path: root/python-pegaflow.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-18 06:00:55 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-18 06:00:55 +0000
commit18b99ecca231cb9853106ba5a393ccef9cc4461f (patch)
tree7c7d988ba1b9caa1cd129fbfae6353482f9edccd /python-pegaflow.spec
parent667fa5c704e01df6980f8d82f360a6988e4f15c1 (diff)
automatic import of python-pegaflow
Diffstat (limited to 'python-pegaflow.spec')
-rw-r--r--python-pegaflow.spec243
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