Skip to content

Latest commit

 

History

History
79 lines (64 loc) · 3.06 KB

README.md

File metadata and controls

79 lines (64 loc) · 3.06 KB

jupickhr

docs install extend demo
rtd-badge pypi-badge
conda-badge
npm-badge binder-badge
lite-badge

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