Skip to content

Reader

Module for the BaseReader class

koheesio.models.reader.DataFrameType module-attribute #

DataFrameType = TypeVar('DataFrameType')

koheesio.models.reader.BaseReader #

Base class for all Readers

A Reader is a Step that reads data from a source based on the input parameters and stores the result in self.output.df (DataFrame).

When implementing a Reader, the execute() method should be implemented. The execute() method should read from the source and store the result in self.output.df.

The Reader class implements a standard read() method that calls the execute() method and returns the result. This method can be used to read data from a Reader without having to call the execute() method directly. Read method does not need to be implemented in the child class.

The Reader class also implements a shorthand for accessing the output Dataframe through the df-property. If the output.df is None, .execute() will be run first.

df property #

Shorthand for accessing self.output.df If the output.df is None, .execute() will be run first

execute abstractmethod #

execute() -> Output

Execute on a Reader should handle self.output.df (output) as a minimum Read from whichever source -> store result in self.output.df

Source code in src/koheesio/models/reader.py
@abstractmethod
def execute(self) -> Step.Output:
    """Execute on a Reader should handle self.output.df (output) as a minimum
    Read from whichever source -> store result in self.output.df
    """
    pass

read #

read() -> DataFrameType

Read from a Reader without having to call the execute() method directly

Source code in src/koheesio/models/reader.py
def read(self) -> DataFrameType:
    """Read from a Reader without having to call the execute() method directly"""
    self.execute()
    return self.output.df