-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DOC: annotate bluesky.plans
signatures
#1600
base: main
Are you sure you want to change the base?
Conversation
FWIW the numpy drop schedule has:
|
Turns out that the type hint I applied to most detector list arguments ( To be compatible with the current state of the queueserver, we either need to delete this hint or use the At this point, the changes in this PR are maybe less than useful, since they don't actually enable bluesky-queueserver integration. The best we get are the occasional |
By default, the queue server attempts to convert all string passed as values of each parameter without type annotation to a device or a plan object with matching name. The idea was that 'lasy' user may use queue server with plans that have no type annotations. This seems to work in simple cases, but it is not very efficient and may fail if certain cases. In my experience, once I mention that type annotation is optional, users don't want to listen any further. Specifying type as Moving the annotation decorator into Bluesky package may be challenging. I am thinking if there is an alternative way of telling the queue server that the parameter value is a device. For example, the names such as |
I pushed a few commits. The Queue Server (in 'main' branch) should be able to properly handle the updated annotations. |
Description
Motivation and Context
bluesky_queueserver's annotation collection mechanisms require annotations to collect.
The annotations are restricted to Python base types,
NoneType
, and imports from thetyping
module. This means common arguments likeophyd.Device
->Any
Some questions:
Msg
objects? I omitted the return type but suppose it would beplan() -> Generator[Msg, Msg, None]
?spiral_square
'sx_num
andy_num
beint
rather thanfloat
?How Has This Been Tested?
Test suite passes locally. Also some fiddling with the queueserver will take place after this