Visualization configuration and running of pipen pipelines on the web
Project description
pipen-board
Visualize configuration and running of pipen pipelines on the web.
Installation
pip install pipen-board
Usage
$ pipen board --help
Usage: pipen board [options] <pipeline> -- [pipeline options]
Configure and run pipen pipelines from the web
Required Arguments:
pipeline The pipeline and the CLI arguments to run the pipeline.
For the pipeline either
`/path/to/pipeline.py:<pipeline>` or
`<module.submodule>:<pipeline>` `<pipeline>` must be an
instance of `Pipen` and running the pipeline should be
called under `__name__ == '__main__'.
Options:
-h, --help show help message and exit
-p PORT, --port PORT Port to serve the UI wizard [default: 18521]
-a FILE, --additional FILE
Additional arguments for the pipeline, in YAML, INI,
JSON or TOML format. Can have sections
`ADDITIONAL_OPTIONS` and `RUNNING_OPTIONS`. It can also
have other sections and items to override the
configurations generated from the pipeline. If the
pipeline is provided as a python script, such as
`/path/to/pipeline.py:<pipeline>`, and `<pipeline>`
runs under `__name__ == '__main__'`, the additional
file can also be specified as `auto` to generate a
`RUNNING OPTIONS/Local` section to run the pipeline
locally.
--loglevel {auto,debug,info,warning,error,critical}
The logging level. If `auto`, it will be set to `debug`
if `--dev` is set, otherwise `info`. [default: auto]
--dev Run the pipeline in development/debug mode. This will
reload the server when changes are made to this package
and reload the pipeline when page reloads for new
configurations. Page cache is also disabled in this
mode.
-w WORKDIR, --workdir WORKDIR
The working directory of the pipeline. [default:
.pipen]
Describing arguments in docstring
Docstring schema
class ProcessOrProcessGroup:
"""Short summary
Long description
Long description
Args:
arg1 (<metadata>): description
- subarg1 (<metadata>): description
- subarg2 (<metadata>): description
arg2 (<metadata>): description
<Other Sections>:
<content>
"""
The metadata can have multiple attributes, separated by semicolon (;
). For example:
arg1 (action=ns;required): description
Marks
You can mark a process using pipen.utils.mark(<mark>=<value>)
as a decorator to decorate a process. For example:
from pipen import Proc
from pipen.utils import mark
@mark(board_config_no_input=True)
class MyProc(Proc):
pass
Available marks:
board_config_no_input
: Whether to show the input section for the process in configuation page. Only affects the start processes. Default toFalse
.board_config_hidden
: Whether to hide the process options in the configuration page. Note that the process is still visible in the process list. Default toFalse
.
Metadata for arguments
Name | Description | Allowed values |
---|---|---|
action |
Like the action argument in argx *. |
store_true , store_false , ns , namespace , append , extend , clear_append , clear_extend (other values are allowed but ignore, they may be effective for CLI use) |
btype |
Board type (option type specified directly). If specified, action will be ignored |
ns , choice , mchoice , array , list , json , int , float , bool , str , text , auto * |
type |
Fallback for action and btype |
Same as btype |
flag |
Fallback for action=store_true |
No values needed |
text /mline /mlines |
Shortcut for btype=text |
No values needed |
ns /namespace |
Shortcut for btype=ns |
No values needed |
choices /choice |
Shortcut for btype=choice |
No values needed |
mchoices /mchoice |
Shortcut for btype=mchoice |
No values needed |
array /list |
Shortcut for btype=array /btype=list |
No values needed |
choices /choice |
Shortcut for btype=choice |
No values needed |
mchoices /mchoice |
Shortcut for btype=mchoice |
No values needed |
order |
The order of the argument in the UI. | Any integer |
readonly |
Whether the argument is readonly. | No values needed (True if specified, otherwise False) |
required |
Whether the argument is required. | No values needed (True if specified, otherwise False) |
placeholder |
The placeholder in the UI for the argument. | Any string |
bitype |
The type of the elements in an array or list. | int , float , bool , str , json , auto * |
itype |
Fallback for bitype |
Same as bitype |
argx*
: An argument parser for Python, compatible withargparse
.auto*
: Automatically infer the type from a string value.- Any of
True
,TRUE
,true
,False
,FALSE
,false
will be inferred as abool
value. - Any of
None
,NONE
,none
,null
,NULL
will be inferred asNone
. - Any integers will be inferred as
int
. - Any floats will be inferred as
float
. - Try to parse the value as JSON. If succeed, the value will be inferred as
json
. - Otherwise, the value will be inferred as
str
.
- Any of
Types of options in the UI
The type of an option in the UI is determined by the btype
, action
or type
metadata. If neither is specified, a PlainText
will be used.
BoolOption
: Shown as a switchTextOption
: Shown as a textarea (allow multiple lines)ChoiceOption
: Shown as a dropdown list (subarg1
andsubarg2
in the example above are used as the choices)MChoiceOption
: Shown as a multiple choice list (subarg1
andsubarg2
in the example above are used as the choices)JsonOption
: Shown as a textarea, but the value will be validated and parsed as JSONArrayOption
: Shown as a tag input. Items can be added or removed.AutoOption
: Shown as a 1-row textarea, and the value will be parsed automaticallyPlainText
: Shown as a plain text. No validation or parsing will be performed.MoreLikeOption
: Show as a box with buttons to add or remove sub-options. It's usally used together withns
type. If there is a sub-option under the option in the docstring wrapped by<...>
, it indicates that we may have more sub-options.
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
pipen_board-0.8.0.tar.gz
(573.3 kB
view details)
Built Distribution
pipen_board-0.8.0-py3-none-any.whl
(575.9 kB
view details)
File details
Details for the file pipen_board-0.8.0.tar.gz
.
File metadata
- Download URL: pipen_board-0.8.0.tar.gz
- Upload date:
- Size: 573.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.10.6 Linux/5.15.0-1041-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e3575f0204065227c4f2142fd85d0907874df13eaaee7ea1a6f4c6ebdc732f4 |
|
MD5 | 5487bfa9cc93e160f46e08433cb15ebb |
|
BLAKE2b-256 | 2fb0f14f2bfb598d65addf39ae7ad4c0777344e5e462a0a80648cedcd5b2abe7 |
File details
Details for the file pipen_board-0.8.0-py3-none-any.whl
.
File metadata
- Download URL: pipen_board-0.8.0-py3-none-any.whl
- Upload date:
- Size: 575.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.10.6 Linux/5.15.0-1041-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 793e421b709dec419705558b532fc4ea13249fc2132819d2329b6cba67a71a76 |
|
MD5 | ca71552172dd7b6bf4a0438e8bbe86e1 |
|
BLAKE2b-256 | 9e5a5f9045059056cab71438ae6221406ed2de6cef5201e6257729ff0337f076 |