EJIO.utils.dataset package

Inheritance diagram of EJIO.utils.dataset.dataset_storage.DatasetStorage, EJIO.utils.dataset.dataset_registry.DatasetRegistry, EJIO.utils.dataset.implementations.csv_storage.CSVStorage

Subpackages

Submodules

EJIO.utils.dataset.dataset_registry module

class EJIO.utils.dataset.dataset_registry.DatasetRegistry(*args: tuple[object, ...], **kwargs: dict[str, object])[исходный код]

Базовые классы: Registry[DatasetStorage]

Глобальный реестр табличных хранилищ данных (датасетов).

EJIO.utils.dataset.dataset_registry.register_dataset(key: str) → Callable[[type[Any]], type[Any]]

Специализированный декоратор для регистрации классов в реестре DatasetRegistry.

Параметры:

key – Уникальный строковый ключ-идентификатор для регистрации.

Результат:

Возвращает исходный класс без изменений.

EJIO.utils.dataset.dataset_storage module

class EJIO.utils.dataset.dataset_storage.DatasetStorage(*args, **kwargs)[исходный код]

Базовые классы: Protocol

Интерфейс для классов-хранилищ табличных наборов данных (датасетов).

abstractmethod static load(filename: str, **kwargs: Any) → list[dict[str, T]][исходный код]

Загрузить массив табличных строк из файла.

Параметры:
  • filename – Путь к файлу для загрузки.

  • kwargs – Ключевые параметры для хранилища данных.

Результат:

Список словарей, полученный из строки.

Исключение:

NotImplementedError – Должен быть реализован в подклассе.

abstractmethod static save(data: list[dict[str, T]], filename: str, **kwargs: Any) → None[исходный код]

Сохранить массив табличных строк в файл.

Параметры:
  • data – Список словарей для сериализации.

  • filename – Путь к файлу для сохранения.

  • kwargs – Ключевые параметры для хранилища данных.

Исключение:

NotImplementedError – Должен быть реализован в подклассе.

EJIO.utils.dataset.err module

exception EJIO.utils.dataset.err.DatasetError(message: str)[исходный код]

Базовые классы: UtilsBaseError

Исключение, связанное с ошибками работы датасетов.

EJIO.utils.dataset.operations module

EJIO.utils.dataset.operations.load(filename: str, *, format: str | None = None, **kwargs: Any) → list[dict[str, T]][исходный код]

Загрузить табличный набор данных (датасет) из файла.

Параметры:
  • filename – Имя или путь к файлу.

  • format – Строковый ключ типа хранилища. в глобальном регистре.

  • kwargs – Дополнительные параметры.

Результат:

Список словарей.

EJIO.utils.dataset.operations.register_storage_for_extension(extension: str, storage_name: str) → None[исходный код]

Выставляет соответствие между расширением файла и хранилищем, ответственным за файлы с этим расширением.

Параметры:
  • extension – Расширение файла.

  • storage_name – Имя хранилища, под которым оно зарегестрировано в реестре.

Исключение:

KeyError – Если соответствие для расширения уже задано.

EJIO.utils.dataset.operations.save(data: list[dict[str, T]], filename: str, *, format: str | None = None, **kwargs: Any) → None[исходный код]

Сохранить табличный набор данных (датасет) на диск через скрытый файл.

Параметры:
  • data – Список словарей для сериализации.

  • filename – Имя или путь к файлу.

  • format – Строковый ключ типа хранилища. в глобальном регистре.

  • kwargs – Дополнительные параметры.

Module contents

class EJIO.utils.dataset.CSVStorage(*args, **kwargs)[исходный код]

Базовые классы: DatasetStorage

Реализация табличного хранилища для формата CSV. Поддерживает кастомные кодировки, разделители (delimiter) и диалекты.

static load(filename: str, **kwargs: Any) → list[dict[str, T]][исходный код]

Загрузить CSV-файл в виде списка словарей.

Параметры:
  • filename – Путь к файлу для загрузки.

  • kwargs – Дополнительные ключевые аргументы, для получения необязательных параметров.

Результат:

Список словарей.

Исключение:

DatasetError – При ошибке загрузки датасета.

static save(data: list[dict[str, T]], filename: str, **kwargs: Any) → None[исходный код]

Сохранить список словарей в CSV-файл.

Параметры:
  • data – Список словарей для сериализации.

  • filename – Путь к файлу для сохранения.

  • kwargs – Дополнительные ключевые аргументы, для получения необязательных параметров.

Исключение:

DatasetError – При ошибке сохранения датасета.

class EJIO.utils.dataset.DatasetRegistry(*args: tuple[object, ...], **kwargs: dict[str, object])[исходный код]

Базовые классы: Registry[DatasetStorage]

Глобальный реестр табличных хранилищ данных (датасетов).

class EJIO.utils.dataset.DatasetStorage(*args, **kwargs)[исходный код]

Базовые классы: Protocol

Интерфейс для классов-хранилищ табличных наборов данных (датасетов).

abstractmethod static load(filename: str, **kwargs: Any) → list[dict[str, T]][исходный код]

Загрузить массив табличных строк из файла.

Параметры:
  • filename – Путь к файлу для загрузки.

  • kwargs – Ключевые параметры для хранилища данных.

Результат:

Список словарей, полученный из строки.

Исключение:

NotImplementedError – Должен быть реализован в подклассе.

abstractmethod static save(data: list[dict[str, T]], filename: str, **kwargs: Any) → None[исходный код]

Сохранить массив табличных строк в файл.

Параметры:
  • data – Список словарей для сериализации.

  • filename – Путь к файлу для сохранения.

  • kwargs – Ключевые параметры для хранилища данных.

Исключение:

NotImplementedError – Должен быть реализован в подклассе.

EJIO.utils.dataset.load(filename: str, *, format: str | None = None, **kwargs: Any) → list[dict[str, T]][исходный код]

Загрузить табличный набор данных (датасет) из файла.

Параметры:
  • filename – Имя или путь к файлу.

  • format – Строковый ключ типа хранилища. в глобальном регистре.

  • kwargs – Дополнительные параметры.

Результат:

Список словарей.

EJIO.utils.dataset.register_dataset(key: str) → Callable[[type[Any]], type[Any]]

Специализированный декоратор для регистрации классов в реестре DatasetRegistry.

Параметры:

key – Уникальный строковый ключ-идентификатор для регистрации.

Результат:

Возвращает исходный класс без изменений.

EJIO.utils.dataset.register_storage_for_extension(extension: str, storage_name: str) → None[исходный код]

Выставляет соответствие между расширением файла и хранилищем, ответственным за файлы с этим расширением.

Параметры:
  • extension – Расширение файла.

  • storage_name – Имя хранилища, под которым оно зарегестрировано в реестре.

Исключение:

KeyError – Если соответствие для расширения уже задано.

EJIO.utils.dataset.save(data: list[dict[str, T]], filename: str, *, format: str | None = None, **kwargs: Any) → None[исходный код]

Сохранить табличный набор данных (датасет) на диск через скрытый файл.

Параметры:
  • data – Список словарей для сериализации.

  • filename – Имя или путь к файлу.

  • format – Строковый ключ типа хранилища. в глобальном регистре.

  • kwargs – Дополнительные параметры.