GSoC 2026 - Week 4
Here is week 4 update for my project:
This week, I added support for handling widget inputs in realtime from the dashboard as part of PR #11. The widget inputs UI is dynamically generated based on the input definitions in the analysis widget class and handles both client side and server side validations. Any input changes are reflected in realtime in the output shown in the same widget details page.
Here are some of the changes made as part of this PR:
- Add support for handling widget inputs
- auto-generated UI based on widget inputs
- support for server side validation and error display
- Add COM distance and Radii of Gyration analysis widgets
- Add support for widget lifecycle methods
- post_connect, post_disconnect, post_pause, pre_resume
- on_input_change
- Limit emits from server to client session only when applicable
- Tests for all new backend and frontend functionality
- Verify the built wheel by running
mdadash -hin CI
I also added support to display imdclient session info on the dashboard as part of PR #10.
Here are some additional changes made as part of this PR:
- Add support to show
imdclientsession info in dashboard- Add dashboard configuration settings
- To show / hide session info
- To show / hide energies
- Display last known tsdata values when clients reconnect
- Update add widget tests with more assertions
- Tests for all new functionality
- Update frontend packages as per npm audit
I also added grid layout presets in the dashboard based on a discussion in the last sync up meeting - as part of PR #12. This allows users to select between one / two / three column layout in addition to the defult customizable layout.
All tests have been added for the new backend and frontend functionality and we are still maintaining 100% coverage for both these components. On the CI side, updated with minor changes to test the built wheel file by executing mdadash to ensure everything is packaged correctly.
I’ve released v0.0.3 which has all the functionality described so far. The packages are updated on both PyPI and Anaconda. With this release, we have reached the 2nd milestone of this project.
Next week, I will get started on support for batching and parallelization. After that, I will get started on basic alerts support as per the project timeline.
