pipen-diagram 0.12.0

Last updated:

0 purchases

pipen-diagram 0.12.0 Image
pipen-diagram 0.12.0 Images
Add to Cart

Description:

pipendiagram 0.12.0

pipen-diagram
Draw pipeline diagrams for pipen.
Features

Diagram theming
Hiding processes from diagram

Configurations

diagram_theme: The name of the theme to use, or a dict of a custom theme.

See pipen_diagram/diagram.py for the a theme definition
See https://graphviz.org/ for theme items


diagram_savedot: Whhether to save the dot file (for debugging purpose)
diagram_hide: Process-level item, whether to hide current process from the diagram

Installation
pip install -U pipen-diagram

Enabling/Disabling the plugin
The plugin is registered via entrypoints. It's by default enabled. To disable it:
plugins=[..., "no:diagram"], or uninstall this plugin.
Usage
example.py
from pipen import Proc, Pipen, ProcGroup


class A(Proc):
"""Process A"""
input = "a"


class B(Proc):
"""Process B"""
requires = A
input = "b"
plugin_opts = {"diagram_hide": True}


class PG(ProcGroup):
"""Process Group"""
@ProcGroup.add_proc
def c(self):
"""Process C"""
class C(Proc):
input = "c"

return C

@ProcGroup.add_proc
def c1(self):
"""Process C1"""
class C1(Proc):
requires = self.c
input = "c1"
plugin_opts = {"diagram_hide": True}

return C1

@ProcGroup.add_proc
def d(self):
"""Process D"""
class D(Proc):
input = "d"
requires = self.c1

return D


pg = PG()
pg.c.requires = B


class E(Proc):
"""Process E"""
input = "e1,e2"
requires = pg.d, A


class F(Proc):
"""Process F"""
input = "f"
requires = E


Pipen("MyPipeline").set_start(A).run()
# Dark theme
# Pipen("MyPipeline", plugin_opts={"diagram_theme": "dark"}).set_start(A).run()

Running python example.py will generate MyPipeline-output/diagram.svg:



Default theme
Dark theme
Fancy theme
Fancy dark theme

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.