DiamondLightSource / DiamondLightSource/dodal

RFC: Device names and function names.

Open
#339 0 comments 0 reactions 0 assignees View on GitHub
help wanted question
Dominant language
Python
Stars
5
Forks
13
Avg merge
3d 2h
Merged PRs (30d)
10

Description

Device names are used as part of the Bluesky event-model to name, as object_keys in the Descriptor. They should have a unique name, but this is not enforced until you attempt to run a plan with two devices with the same name and there is a collision (AFAIK). In BlueAPI this is required on startup (again, AFAIK).
Device factory function names are used to refer to devices outside of BlueAPI/event-model context, and also must be unique within the namespace.

Should device.name and device_function.__name__ target:

- Their purpose (e.g. saxs, waxs)
- Their make/model/description of what the hardware is (e.g. linkam, tetramm)
- Being as short and easily typed as possible
- Different things (e.g. device.name being purpose, device_function.__name__ being hardware type?)
-
I think this decision can/should be made on a per-beamline basis, but it might be useful to document a best practice.

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.