This is designed to be run from scriptworker, but runs perfectly fine as a standalone script.
NOTE: this will stay on python 3.11 until the mac puppet configs are changed.
we use the script / requirements files here
and the scriptworker{,_scripts}_revision here