skada icon indicating copy to clipboard operation
skada copied to clipboard

Polish pipeline and selectors API

Open kachayev opened this issue 10 months ago • 1 comments

After adding a few new selectors in addition to the most basic Shared one, it became apparent that reorganization of the code would be beneficial. There are quite a few improvements that are desirable, ultimately they could be summarized into the following areas:

  • [ ] Move selectors to a separate module (rather than keeping them in skada.base).
  • [x] The code for branching the execution flow (i.e. splitting/merging) is scattered, duplicated across different methods and, mostly, purely tested. It would be nice to come with more generic concepts/blocks, requires proper design work (thankfully we have quite a few examples of the functionality now).
  • [ ] Make sure that all methods are covered with a proper docstrings.
  • [ ] There are multiple scenarios that we want to test against all available selectors. Would be nice to find a way to organize tests accordingly to this.
  • [ ] Documentation and examples to explain the inner workings of the pipeline/selectors.
  • [ ] In the beginning of the work we made a few shortcuts for naming conventions and parametrization to avoid Shared selector being 'visible' in the pipeline. It's time to re-evaluate those choice in the light of new functionality introduced.
  • [ ] Update implementation so we don't need to duplicate logic for container wrapping in each fit and fit_transform

kachayev avatar Apr 22 '24 11:04 kachayev