-
Notifications
You must be signed in to change notification settings - Fork 1
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
[Requirement] UI components for selecting, configuring, and running workflows #28
Comments
SimonHeybrock
changed the title
[Requirement] UI component for selecting, configuring, and running workflows
[Requirement] UI components for selecting, configuring, and running workflows
May 22, 2024
Widget team initial goal:
Parameter/workflow team initial goal:
See https://github.com/scipp/esssans/blob/a614f49492453cf6ea0f1615e63898b77b7303f6/src/ess/loki/general.py#L60-L84 for an example of a current workflow, which also defines default params. |
Description helpers
|
Closed
Closed
5 tasks
3 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Executive summary
For the "80%" of basic workflow use, we need a simple interface that reduces the need for Python knowledge.
Context and background knowledge
Users need to create and configure workflows. In many cases the workflow are pre-built in the ESS* packages and need configuration. Simple GUI tools based on (probably?)
ipywidgets
are needed for all ESS* packages. These GUI components will, step by step (e.g., in a series of tabs), allow for:This requirement is a high-level overview, individual parts will be described in more detail in sub-requirements.
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. This corresponds to step 2.) above.
Inputs
Param
class. The latter includes things such as a description (to be shown in the GUI), bounds, validators, ...Methodology
Python function in a helper module that can be used to auto-generate a widget.
Outputs
A widget that can be used in a Jupyter notebook. Depending on where we stop in the listing, this might return a configured pipeline, a task graph, results, or even run, plot, and save directly.
Which interfaces are required?
Python module / function
Test cases
ESSsans is a good candidate for prototyping and trying this out
Comments
No response
The text was updated successfully, but these errors were encountered: