0.2.0 • Published 1 year ago

@deathbeds/jupikchr v0.2.0

Weekly downloads
-
License
BSD-3-Clause
Repository
github
Last release
1 year ago

jupickhr

docsinstallextenddemo
rtd-badgepypi-badgeconda-badgenpm-badgebinder-badgelite-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