8fc25e1457 | ||
---|---|---|
.github | ||
atest | ||
binder | ||
docs | ||
notebooks | ||
packages | ||
py_packages | ||
scripts | ||
.eslintignore | ||
.eslintrc.js | ||
.gitignore | ||
.gitmodules | ||
.isort.cfg | ||
.yarnrc | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
LICENSE.txt | ||
README.md | ||
RELEASE.md | ||
ROADMAP.md | ||
dodo.py | ||
environment.yml | ||
jupyter_notebook_config.json | ||
lerna.json | ||
overrides.json | ||
package.json | ||
setup.cfg | ||
yarn.lock |
README.md
IPyDrawio
Drawio diagrams for JupyterLab. Forked with ❤️ from QuantStack/jupyterlab-drawio.
Install · History · Roadmap · Contribute · Open Source
This is ALPHA software. Native drawio files created with these tools should work with any other drawio client, but any UI/API is liable to change at any time.
Installation
pip install ipydrawio ipydrawio-export
# TBD: conda install -c conda-forge ipydrawio
Features
ipydrawio
- Edit multi-page documents
- with nearly the same UI and features as diagrams.net
- in many file formats
- Drawio/mxgraph XML, SVG, PNG
- or Jupyter Notebooks
- Jupyter rich display output
- Jupyter Widgets
- Edit multi-page documents
ipydrawio-export
- Export print-quality PDF from diagrams
-
BEWARE: some heavy, maybe fragile dependencies
- include editable Drawio metadata
-
- Export print-quality PDF from diagrams
Examples
Note | Screenshot/Example |
---|---|
A Binder demo with a full contributing environment | |
Screenshot of drawio "minimal" UI with export options | |
The beginning of an interactive computational poster | |
A mixed computational/creative roadmap for this project | ~~Screenshot Needed~ |
Usage
- Try on
- or follow the Installation instructions and Start JupyterLab
- Import a
drawio
from diagrams.net with the File Manager- or create a new Diagram from the Launcher
- Use the Command Palette to Export Diagram to various formats
PDF: Lab and Server extensions
ipydrawio-export
can generate print-quality PDF. This approach relies on a
headless browser, powered by @jgraph/draw-image-export2 and ultimately
puppeteer
which in turn requires nodejs
.
- native dependencies as required to appease
puppeteer
- if running in
docker
, this can be a bit trial-and-error - for more, see the binder and
CI.
- if running in
nodejs>10,<14
fromconda
or your system package manager- NOTE: this relies on being able to install
puppeteer
(and other arbitrary dependencies withjlpm
for now when first used- we'll figure out a better approach soon enough
- NOTE: this relies on being able to install
pip install ipydrawio-export
For example:
conda install -yc conda-forge nodejs=12 pip install ipydrawio-export
Open Source
License
All files herein, unless otherwise noted, are free software licensed under Apache 2.0.
Copyright
The copyright holders of this extension are the contributors to this repository.
Portions of the JupyterLab components are derived from QuantStack/jupyterlab-drawio.
The copyright holders of drawio and drawio-export is jgraph.
The original source code vendored in this package from: