You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SourceKind, used to distinguish between imported modules currently has three variants.
planFunctions for modules containing plans
dodal for modules containing device functions that are called via dodal's make_all_devices and assume DeviceInitializationControllers
deviceFunctions the previous version for devices that is now an alias for dodal.
Now that there is about to be an alternative to dodal modules in the device manager, should we
Create a new source type, deviceManager to support the new loading
Convert all beamlines at once and use dodal for the new loading
Stop deviceFunctions delegating to dodal and use it for the new loading
I'm currently erring towards 1. I think 2 would cause chaos and we should have at least a brief transition period where both are supported. 3 could work but are any beamlines currently relying on it being an alias to dodal?
If we don't re-use deviceFunctions, could we remove it entirely?
Depending on how soon 2.0 is likely to be, we could remove dodal as the same time. If we're removing the dodal dependency it'd be a major version bump whenever it did end up happening
We went with option 1. Once all the dodal beamline modules have switched over we can remove the dodal dependency, then the redundant deviceFunction and Dodal tags.
I think this issue can now be closed.
The dodal dependency has been removed: PR PR for change from dodal to deviceManager in blueapi repo PR for change from dodal to deviceManager in services-helm-template repo
I went through the beamline services folders on GitLab and found some beamlines which need updating. These are:
i04 has both the dodal and deviceManager tag @DiamondLightSource/developers-mx-daq
@shree-iyengar-dls I think these other beamlines are okay. They are using older versions of dodal and blueapi so if they update blueapi and dodal, they must update to use deviceManager rather than dodal so will be fixed on its own anyway when they eventually update.
For example, i24 is still using blueapi 1.11.5 which I'm pretty sure is over a year out of date as were on 1.21.0 now.
@oliwenmandiamond Sure, yes a lot of the beamlines are on older versions of dodal and blueapi.
With the case of i24 (and i04) I'm just not sure if having both dodal and deviceManager will raise an error/exception when blueapi is updated. As in I'm not sure if the dodal tag will be read first then there'd be an error then exit or deviceManager would also be tried after the dodal tag doesn't work.
Activity
DiamondJoseph commentedon Dec 5, 2025
Added the 2.0.0 milestone for removing the deviceFunctions enum
tpoliaw commentedon Dec 5, 2025
Depending on how soon 2.0 is likely to be, we could remove dodal as the same time. If we're removing the dodal dependency it'd be a major version bump whenever it did end up happening
DiamondJoseph commentedon Dec 5, 2025
I think we (y'all) can start thinking about 2.0 in the new year, we've got a big enough shopping list now:
https://github.com/DiamondLightSource/blueapi/milestone/19
abbiemery commentedon Feb 26, 2026
We went with option 1. Once all the dodal beamline modules have switched over we can remove the dodal dependency, then the redundant deviceFunction and Dodal tags.
shree-iyengar-dls commentedon Oct 21, 2026
I think this issue can now be closed.
The dodal dependency has been removed: PR
PR for change from dodal to deviceManager in blueapi repo
PR for change from dodal to deviceManager in services-helm-template repo
I went through the beamline services folders on GitLab and found some beamlines which need updating. These are:
oliwenmandiamond commentedon Oct 21, 2026
@shree-iyengar-dls I think these other beamlines are okay. They are using older versions of dodal and blueapi so if they update blueapi and dodal, they must update to use
deviceManagerrather thandodalso will be fixed on its own anyway when they eventually update.For example, i24 is still using blueapi 1.11.5 which I'm pretty sure is over a year out of date as were on 1.21.0 now.
shree-iyengar-dls commentedon Oct 21, 2026
@oliwenmandiamond Sure, yes a lot of the beamlines are on older versions of dodal and blueapi.
With the case of i24 (and i04) I'm just not sure if having both dodal and deviceManager will raise an error/exception when blueapi is updated. As in I'm not sure if the dodal tag will be read first then there'd be an error then exit or deviceManager would also be tried after the dodal tag doesn't work.
DominicOram commentedon Oct 21, 2026
Yh, I will at some point update p38 but it's not a priority. I'm happy for this to be closed without it being updated
shree-iyengar-dls commentedon Oct 21, 2026
Discussed with @abbiemery and going to close this issue