'''
Import modules to register class names in global registry
Define convenience classes composed of different mixins
'''
__author__ = 'Elisha Yadgaran'
from .base_pipeline import Pipeline, GeneratorPipeline
from .validation_split_mixins import NoSplitMixin, RandomSplitMixin,\
ChronologicalSplitMixin, ExplicitSplitMixin
# Mixin implementations for convenience
[docs]class NoSplitPipeline(Pipeline, NoSplitMixin):
pass
[docs]class ExplicitSplitPipeline(Pipeline, ExplicitSplitMixin):
pass
[docs]class RandomSplitPipeline(RandomSplitMixin, Pipeline):
# Needs to be used as base class because of MRO initialization
pass
[docs]class ChronologicalSplitPipeline(ChronologicalSplitMixin, Pipeline):
# Needs to be used as base class because of MRO initialization
pass
# Generator implementations
[docs]class NoSplitGeneratorPipeline(GeneratorPipeline, NoSplitMixin):
pass
[docs]class ExplicitSplitGeneratorPipeline(GeneratorPipeline, ExplicitSplitMixin):
pass
[docs]class RandomSplitGeneratorPipeline(RandomSplitMixin, GeneratorPipeline):
# Needs to be used as base class because of MRO initialization
pass
[docs]class ChronologicalSplitGeneratorPipeline(ChronologicalSplitMixin, GeneratorPipeline):
# Needs to be used as base class because of MRO initialization
pass