I’ve been developing and maintaining simple BPMN-rendering plugin for JupyterLab jupyterlab-bpmn · PyPI
It’s main feature is simply to use bpmn-js to render data submitted with mime type
application/bpmn+xml and also persist the resulting SVG into saved notebook for static rendering.
Optionally, it supports some custom configuration and annotation passed along with mime type
application/bpmn+json (misusing a custom mime type felt more proper than just passing possibly a lot of data as display metadata). I mostly copied code from my old cockpit history plugin, so all possible issues from there remain
This week I managed to include static rendering support also for annotations. That means, interactive JupyterLab session, could be saved as a static notebook and included e.g. in technical documentation.
An example screenshot from a Sphinx-based documentation with nbsphinx below: