The Balena base images such as balenalib/raspberry-pi-debian-python:bullseye-build-20221215 uses a non standard python version for debian bullseye.
For most things I guess this is ok, however it is problematic when it comes to installing large Python packages. For example grpcio.
Pypi index does not have a wheel for armv6 or armv7 which is not unusual as many people do not support wheels for these architectures, but typically on raspberry pi armv6 or v7 devices you can use the pip flag --extra-index-url https://www.piwheels.org/simple
to get the wheels from the semi-official piwheels package index (it is included by default on official Raspberry Pi OS builds)
In the case of grpcio you can see the wheels here piwheels - grpcio
But because they only build wheels for the current standard python versions of the underlying Debian OS, because Balena uses non standard python this means a build time of around 2 minutes becomes over 2 hours.
Is there a good reason why you use non standard python versions in your base images? And would you reconsider this decision?