skada
skada copied to clipboard
Polish pipeline and selectors API
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