DiamondLightSource / blueapi

Apache License 2.0
3 stars 5 forks source link

Allow fetching and installation of plan/device modules on startup #307

Open DiamondJoseph opened 1 year ago

DiamondJoseph commented 1 year ago

In order to prevent the bloating of the size of the base image/complaints & possible confusion from having to have dependencies on seemingly irrelevant code, it would be beneficial if naming a module (which exists on pypi) in the config would fetch and install that module prior to attempting to get plans/devices from it. This also means that a list of such modules would only need to be maintained per-beamline, rather than per-beamline and also centrally in pyproject.toml.

DiamondJoseph commented 1 year ago

This would however make startup of the service slower.

How slow compared to having to pull a larger image in the first place may be a question to explore (build time slowness not worth worrying about compared to per-restart)

Build time slowness is preferable over pull time slowness is preferable over restart time slowness

callumforrester commented 7 months ago

This was partly covered by the introduction of a scratch area, may be solved by https://github.com/DiamondLightSource/blueapi/issues/363?