You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A tool for making excalidraw figures procedurally from python. Its very easy to visualize excalidraw files either from web (just load the file at excalidraw.com) or with a vs-code plugin (simply open a .excalidraw file in vscode).
Installation
Simpy run python setup.py install to install procXD as a package in your python environment.
Then you can create excalidraw files as follows:
If you have large configurations, it might be useful to visualize the configuration tree. Helpful for debugging and to confirm variations between different ablations. Detailed example in examples/config_vis.py.
We can visualize configuration (YACS objects) as below using SketchBuilder.render_stack_sketch.
Alternatively, we can also compare different configurations with SketchBuilder.render_comparitive_stack_sketch
Procedural graph objects
You may want to create a excalidraw graph procedurally for precision. Some examples in examples/proc_figures.py.
Create Trees
Create Graphs
NetworkX graph visualization
It might also be useful for converting arbitrary graphs from networkx to excalidraw figures. The benefits are two-folds: SVG format helps manage resolution, and the arrows are bounded between elements which means you can move the graph around!
Todo
Support Images.
Converter for SVG: Will be nice to convert datasets like FIGR-8 into excalidraw format. That way, output of SVG optimization works (such as Vector-Fusion) can be viewed in excalidraw as well!
What ProcXD does not support
Versioning
Exact text bounding box size - as a result the text bounding box sizes are adjusted in the file when the file is opened with excalidraw.
Acknowledgements
I used ChatGPT while creating this tool. It was helpful in many ways, but also misleading at times (especially for visual math functions).
About
A Python package for making excalidraw figures procedurally from python.