DiamondLightSource / DiamondLightSource/blueapi

Allow HasName object to be added to inject of plans

Open
#1,462 1 comment 0 reactions 0 assignees View on GitHub
c: context needs investigation
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.