Shoebot is a tool to automate the process of drawing vector graphics using a minimal and easy-to-understand syntax.
It is a rewrite of Nodebox 1 by Frederik de Bleser and Tom de Smedt, with the purpose of having an equivalent tool in GNU/Linux systems. Nodebox 1 is itself based on DrawBot by Just van Rossum. Shoebot draws using the cross-platform Cairo graphics engine.
It follows a rich lineage of tools dedicated to generative creativity:
For more about the nature of creative coding and generative design, be sure to read The Nodebox 1 theoretical introduction.
Shoebot is a useful tool for many use cases:
- creating generative and procedural works, either for screen or print output
- teaching code to non-developers by means of immediate visual feedback
- prototyping visualizations and design concepts
- automatically generating sets of vector images
- live-coding and real-time tweaking of animated graphics
- making Cairo-based tools and experiments using a simpler language
Originally built as a GNU/Linux version of Nodebox 1, Shoebot comes with many batteries included:
- supports most of Nodebox 1's functionality
- user-friendly code editor
- headless mode for quick execution without the GUI parts
- run on a window or output files in PDF, PNG, SVG or PS formats
- tweak running scripts via a simple GUI, a socket server or a text-based shell
- can be loaded as a Python module to work inside existing programs
A good part of the code has also been contributed to by Francesco Fantoni, Sebastian Oliva, Paulo Silva, Dave Crossland, Gabor Papp, Julien Deswaef , Pedro Ângelo and Tetsuya Saito. Examples also contributed to by Artem Popov, Barak Itkin and Simon Budig.
- Drawbot, the tool that started it all, by Just van Rossum from Letterror. It's now been reinvigorated with new features and experimental Python 3 support.
- Nodebox 3, the current node-based incarnation of Nodebox, running on Java.
- Cairo DrawBot, a GNU/Linux compatible fork of Drawbot by Eli Heuer.
- Nodebox-pyobjc, an active fork of Nodebox 1 for Mac, maintained by Karsten Wolf.
- PlotDevice, another fork of Nodebox 1 for Mac, maintained by Christian Swinehart.
- Canvas.js by Nodebox's co-author Tom de Smedt, allows you to create browser-based scenes and animations with JS and HTML5.
.. toctree:: :maxdepth: 2 install getstarted tutorial live libraries examples advanced extensions troubleshooting commands cli_flags compatibility contributing developing