Source code for pipelinex.extras.hooks.add_transformers
from typing import List, Tuple, Union
from kedro.io import DataCatalog
from kedro.io.transformers import AbstractTransformer
try:
from kedro.framework.hooks import hook_impl
except ModuleNotFoundError:
def hook_impl(func):
return func
[docs]class AddTransformersHook:
"""Hook to add transformers."""
[docs] def __init__(
self,
transformers: Union[
AbstractTransformer, List[AbstractTransformer], Tuple[AbstractTransformer]
],
):
"""
Args:
transformers: transformers to add.
"""
transformers = transformers or []
if isinstance(transformers, AbstractTransformer):
transformers = [transformers]
self._transformers = transformers
[docs] @hook_impl
def after_catalog_created(self, catalog: DataCatalog) -> None:
for t in self._transformers:
catalog.add_transformer(t)