diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-17 05:09:09 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-17 05:09:09 +0000 |
| commit | 69fe794a0fb37138b5b22e162e25a174198b00ca (patch) | |
| tree | 69cde1e5886eecc063f212915f2b65aed543f8d1 | |
| parent | badb2715ac220224d769f34b01513547e52f27bc (diff) | |
automatic import of python-pipen
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-pipen.spec | 614 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 616 insertions, 0 deletions
@@ -0,0 +1 @@ +/pipen-0.9.8.tar.gz diff --git a/python-pipen.spec b/python-pipen.spec new file mode 100644 index 0000000..a5b9f50 --- /dev/null +++ b/python-pipen.spec @@ -0,0 +1,614 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pipen +Version: 0.9.8 +Release: 1 +Summary: A pipeline framework for python +License: MIT +URL: https://github.com/pwwang/pipen +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/89/8d/9c6dc54d1785255af9c0f2b040483e2d6d4b2c0f75ac4eef36237b5ba735/pipen-0.9.8.tar.gz +BuildArch: noarch + +Requires: python3-liquidpy +Requires: python3-pandas +Requires: python3-enlighten +Requires: python3-argx +Requires: python3-xqute +Requires: python3-simpleconf[toml] +Requires: python3-pipda +Requires: python3-varname + +%description +<div align="center"> + <img src="./pipen.png" width="320px"> + +**A pipeline framework for python** + +</div> + +______________________________________________________________________ + +[![Pypi][6]][7] [![Github][8]][9] ![Building][10] [![Docs and API][11]][1] [![Codacy][12]][13] [![Codacy coverage][14]][13] [![Deps][5]][23] + +[Documentation][1] | [ChangeLog][2] | [Examples][3] | [API][4] + +## Features + +- Easy to use +- Nearly zero-configuration +- Nice logging +- Highly extendable + +## Installation + +```bash +pip install -U pipen +``` + +## Quickstart + +`example.py` + +```python +from pipen import Proc, Pipen + +class P1(Proc): + """Sort input file""" + input = "infile" + input_data = ["/tmp/data.txt"] + output = "outfile:file:intermediate.txt" + script = "cat {{in.infile}} | sort > {{out.outfile}}" + +class P2(Proc): + """Paste line number""" + requires = P1 + input = "infile" + output = "outfile:file:result.txt" + script = "paste <(seq 1 3) {{in.infile}} > {{out.outfile}}" + +class MyPipeline(Pipen): + starts = P1 + +if __name__ == "__main__": + MyPipeline().run() +``` + +```shell +> echo -e "3\n2\n1" > /tmp/data.txt +> python example.py +``` + +```log +[09/13/21 04:23:37] I main _____________________________________ __ +[09/13/21 04:23:37] I main ___ __ \___ _/__ __ \__ ____/__ | / / +[09/13/21 04:23:37] I main __ /_/ /__ / __ /_/ /_ __/ __ |/ / +[09/13/21 04:23:37] I main _ ____/__/ / _ ____/_ /___ _ /| / +[09/13/21 04:23:37] I main /_/ /___/ /_/ /_____/ /_/ |_/ +[09/13/21 04:23:37] I main +[09/13/21 04:23:37] I main version: 0.9.0 +[09/13/21 04:23:37] I main +[09/13/21 04:23:37] I main ╭═════════════════════════════ MYPIPELINE ══════════════════════════════╮ +[09/13/21 04:23:37] I main ║ # procs = 2 ║ +[09/13/21 04:23:37] I main ║ plugins = ['main', 'verbose-0.0.1'] ║ +[09/13/21 04:23:37] I main ║ profile = default ║ +[09/13/21 04:23:37] I main ║ outdir = MyPipeline-output ║ +[09/13/21 04:23:37] I main ║ cache = True ║ +[09/13/21 04:23:37] I main ║ dirsig = 1 ║ +[09/13/21 04:23:37] I main ║ error_strategy = ignore ║ +[09/13/21 04:23:37] I main ║ forks = 1 ║ +[09/13/21 04:23:37] I main ║ lang = bash ║ +[09/13/21 04:23:37] I main ║ loglevel = info ║ +[09/13/21 04:23:37] I main ║ num_retries = 3 ║ +[09/13/21 04:23:37] I main ║ plugin_opts = {} ║ +[09/13/21 04:23:37] I main ║ plugins = None ║ +[09/13/21 04:23:37] I main ║ scheduler = local ║ +[09/13/21 04:23:37] I main ║ scheduler_opts = {} ║ +[09/13/21 04:23:37] I main ║ submission_batch = 8 ║ +[09/13/21 04:23:37] I main ║ template = liquid ║ +[09/13/21 04:23:37] I main ║ template_opts = {} ║ +[09/13/21 04:23:37] I main ║ workdir = ./.pipen ║ +[09/13/21 04:23:37] I main ╰═══════════════════════════════════════════════════════════════════════╯ +[09/13/21 04:23:37] I main +[09/13/21 04:23:37] I main ╭───────────────────────────────── P1 ──────────────────────────────────╮ +[09/13/21 04:23:37] I main │ Sort input file │ +[09/13/21 04:23:37] I main ╰───────────────────────────────────────────────────────────────────────╯ +[09/13/21 04:23:37] I main P1: Workdir: '.pipen/MyPipeline/p1' +[09/13/21 04:23:37] I main P1: <<< [START] +[09/13/21 04:23:37] I main P1: >>> ['P2'] +[09/13/21 04:23:37] I verbose P1: size: 1 +[09/13/21 04:23:37] I verbose P1: [0/0] in.infile: /tmp/data.txt +[09/13/21 04:23:37] I verbose P1: [0/0] out.outfile: + /home/pwwang/github/pipen/.pipen/MyPipeline/p1/0/output/intermediate.txt +[09/13/21 04:23:38] I verbose P1: Time elapsed: 00:00:01.039s +[09/13/21 04:23:38] I main +[09/13/21 04:23:38] I main ╭═════════════════════════════════ P2 ══════════════════════════════════╮ +[09/13/21 04:23:38] I main ║ Paste line number ║ +[09/13/21 04:23:38] I main ╰═══════════════════════════════════════════════════════════════════════╯ +[09/13/21 04:23:38] I main P2: Workdir: '.pipen/MyPipeline/p2' +[09/13/21 04:23:38] I main P2: <<< ['P1'] +[09/13/21 04:23:38] I main P2: >>> [END] +[09/13/21 04:23:38] I verbose P2: size: 1 +[09/13/21 04:23:38] I verbose P2: [0/0] in.infile: + /home/pwwang/github/pipen/.pipen/MyPipeline/p1/0/output/intermediate.txt +[09/13/21 04:23:38] I verbose P2: [0/0] out.outfile: + /home/pwwang/github/pipen/MyPipeline-output/P2/result.txt +[09/13/21 04:23:40] I verbose P2: Time elapsed: 00:00:02.074s +[09/13/21 04:23:40] I main + + PIPEN-0: 100%|████████████████████████████████████████| 2/2 [00:04<00:00, 0.56 procs/s] +``` + +```shell +> cat ./MyPipeline-output/P2/result.txt +1 1 +2 2 +3 3 +``` + +## Examples + +See more examples at `examples/` and a more realcase example at: +https://github.com/pwwang/pipen-report/tree/master/example + +## Plugin gallery + +Plugins make `pipen` even better. + +- [`pipen-verbose`][15]: Add verbosal information in logs for pipen. +- [`pipen-lock`][25]: Process lock for pipen to prevent multiple runs at the same time. +- [`pipen-report`][16]: Generate report for pipen +- [`pipen-filters`][17]: Add a set of useful filters for pipen templates. +- [`pipen-diagram`][18]: Draw pipeline diagrams for pipen +- [`pipen-annotate`][26]: Use docstring to annotate pipen processes +- [`pipen-args`][19]: Command line argument parser for pipen +- [`pipen-dry`][20]: Dry runner for pipen pipelines +- [`pipen-log2file`][28]: Save running logs to file for pipen +- [`pipen-board`][27]: Visualize configuration and running of pipen pipelines on the web +- [`pipen-cli-init`][21]: A pipen CLI plugin to create a pipen project (pipeline) +- [`pipen-cli-run`][22]: A pipen cli plugin to run a process or a pipeline +- [`pipen-cli-require`][24]: A pipen cli plugin check the requirements of a pipeline + + +[1]: https://pwwang.github.io/pipen +[2]: https://pwwang.github.io/pipen/CHANGELOG +[3]: https://pwwang.github.io/pipen/examples +[4]: https://pwwang.github.io/pipen/api/pipen +[5]: https://img.shields.io/librariesio/release/pypi/pipen?style=flat-square +[6]: https://img.shields.io/pypi/v/pipen?style=flat-square +[7]: https://pypi.org/project/pipen/ +[8]: https://img.shields.io/github/v/tag/pwwang/pipen?style=flat-square +[9]: https://github.com/pwwang/pipen +[10]: https://img.shields.io/github/actions/workflow/status/pwwang/pipen/build.yml?style=flat-square +[11]: https://img.shields.io/github/actions/workflow/status/pwwang/pipen/docs.yml?label=docs&style=flat-square +[12]: https://img.shields.io/codacy/grade/cf1c6c97e5c4480386a05b42dec10c6e?style=flat-square +[13]: https://app.codacy.com/gh/pwwang/pipen +[14]: https://img.shields.io/codacy/coverage/cf1c6c97e5c4480386a05b42dec10c6e?style=flat-square +[15]: https://github.com/pwwang/pipen-verbose +[16]: https://github.com/pwwang/pipen-report +[17]: https://github.com/pwwang/pipen-filters +[18]: https://github.com/pwwang/pipen-diagram +[19]: https://github.com/pwwang/pipen-args +[20]: https://github.com/pwwang/pipen-dry +[21]: https://github.com/pwwang/pipen-cli-init +[22]: https://github.com/pwwang/pipen-cli-run +[23]: https://libraries.io/github/pwwang/pipen#repository_dependencies +[24]: https://github.com/pwwang/pipen-cli-require +[25]: https://github.com/pwwang/pipen-lock +[26]: https://github.com/pwwang/pipen-annotate +[27]: https://github.com/pwwang/pipen-board +[28]: https://github.com/pwwang/pipen-log2file + + +%package -n python3-pipen +Summary: A pipeline framework for python +Provides: python-pipen +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pipen +<div align="center"> + <img src="./pipen.png" width="320px"> + +**A pipeline framework for python** + +</div> + +______________________________________________________________________ + +[![Pypi][6]][7] [![Github][8]][9] ![Building][10] [![Docs and API][11]][1] [![Codacy][12]][13] [![Codacy coverage][14]][13] [![Deps][5]][23] + +[Documentation][1] | [ChangeLog][2] | [Examples][3] | [API][4] + +## Features + +- Easy to use +- Nearly zero-configuration +- Nice logging +- Highly extendable + +## Installation + +```bash +pip install -U pipen +``` + +## Quickstart + +`example.py` + +```python +from pipen import Proc, Pipen + +class P1(Proc): + """Sort input file""" + input = "infile" + input_data = ["/tmp/data.txt"] + output = "outfile:file:intermediate.txt" + script = "cat {{in.infile}} | sort > {{out.outfile}}" + +class P2(Proc): + """Paste line number""" + requires = P1 + input = "infile" + output = "outfile:file:result.txt" + script = "paste <(seq 1 3) {{in.infile}} > {{out.outfile}}" + +class MyPipeline(Pipen): + starts = P1 + +if __name__ == "__main__": + MyPipeline().run() +``` + +```shell +> echo -e "3\n2\n1" > /tmp/data.txt +> python example.py +``` + +```log +[09/13/21 04:23:37] I main _____________________________________ __ +[09/13/21 04:23:37] I main ___ __ \___ _/__ __ \__ ____/__ | / / +[09/13/21 04:23:37] I main __ /_/ /__ / __ /_/ /_ __/ __ |/ / +[09/13/21 04:23:37] I main _ ____/__/ / _ ____/_ /___ _ /| / +[09/13/21 04:23:37] I main /_/ /___/ /_/ /_____/ /_/ |_/ +[09/13/21 04:23:37] I main +[09/13/21 04:23:37] I main version: 0.9.0 +[09/13/21 04:23:37] I main +[09/13/21 04:23:37] I main ╭═════════════════════════════ MYPIPELINE ══════════════════════════════╮ +[09/13/21 04:23:37] I main ║ # procs = 2 ║ +[09/13/21 04:23:37] I main ║ plugins = ['main', 'verbose-0.0.1'] ║ +[09/13/21 04:23:37] I main ║ profile = default ║ +[09/13/21 04:23:37] I main ║ outdir = MyPipeline-output ║ +[09/13/21 04:23:37] I main ║ cache = True ║ +[09/13/21 04:23:37] I main ║ dirsig = 1 ║ +[09/13/21 04:23:37] I main ║ error_strategy = ignore ║ +[09/13/21 04:23:37] I main ║ forks = 1 ║ +[09/13/21 04:23:37] I main ║ lang = bash ║ +[09/13/21 04:23:37] I main ║ loglevel = info ║ +[09/13/21 04:23:37] I main ║ num_retries = 3 ║ +[09/13/21 04:23:37] I main ║ plugin_opts = {} ║ +[09/13/21 04:23:37] I main ║ plugins = None ║ +[09/13/21 04:23:37] I main ║ scheduler = local ║ +[09/13/21 04:23:37] I main ║ scheduler_opts = {} ║ +[09/13/21 04:23:37] I main ║ submission_batch = 8 ║ +[09/13/21 04:23:37] I main ║ template = liquid ║ +[09/13/21 04:23:37] I main ║ template_opts = {} ║ +[09/13/21 04:23:37] I main ║ workdir = ./.pipen ║ +[09/13/21 04:23:37] I main ╰═══════════════════════════════════════════════════════════════════════╯ +[09/13/21 04:23:37] I main +[09/13/21 04:23:37] I main ╭───────────────────────────────── P1 ──────────────────────────────────╮ +[09/13/21 04:23:37] I main │ Sort input file │ +[09/13/21 04:23:37] I main ╰───────────────────────────────────────────────────────────────────────╯ +[09/13/21 04:23:37] I main P1: Workdir: '.pipen/MyPipeline/p1' +[09/13/21 04:23:37] I main P1: <<< [START] +[09/13/21 04:23:37] I main P1: >>> ['P2'] +[09/13/21 04:23:37] I verbose P1: size: 1 +[09/13/21 04:23:37] I verbose P1: [0/0] in.infile: /tmp/data.txt +[09/13/21 04:23:37] I verbose P1: [0/0] out.outfile: + /home/pwwang/github/pipen/.pipen/MyPipeline/p1/0/output/intermediate.txt +[09/13/21 04:23:38] I verbose P1: Time elapsed: 00:00:01.039s +[09/13/21 04:23:38] I main +[09/13/21 04:23:38] I main ╭═════════════════════════════════ P2 ══════════════════════════════════╮ +[09/13/21 04:23:38] I main ║ Paste line number ║ +[09/13/21 04:23:38] I main ╰═══════════════════════════════════════════════════════════════════════╯ +[09/13/21 04:23:38] I main P2: Workdir: '.pipen/MyPipeline/p2' +[09/13/21 04:23:38] I main P2: <<< ['P1'] +[09/13/21 04:23:38] I main P2: >>> [END] +[09/13/21 04:23:38] I verbose P2: size: 1 +[09/13/21 04:23:38] I verbose P2: [0/0] in.infile: + /home/pwwang/github/pipen/.pipen/MyPipeline/p1/0/output/intermediate.txt +[09/13/21 04:23:38] I verbose P2: [0/0] out.outfile: + /home/pwwang/github/pipen/MyPipeline-output/P2/result.txt +[09/13/21 04:23:40] I verbose P2: Time elapsed: 00:00:02.074s +[09/13/21 04:23:40] I main + + PIPEN-0: 100%|████████████████████████████████████████| 2/2 [00:04<00:00, 0.56 procs/s] +``` + +```shell +> cat ./MyPipeline-output/P2/result.txt +1 1 +2 2 +3 3 +``` + +## Examples + +See more examples at `examples/` and a more realcase example at: +https://github.com/pwwang/pipen-report/tree/master/example + +## Plugin gallery + +Plugins make `pipen` even better. + +- [`pipen-verbose`][15]: Add verbosal information in logs for pipen. +- [`pipen-lock`][25]: Process lock for pipen to prevent multiple runs at the same time. +- [`pipen-report`][16]: Generate report for pipen +- [`pipen-filters`][17]: Add a set of useful filters for pipen templates. +- [`pipen-diagram`][18]: Draw pipeline diagrams for pipen +- [`pipen-annotate`][26]: Use docstring to annotate pipen processes +- [`pipen-args`][19]: Command line argument parser for pipen +- [`pipen-dry`][20]: Dry runner for pipen pipelines +- [`pipen-log2file`][28]: Save running logs to file for pipen +- [`pipen-board`][27]: Visualize configuration and running of pipen pipelines on the web +- [`pipen-cli-init`][21]: A pipen CLI plugin to create a pipen project (pipeline) +- [`pipen-cli-run`][22]: A pipen cli plugin to run a process or a pipeline +- [`pipen-cli-require`][24]: A pipen cli plugin check the requirements of a pipeline + + +[1]: https://pwwang.github.io/pipen +[2]: https://pwwang.github.io/pipen/CHANGELOG +[3]: https://pwwang.github.io/pipen/examples +[4]: https://pwwang.github.io/pipen/api/pipen +[5]: https://img.shields.io/librariesio/release/pypi/pipen?style=flat-square +[6]: https://img.shields.io/pypi/v/pipen?style=flat-square +[7]: https://pypi.org/project/pipen/ +[8]: https://img.shields.io/github/v/tag/pwwang/pipen?style=flat-square +[9]: https://github.com/pwwang/pipen +[10]: https://img.shields.io/github/actions/workflow/status/pwwang/pipen/build.yml?style=flat-square +[11]: https://img.shields.io/github/actions/workflow/status/pwwang/pipen/docs.yml?label=docs&style=flat-square +[12]: https://img.shields.io/codacy/grade/cf1c6c97e5c4480386a05b42dec10c6e?style=flat-square +[13]: https://app.codacy.com/gh/pwwang/pipen +[14]: https://img.shields.io/codacy/coverage/cf1c6c97e5c4480386a05b42dec10c6e?style=flat-square +[15]: https://github.com/pwwang/pipen-verbose +[16]: https://github.com/pwwang/pipen-report +[17]: https://github.com/pwwang/pipen-filters +[18]: https://github.com/pwwang/pipen-diagram +[19]: https://github.com/pwwang/pipen-args +[20]: https://github.com/pwwang/pipen-dry +[21]: https://github.com/pwwang/pipen-cli-init +[22]: https://github.com/pwwang/pipen-cli-run +[23]: https://libraries.io/github/pwwang/pipen#repository_dependencies +[24]: https://github.com/pwwang/pipen-cli-require +[25]: https://github.com/pwwang/pipen-lock +[26]: https://github.com/pwwang/pipen-annotate +[27]: https://github.com/pwwang/pipen-board +[28]: https://github.com/pwwang/pipen-log2file + + +%package help +Summary: Development documents and examples for pipen +Provides: python3-pipen-doc +%description help +<div align="center"> + <img src="./pipen.png" width="320px"> + +**A pipeline framework for python** + +</div> + +______________________________________________________________________ + +[![Pypi][6]][7] [![Github][8]][9] ![Building][10] [![Docs and API][11]][1] [![Codacy][12]][13] [![Codacy coverage][14]][13] [![Deps][5]][23] + +[Documentation][1] | [ChangeLog][2] | [Examples][3] | [API][4] + +## Features + +- Easy to use +- Nearly zero-configuration +- Nice logging +- Highly extendable + +## Installation + +```bash +pip install -U pipen +``` + +## Quickstart + +`example.py` + +```python +from pipen import Proc, Pipen + +class P1(Proc): + """Sort input file""" + input = "infile" + input_data = ["/tmp/data.txt"] + output = "outfile:file:intermediate.txt" + script = "cat {{in.infile}} | sort > {{out.outfile}}" + +class P2(Proc): + """Paste line number""" + requires = P1 + input = "infile" + output = "outfile:file:result.txt" + script = "paste <(seq 1 3) {{in.infile}} > {{out.outfile}}" + +class MyPipeline(Pipen): + starts = P1 + +if __name__ == "__main__": + MyPipeline().run() +``` + +```shell +> echo -e "3\n2\n1" > /tmp/data.txt +> python example.py +``` + +```log +[09/13/21 04:23:37] I main _____________________________________ __ +[09/13/21 04:23:37] I main ___ __ \___ _/__ __ \__ ____/__ | / / +[09/13/21 04:23:37] I main __ /_/ /__ / __ /_/ /_ __/ __ |/ / +[09/13/21 04:23:37] I main _ ____/__/ / _ ____/_ /___ _ /| / +[09/13/21 04:23:37] I main /_/ /___/ /_/ /_____/ /_/ |_/ +[09/13/21 04:23:37] I main +[09/13/21 04:23:37] I main version: 0.9.0 +[09/13/21 04:23:37] I main +[09/13/21 04:23:37] I main ╭═════════════════════════════ MYPIPELINE ══════════════════════════════╮ +[09/13/21 04:23:37] I main ║ # procs = 2 ║ +[09/13/21 04:23:37] I main ║ plugins = ['main', 'verbose-0.0.1'] ║ +[09/13/21 04:23:37] I main ║ profile = default ║ +[09/13/21 04:23:37] I main ║ outdir = MyPipeline-output ║ +[09/13/21 04:23:37] I main ║ cache = True ║ +[09/13/21 04:23:37] I main ║ dirsig = 1 ║ +[09/13/21 04:23:37] I main ║ error_strategy = ignore ║ +[09/13/21 04:23:37] I main ║ forks = 1 ║ +[09/13/21 04:23:37] I main ║ lang = bash ║ +[09/13/21 04:23:37] I main ║ loglevel = info ║ +[09/13/21 04:23:37] I main ║ num_retries = 3 ║ +[09/13/21 04:23:37] I main ║ plugin_opts = {} ║ +[09/13/21 04:23:37] I main ║ plugins = None ║ +[09/13/21 04:23:37] I main ║ scheduler = local ║ +[09/13/21 04:23:37] I main ║ scheduler_opts = {} ║ +[09/13/21 04:23:37] I main ║ submission_batch = 8 ║ +[09/13/21 04:23:37] I main ║ template = liquid ║ +[09/13/21 04:23:37] I main ║ template_opts = {} ║ +[09/13/21 04:23:37] I main ║ workdir = ./.pipen ║ +[09/13/21 04:23:37] I main ╰═══════════════════════════════════════════════════════════════════════╯ +[09/13/21 04:23:37] I main +[09/13/21 04:23:37] I main ╭───────────────────────────────── P1 ──────────────────────────────────╮ +[09/13/21 04:23:37] I main │ Sort input file │ +[09/13/21 04:23:37] I main ╰───────────────────────────────────────────────────────────────────────╯ +[09/13/21 04:23:37] I main P1: Workdir: '.pipen/MyPipeline/p1' +[09/13/21 04:23:37] I main P1: <<< [START] +[09/13/21 04:23:37] I main P1: >>> ['P2'] +[09/13/21 04:23:37] I verbose P1: size: 1 +[09/13/21 04:23:37] I verbose P1: [0/0] in.infile: /tmp/data.txt +[09/13/21 04:23:37] I verbose P1: [0/0] out.outfile: + /home/pwwang/github/pipen/.pipen/MyPipeline/p1/0/output/intermediate.txt +[09/13/21 04:23:38] I verbose P1: Time elapsed: 00:00:01.039s +[09/13/21 04:23:38] I main +[09/13/21 04:23:38] I main ╭═════════════════════════════════ P2 ══════════════════════════════════╮ +[09/13/21 04:23:38] I main ║ Paste line number ║ +[09/13/21 04:23:38] I main ╰═══════════════════════════════════════════════════════════════════════╯ +[09/13/21 04:23:38] I main P2: Workdir: '.pipen/MyPipeline/p2' +[09/13/21 04:23:38] I main P2: <<< ['P1'] +[09/13/21 04:23:38] I main P2: >>> [END] +[09/13/21 04:23:38] I verbose P2: size: 1 +[09/13/21 04:23:38] I verbose P2: [0/0] in.infile: + /home/pwwang/github/pipen/.pipen/MyPipeline/p1/0/output/intermediate.txt +[09/13/21 04:23:38] I verbose P2: [0/0] out.outfile: + /home/pwwang/github/pipen/MyPipeline-output/P2/result.txt +[09/13/21 04:23:40] I verbose P2: Time elapsed: 00:00:02.074s +[09/13/21 04:23:40] I main + + PIPEN-0: 100%|████████████████████████████████████████| 2/2 [00:04<00:00, 0.56 procs/s] +``` + +```shell +> cat ./MyPipeline-output/P2/result.txt +1 1 +2 2 +3 3 +``` + +## Examples + +See more examples at `examples/` and a more realcase example at: +https://github.com/pwwang/pipen-report/tree/master/example + +## Plugin gallery + +Plugins make `pipen` even better. + +- [`pipen-verbose`][15]: Add verbosal information in logs for pipen. +- [`pipen-lock`][25]: Process lock for pipen to prevent multiple runs at the same time. +- [`pipen-report`][16]: Generate report for pipen +- [`pipen-filters`][17]: Add a set of useful filters for pipen templates. +- [`pipen-diagram`][18]: Draw pipeline diagrams for pipen +- [`pipen-annotate`][26]: Use docstring to annotate pipen processes +- [`pipen-args`][19]: Command line argument parser for pipen +- [`pipen-dry`][20]: Dry runner for pipen pipelines +- [`pipen-log2file`][28]: Save running logs to file for pipen +- [`pipen-board`][27]: Visualize configuration and running of pipen pipelines on the web +- [`pipen-cli-init`][21]: A pipen CLI plugin to create a pipen project (pipeline) +- [`pipen-cli-run`][22]: A pipen cli plugin to run a process or a pipeline +- [`pipen-cli-require`][24]: A pipen cli plugin check the requirements of a pipeline + + +[1]: https://pwwang.github.io/pipen +[2]: https://pwwang.github.io/pipen/CHANGELOG +[3]: https://pwwang.github.io/pipen/examples +[4]: https://pwwang.github.io/pipen/api/pipen +[5]: https://img.shields.io/librariesio/release/pypi/pipen?style=flat-square +[6]: https://img.shields.io/pypi/v/pipen?style=flat-square +[7]: https://pypi.org/project/pipen/ +[8]: https://img.shields.io/github/v/tag/pwwang/pipen?style=flat-square +[9]: https://github.com/pwwang/pipen +[10]: https://img.shields.io/github/actions/workflow/status/pwwang/pipen/build.yml?style=flat-square +[11]: https://img.shields.io/github/actions/workflow/status/pwwang/pipen/docs.yml?label=docs&style=flat-square +[12]: https://img.shields.io/codacy/grade/cf1c6c97e5c4480386a05b42dec10c6e?style=flat-square +[13]: https://app.codacy.com/gh/pwwang/pipen +[14]: https://img.shields.io/codacy/coverage/cf1c6c97e5c4480386a05b42dec10c6e?style=flat-square +[15]: https://github.com/pwwang/pipen-verbose +[16]: https://github.com/pwwang/pipen-report +[17]: https://github.com/pwwang/pipen-filters +[18]: https://github.com/pwwang/pipen-diagram +[19]: https://github.com/pwwang/pipen-args +[20]: https://github.com/pwwang/pipen-dry +[21]: https://github.com/pwwang/pipen-cli-init +[22]: https://github.com/pwwang/pipen-cli-run +[23]: https://libraries.io/github/pwwang/pipen#repository_dependencies +[24]: https://github.com/pwwang/pipen-cli-require +[25]: https://github.com/pwwang/pipen-lock +[26]: https://github.com/pwwang/pipen-annotate +[27]: https://github.com/pwwang/pipen-board +[28]: https://github.com/pwwang/pipen-log2file + + +%prep +%autosetup -n pipen-0.9.8 + +%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-pipen -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 17 2023 Python_Bot <Python_Bot@openeuler.org> - 0.9.8-1 +- Package Spec generated @@ -0,0 +1 @@ +cf3f2bdd8b3bcfd5119ee8b1f9093bc6 pipen-0.9.8.tar.gz |
