Open ksunden opened 3 years ago
Specific conversation about queueserver annotation decorator, which is the closest prior art:
Mostly solves a number of the goals, but does so in a way that involves a fair amount of repetition
Description (including description of arguments) is best represented in the docstring, we can specify numpydoc style to parse out descriptions of each parameter such that they can be displayed/used separately.
Does not address variadic arguments common to at least the built in bluesky plans
Defining type/ranges I feel are better integrated as type hints
does some enum magics to represent "all devices", "all movables", "all flyers", etc...
default values and types are naturally part of the signature of a plan, no need to re-encode them. (if overriding is something you wish to do, functools.partial is there for you)
related idea sparked by this proposal: https://github.com/bluesky/bluesky/issues/1491
Motivation
Specific challenges
Prior art
Proposed implementation
numpy.typing.ArrayLike
---these get passed into numpy linspace, clients MAY only support the simpler float scalar option.[1] https://docs.python.org/3/library/typing.html#typing.Annotated