DiamondLightSource / DiamondLightSource/blueapi
Allow HasName object to be added to inject of plans
- Dominant language
- Python
- Stars
- 13
- Forks
- 13
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 25
Description
Currently, MX are needing access to objects inside plans which are not devices, for example the daq-config-server `ConfigClient`. They are currently achieving this via a mix of dependency injection and global states. See https://github.com/DiamondLightSource/dodal/issues/1997 for details.
Currently BlueAPI only supports the concept of a `Device` from ophyd-async. I originally suggested wrapping the `ConfigClient` with Device, but it was rightly pointed out this isn't a device (https://github.com/DiamondLightSource/dodal/pull/1798#discussion_r3008554895).
My suggestion is to allow any objects with `HasName` Bluesky protocol can be used with `inject` so that any object with a name can be found within plans, allowing for much more flexibility with BlueAPI as we have clear distinction on objects which are devices and not devices and still accessible inside plans.
Contributor guide
Assessment
This issue has not been assessed yet.