Python C Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
assets Made many changes to the Debian packaging files to make them up to da… Jan 11, 2010
debian Correct python dependency in Debian control file Apr 28, 2018
doc Move PyPy docs into Advanced Usage section May 19, 2018
examples Replace "How curves work" script in examples and docs May 11, 2018
extensions Revert "Remove sphinxcontrib-shoebot submodule" Apr 28, 2018
install Add GObject to Homebrew dependencies (close #137) Apr 29, 2018
lib Style edit library code May 11, 2018
locale updated portuguese translation. added kant.xml to assets for use with… Jan 27, 2009
po finish french translation May 18, 2014
shoebot Support (hex, alpha) when declaring a color Jun 3, 2018
tests Move color tests to unit test May 2, 2016
.gitignore Ignore debian files Apr 29, 2018
.gitmodules Adding sphinxcontrib-shoebot as submodule May 7, 2016
.travis.yml Use diagnose script May 2, 2016
AUTHORS made functional again gedit-plugin, cleaned it up a bit, and added my… Oct 3, 2010
CHANGELOG Add 1.2.2 to changelog Aug 21, 2016
COPYING-GPL-3 implemented rectMode(); removed push() and pop(); removed some non-wo… Aug 20, 2008 Tell about Jan 22, 2016
Makefile Fix version number in Makefile Apr 28, 2018 Small grammar fix May 8, 2018
VERSION Catch up with some fixes - bumped version and fixes for edit plugin when Nov 29, 2016
requirements-pypy.txt Update some requirements. Nov 25, 2015
requirements.txt Update pysoundcard May 8, 2018
setup.cfg Add setup.cfg to make upload happy Jan 21, 2016 Style adjustments May 10, 2018
shoebot.pot implemented i18-internationalization with gettext, added italian tran… Dec 31, 2008


Shoebot is a Python graphics robot: It takes a Python script as input, which describes a drawing process, and outputs a graphic in a common open standard format (SVG, PDF, PostScript, or PNG). It works through simple text files, and scripts can describe their own GUIs for controlling variables interactively. It can also be used as a Python module, a plugin for Python-scriptable tools such as Inkscape, and run from the command line.

Shoebot is a port/rewrite of Nodebox 1. It was also inspired by DrawBot and Shoes. Thus, "Shoebot".

Build Status


You can find the current docs at ReadTheDocs.

The Nodebox tutorials are an excellent intro to the language and its core concepts. Shoebot is a rewrite of Nodebox 1, so the original Nodebox documentation is required reading.

The Shoebot documentation has quite a lot more information on what you can do with Shoebot. Take a look at the wiki for a set of hacks and advanced uses such as:

  • import Shoebot as a Python module
  • use the included socketserver to have other programs control a Shoebot script
  • generate images via CGI scripts

Getting help

Installation can sometimes be tricky, to help us work out whats up paste the output of the following commands into an issue on github

python diagnose
python test

This will help us diagnose common issues more quickly.



Copyright © 2007-2018 The Shoebot authors (Stuart Axon, Dave Crossland, Francesco Fantoni, Ricardo Lafuente, Sebastian Oliva) Originally developed by Ricardo Lafuente with the support of the Piet Zwart Institute, Rotterdam.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <>.