General improvements and bugfixes:
- Update
FlattenForEachthat wasn't up to date. - Use
_ids,data_inputs, andexpected_outputsmore often inDataContainerinstead of shorthandids,di, andeo, which were auto-filling values too often when looping over things in flow classes and output handlers. - Changed
InputAndOutputTransformerMixintoIdsAndInputAndOutputTransformerMixinand derived classes to also process IDs more often in triplets rather than duo tuples of di and eo. - Fixed bugs in
DataContainer. - Easy to read string representation of the
DataContainer(DACT) is now possible for easier print debugging at a glimpse. - Repair some skipped tests.
- Cleaned some docstrings.
- Add
__str__and__repr__functionalities to context to show its services and parents in detail upon printing. _TruncableMixinthat is common to_TruncableStepsand_TruncableService.- Introducing
_TruncableServiceWithBodyMixinfor.bodyand.joinerthat is easier. Also fixFlattenForEach. - Added different copy constructors to services depending on the
AutoMLtrain/val phase. - Add the
.mutate(...)function again in the services and steps. - Add the
.will_mutate_to(...)function again in the services and steps. - Rename
copy()to_copy()in the services andExecutionContextto bypass the fact that the copy method was already defined in some python core data structures. This renaming avoids conflicting these functionalities of the core python libs and of Neuraxle when defining services that inherits from core data structures at the same time. - Improvements to the
_reprto make step strings less bloated when debugging: removed steps names and steps hyperparams when names are redundant with class names and hyperparams empty. Also sometimes the str will be a compact one-liner when the children of a truncable step are of length 1.