import pandas as pd
from attr import attrib

from attrs import field, define
from attrs.validators import instance_of
from pathlib import Path


@define
class GeneralParameters:
    name: str = field(validator=instance_of(str))
    dataset: str = field(validator=instance_of(str))
    data: pd.DataFrame = attrib(init=False)
    name_save_file: Path = attrib(init=False)

    def __attrs_post_init__(self):
        self.name_save_file: Path = Path(f"{self.name}")
