Problem or Possibility
The CLI package currently requires a significant installation size, as it requires all subpackages that it works with in order to work at all. This means installing PMA stuff, etc.
pi@pi-top:~ $ sudo apt install python3-pitop-cli --no-install-recommends
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
fonts-roboto fonts-roboto-unhinted liblbfgsb0 python3-decorator python3-pitop-display python3-pitop-miniscreen python3-pitop-pma
python3-pyinotify python3-scipy
Suggested packages:
python-pyinotify-doc python-scipy-doc
The following NEW packages will be installed:
fonts-roboto fonts-roboto-unhinted liblbfgsb0 python3-decorator python3-pitop-cli python3-pitop-display python3-pitop-miniscreen
python3-pitop-pma python3-pyinotify python3-scipy
0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 13.7 MB of archives.
After this operation, 53.1 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Where this functionality is not required, it adds additional install size.
Proposed Solution
Can plotting IMU calibration graphs be moved somewhere else (PMA?) with a soft dependency that is handled with a try/catch statement?
Perhaps the CLI package is configured to scan for available subpackages and only imports them if they exist? That would make it a lot more flexible.
Note: pdm has a plugin architecture that would likely serve as a useful reference
Alternative Solutions
Additional Context
Problem or Possibility
The CLI package currently requires a significant installation size, as it requires all subpackages that it works with in order to work at all. This means installing PMA stuff, etc.
Where this functionality is not required, it adds additional install size.
Proposed Solution
Can plotting IMU calibration graphs be moved somewhere else (PMA?) with a soft dependency that is handled with a try/catch statement?
Perhaps the CLI package is configured to scan for available subpackages and only imports them if they exist? That would make it a lot more flexible.
Note: pdm has a plugin architecture that would likely serve as a useful reference
Alternative Solutions
Additional Context