Draw pipeline diagrams for pipen.
Project description
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.pyfor the a theme definition - See https://graphviz.org/ for theme items
- See
diagram_loglevel: The log level of the diagramdiagram_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 |
|---|---|---|---|
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pipen_diagram-0.13.0a2.tar.gz.
File metadata
- Download URL: pipen_diagram-0.13.0a2.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.1 CPython/3.12.3 Linux/6.8.0-1021-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73d66dde43eb0e8d9ec3ce7bc177563f6d080a7ec066ab06a41dc7a2c54efdab
|
|
| MD5 |
587245b10fbf66f66bfaac02fb59140c
|
|
| BLAKE2b-256 |
749a52881d9030f60f445390c45acba1a3f7977eef2fe4f7cc060ca03323c157
|
File details
Details for the file pipen_diagram-0.13.0a2-py3-none-any.whl.
File metadata
- Download URL: pipen_diagram-0.13.0a2-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.1 CPython/3.12.3 Linux/6.8.0-1021-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3536e83f6639110114b693f056fe7038842175d3d6b38c7eece8b3b18fc4afed
|
|
| MD5 |
b9e1f6281ea16c659dfe59c54a3b1c3e
|
|
| BLAKE2b-256 |
59234a4578a9d88796cfcb7eb9351888a511d3f0a0edaaae37b9c67622319509
|