Because the Rapsberry Pi uses a slightly older Python version, there is a special version of Graft for it.
Here’s how to get it:
- Open a terminal window by clicking the black icon with a “>” symbol on it at the top near the left.
- First we need to install a couple of things Graft needs, so type this, then press Enter:
sudo apt install python3-attr at-spi2-core
- If you want to be able to make animated GIFs, install one more thing:
sudo apt install imagemagick
- To download Graft and switch to the Raspberry Pi version, type in these commands, pressing Enter after each line.
git clone https://github.com/andybalaam/graft.git
git checkout raspberry-pi
- Now, you should be able to run Graft just like on another computer, for example, like this:
./graft 'd+=10 S()'
If you’re looking for a fun way to start, why not try the worksheet “Tell a story by making animations with code”?
For more info, see Graft Raspberry Pi Setup.
I’m running a workshop at the Egham Raspberry Jam on 21st October. The workshop will introduce my little animation language Graft. We will tell a story using animations that we created ourselves using code.
The worksheet for the workshop is here: PDF or ODP.
I reproduced it as images below.
Any feedback much appreciated.
Here is an almost-minimal example of a systemd service file, that I use to run the Mastodon bot of my generative art playground Graft.
I made a dedicated user just to run this service, and installed Graft into /home/graft/apps/graft under that username. Now, as root, I edited a file called /etc/systemd/system/graft.service and made it look like this:
Now I can start the graft service like any other service like this:
sudo systemctl start graft
and find out its status with:
sudo systemctl status graft
If I want it to run on startup I can do:
sudo systemctl enable graft
and it will. Easy!
If I want to look at its output, it’s:
sudo journalctl -u graft
As a reward for reading this far, here’s a little animation you can make with Graft:
If you want the service to be restarted whenever it fails, under [Service] add something like this:
More info at: Jon Archer’s blog post.