Plugins
Loading plugins
If plugins are written as modules, once they are installed, they are enabled.
You can use configurations to disable some plugins:
[default]
plugins = ['no:pyppl_rich', 'no:pyppl_export']
You can also load plugins manually if they are written as a class object:
from pyppl import config_plugins
# enable pyppl_rich, but disable pyppl_export
config_plugins('pyppl_rich', 'no:pyppl_export')
Plugin hooks
The plugin system is implemented with pluggy
See all available plugins APIs here.
Entry point
You can register plugins by yourself using pyppl.config_plugins
. However, if you want to expose your plugin to PyPPL
by adding entrypoint to your setup.py
, pyproject.toml
or other equivalent packaging setting files:
For setup.py
, you will need:
setup(
# ...
entry_points={"pyppl": ["pyppl_report = pyppl_report"]},
# ...
)
For pyproject.toml
:
[tool.poetry.plugins.pyppl]
pyppl_report = "pyppl_report"
Plugin gallery
- pyppl_report: Generating reports for PyPPL pipelines
- pyppl_flowchart: Generating flowchart for PyPPL
- pyppl_export: Export outputs generated by PyPPL pipeline
- pyppl_echo: Echo script output to PyPPL logs"
- pyppl_rich: Richer information in logs for PyPPL
- pyppl_strict: More strict check of job success for PyPPL
- pyppl_lock: Preventing running processes from running again for PyPPL