Исходный код EJIO.utils.dataset.dataset_storage

## /utils/dataset/dataset_storage.py

from abc import abstractmethod
from typing import Protocol, Any

__all__ = [
    'DatasetStorage',
]


[документация] class DatasetStorage(Protocol): """ Интерфейс для классов-хранилищ табличных наборов данных (датасетов). """ __slots__ = ()
[документация] @staticmethod @abstractmethod def save[T](data: list[dict[str, T]], filename: str, **kwargs: Any) -> None: """ Сохранить массив табличных строк в файл. :param data: Список словарей для сериализации. :param filename: Путь к файлу для сохранения. :param kwargs: Ключевые параметры для хранилища данных. :raises NotImplementedError: Должен быть реализован в подклассе. """ raise NotImplementedError
[документация] @staticmethod @abstractmethod def load[T](filename: str, **kwargs: Any) -> list[dict[str, T]]: """ Загрузить массив табличных строк из файла. :param filename: Путь к файлу для загрузки. :param kwargs: Ключевые параметры для хранилища данных. :return: Список словарей, полученный из строки. :raises NotImplementedError: Должен быть реализован в подклассе. """ raise NotImplementedError