pyinstaller packages up all of a python script's dependencies and builds them
into standalone executables. It can either do a directory (containing a
single executable and a bunch of shared libraries) or a self-contained
executable that effectively just contains a compressed version of the
directory.
The problem is, if you have several scripts like we do, you get several
large directories or standalone binaries, and there's a ton of duplication
between them. Fortunately it looks like using the directory method and just
combining the directories works fine (for this project).