jupickhr
pikchr text-based diagrams for JupyterLab, etc.
features
- supports writing and rendering
pikchr
in:
pikchr
fenced code blocks in .ipynb
cells and .md
documents- rich display for the
text/x-pikchr
MIME type - Open With... ⯈ Pikchr for
.pikchr
text documents jupickhr.widget.Pikchr
for live updating
- generates:
- portable
img
tags (with fixed up special entities and fonts)
- these can be drag-and-dropped directly into other tools, like ipydrawio
- inline SVG
- light, dark and autodetected themes
install
pip install jupikchr "jupyterlab>=3.4,<4"
or
mamba install -c conda-forge jupikchr "jupyterlab>=3.4,<4"
or
conda install -c conda-forge jupikchr "jupyterlab>=3.4,<4"
If you want to integrate with, or just hack on, jupikchr
itself, try the
development installation steps.
how it works
- in the browser
pikchr
source and metadata is found:
- in Markdown by jupyterlab-markup
- in
text/x-pikchr
rich display outputs - in the Jupyter widget
- a WebWorker is started which loads the
pickchr
C executable, compiled to
WebAssembly
- the resulting HTML is either displayed directly, or embedded inside a portable
img
tag
- in the case of rich outputs, the
text/html
display type is also stored
inside the output as a fallback, e.g. for nbconvert