Metadata-Version: 2.4
Name: onco-cola-utils
Version: 0.7.2
Summary: Мой сборник различных утилит для работы с файлами
License: MIT
License-File: LICENSE
Keywords: utils,excel,pandas,tools,openpyxl,key-param,key-value
Author: Volodin Alexandr Sergeevich
Author-email: endocrinologist@ya.ru
Requires-Python: >=3.9,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: build (>=1.3.0)
Requires-Dist: deprecated (>=1.2)
Requires-Dist: loguru (>=0.7.3,<0.8.0)
Requires-Dist: openpyxl (>=3.0)
Requires-Dist: pandas (>=1.5)
Requires-Dist: tiktoken (>=0.11.0)
Requires-Dist: twine (>=6.1.0)
Project-URL: Homepage, https://t.me/hitomamoru
Project-URL: Repository, https://github.com/VolodinAS/onco-cola-tools
Description-Content-Type: text/markdown

# Onco-Cola's utils

![Python](https://img.shields.io/badge/Python-3.9%2B-blue?logo=python&logoColor=white)
![License](https://img.shields.io/badge/License-MIT-green)
![GitHub last commit](https://img.shields.io/github/last-commit/VolodinAS/onco-cola-tools)

`onco-cola-utils` — это набор утилит для Python, предназначенный для упрощения работы с данными, особенно с файлами Excel. Библиотека включает инструменты для чтения, записи и обработки данных, а также вспомогательные модули для логирования, создания типизированных констант и форматированного вывода.

## Основные возможности

- **`DefaultState`**: Класс, предназначенный для типизированного ответа из любой функции
- **`DualAlphabeticController`**: 
- **`FileReaderController`**: Простой и надежный контроллер для безопасной работы с текстовыми файлами. Обеспечивает атомарные операции чтения и записи с обработкой ошибок и автоматическим созданием директорий.
- **`JsonReader`**: Класс, предназначенный для чтения/записи json-файлов
- **`KeyParamClass`**: Метакласс для создания неизменяемых, enum-подобных классов. Идеально подходит для определения констант, статусов или других предопределенных значений в коде.
- **`logger`**: Преднастроенный логгер на базе `loguru` с цветовой кодировкой для разных уровней логирования (DEBUG, INFO, SUCCESS, ERROR).
- **`pretty_print`**: Утилита для красивого вывода сложных объектов (dataclasses, словарей, списков), что упрощает отладку.
- **`ReaderController`**: Мощный класс для управления файлами Excel (XLS/XLSX). Позволяет читать данные, находить нужный лист, обновлять и сохранять файлы, а также добавлять уникальные идентификаторы к строкам.
- **`value_to_bool`**: Функция для преобразования различных значений в булев тип по расширенным правилам.

## Установка

Для установки зависимостей выполните команду:

```bash
pip install onco-cola-utils
```

## Подробно о каждом методе можно прочитать в корне соотвтветствующего пакета на [GitHub](https://github.com/VolodinAS/onco-cola-tools/tree/master/src/onco_cola_utils)

---
## Зависимости

Проект `onco-cola-tools` использует следующие основные библиотеки:

-   `pandas` (`>=1.5`): Для работы с табличными данными и Excel-файлами.
-   `openpyxl` (`>=3.0`): Бэкенд для чтения и записи `.xlsx` файлов в `pandas`.
-   `loguru` (`^0.7.3`): Для расширенного и удобного логирования.
-   `deprecated` (`>=1.2`): Для маркировки устаревших функций и методов.
-   `build` (`>=1.3.0`): Для сборки пакета.
-   `twine` (`>=6.1.0`): Для публикации пакета.
-   `tiktoken` (`>=0.11.0`): Для работы с токенами (вероятно, для интеграции с LLM).

Все зависимости указаны в файле `pyproject.toml`.

---

## Лицензия
Данный проект распространяется под лицензией MIT. Подробности см. в файле `LICENSE`.

