Open SimonHeybrock opened 6 months ago
See also https://github.com/scipp/sciline/issues/139 for a discussion and prototypes.
See also scipp/sciline#139 for a discussion and prototypes.
Note that the Param
described in the requirement does not need any relation/interaction with Sciline, unlike in the linked issue.
Executive summary
For auto-generating workflow parameter input widgets, a base class and implementations for common param types are needed
Context and background knowledge
See #28. Have a look at, e.g., https://docs.mantidproject.org/v6.1.0/algorithms/LoadEventNexus-v1.html. The widget and the table of properties in the docs page was generated programmatically. Each line corresponds to a "param" as described here (Mantid calls these "algorithm properties").
Inputs
The param classes will have a number of required and optional inputs. Something like:
Required:
Optional:
Methodology
The
Param
base class (working title) should run things such as validators.Outputs
Implementations of the
Param
class must be able to construct a simple widget that can be included in higher-level widgets as part of #28.Examples of required
Param
implementations:BinEdgeParam
(linear/log, start, stop, num, unit, ...)Which interfaces are required?
Python module / function
Test cases
Params for ESSsans inputs make a good scenario for prototyping and testing
Comments