A pipen cli plugin to check requirements for processes of a pipeline
Project description
pipen-cli-require
Checking the requirements for processes of a pipeline
Install
pip install -U pipen-cli-require
Usage
Defining requirements of a process
# example_pipeline.py
from pipen import Pipen, Proc
class P1(Proc):
"""Process 1
Requires:
- name: pipen
message: Run `pip install -U pipen` to install
check: |
{{proc.lang}} -c "import pipen"
- name: liquidpy
message: Run `pip install -U liquidpy` to install
check: |
{{proc.lang}} -c "import liquid"
- name: nonexist
message: Run `pip install -U nonexist` to install
check: |
{{proc.lang}} -c "import nonexist"
"""
input = "a"
output = "outfile:file:out.txt"
lang = "python"
# Setup the pipeline
# Must be outside __main__
# Or define a function to return the pipeline
pipeline = Pipen(...)
if __name__ == '__main__':
# Pipeline must be executed with __main__
pipeline.run()
Checking the requirements via the CLI
> pipen require -v -n 2 tests/example_pipeline.py:example_pipeline
Checking requirements for pipeline: EXAMPLE_PIPELINE
│
└── P1: Process 1
├── ✔️ pipen
├── ✔️ liquidpy
└── x nonexist: Run `pip install -U nonexist` to install
└── Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'nonexist'
Checking requirements with runtime arguments
For example, when I use a different python to run the pipeline:
Add this to the head of example_pipeline.py
:
from pipen_args import args as _
See also tests/pipen_args_pipeline.py
Then specify the path of the python to use:
pipen require tests/example_pipeline.py:example_pipeline --P1.lang /path/to/another/python
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 Distribution
Built Distribution
Close
Hashes for pipen_cli_require-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bc4b0a223ed1b2bcd82f8c0928c220a546e8f46b384c7b043954341b6d83e6c |
|
MD5 | c7344b8b2653dcc6c5a45fb8037230ca |
|
BLAKE2b-256 | b086c0def7954fbdd7d76c4ab62c7cfbd0c2ea4a5e4c8755f983d1412f23cedd |