Skip to content

Code Reference - Custom Information - Extra

The definitions for the "extra" information classes, i.e. fields that apply to the whole dataframe such as author, etc.

df_file_interchange.ci.extra.base

df_file_interchange.ci.extra.base.FIBaseExtraInfo

Bases: BaseModel

Source code in df_file_interchange/ci/extra/base.py
class FIBaseExtraInfo(BaseModel):
    model_config = ConfigDict(arbitrary_types_allowed=True)

    @classmethod
    def get_classname(cls) -> str:
        return cls.__name__

    @computed_field
    @property
    def classname(self) -> str:
        """Ensures classname is included in serialization

        Returns
        -------
        str
            Our classname
        """

        return self.get_classname()

    @model_validator(mode="before")
    @classmethod
    def model_validator_extra_info(cls, data: Any) -> Any:
        if isinstance(data, dict):
            if "classname" in data.keys():
                del data["classname"]
        return data

classname: str property

Ensures classname is included in serialization

Returns:

Type Description
str

Our classname

df_file_interchange.ci.extra.std_extra

df_file_interchange.ci.extra.std_extra.FIStdExtraInfo

Bases: FIBaseExtraInfo

Standard extra info for a dataframe

Attributes:

Name Type Description
author str | None

Default None.

source str | None

Where it came from. Default None.

Source code in df_file_interchange/ci/extra/std_extra.py
class FIStdExtraInfo(FIBaseExtraInfo):
    """Standard extra info for a dataframe

    Attributes
    ----------
    author : str | None
        Default None.
    source : str | None
        Where it came from. Default None.
    """

    author: str | None = None
    source: str | None = None
    description: str | None = None
    processed_date: date | datetime | None = None
    processed_by: str | None = None