snapcraft>1.4.0 builds python packages listed under
`charm-python-packages` from source during build time[0], creating
platform dependence for compiled components of libraries like bcrypt and
cryptography which are required as dependencies of paramiko. This
behavior ends up having ABI incompatibilities when packages are built
and run in different ubuntu series, which is sometimes surfacing as a
GLIBC soversion problem during runtime. In order to eliminate that we
are allowing installation of prebuilt wheel for paramiko using
`charm-binary-python-packages`, since it is supported on multiple
platforms much better. Also we no longer need the whole rust toolchain
and ffi headers, so they are removed as well.
Also we are now producing 2 charms since the installed websockets
library during build time drops support for either python3.10(jammy) or
python3.6(bionic) depending on the build environment. See libjuju's
dependencies[1] and websockets changelog[2].