Early on I was only targeting one Raspberry Pi OS, and Dexter Industries had a single line installation script available that met my needs.
Time went on and Dexter needed to minimize the number of operating systems it would support, so I took up building my own install scripts. First for PiOS and Ubuntu with Bullseye 64-bit debian kernel, then both with Bookworm 64-bit kernel. The Ubuntu installs were needed to support running ROS 2 on GoPiGo3 without building ROS 2 from source.
Raspberry Pi folks threw a curve with the release of the Raspberry Pi 5, which ruined the default DI software I2C implementation, so I built a special Bookworm/Pi5 install that maintained “hardware I2C” support.
Additionally, the Python community obsoleted the setup.py install that DI uses for the GoPiGo3 Python API “egg files”, requesting that everyone move to new setuptools to build the installation files.
Along the way, I kept asking myself "Why can’t I make a ‘simple’
sudo apt install gopigo3-dev
or
pip install gopigo3-dev --break-system-packages
to install the GoPiGo3 Python API and /home/pi/Dexter/GoPiGo3 examples and other language APIs?
I have sat out the progression of PiOS Trixie and Ubuntu Trixie releases, not having a particular need for these versions, but looking forward to May 1st, 2026 testing Lyrical Luth ROS 2, Dave will require an install for the April 2026 release of Ubuntu 26.04 Resolute Racoon.
To be prepared, I again questioned could I build an APT install or a Python pip install. I built a test dot deb file, and also tested a basic pyproject.toml based GoPiGo3 API build to support a setuptools/pip install approach.
I learned that neither can do the whole job. I still must use an “install script” that brings down the GoPiGo3 GitHub repo to the user’s OS, performs all the OS configurations as well as build and install the Python API. Running setup.py as a command for Python build/install will still be deprecated but available in Resolute Racoon (with loud warnings of such a terrible developer I am).
There are lots of improvements I could make, but since it appears I am the only active GoPiGo3 user left on the planet I am going to again admit and remind everyone that the DI developers were really, really smart. I will not try to improve on their masterpiece, only making necessary modifications to keep the needed pieces of the masterpiece available for GoPiGo3 robot Dave to run Lyrical Luth ROS 2.