Repository navigation
v0.2.0
Что нового
Добавлено
- Типизированная поддержка Milestones для задач и проектов (модель
Milestone, методыget_milestones()иadd_milestone()) - Универсальная работа с фильтрами через FilterBuilder с fluent API (TaskFilterBuilder, TradeFilterBuilder, поддержка всех типов FilterTerm)
- Нормализация BaseEntity объектов (автоматическая конвертация строковых ID в int для параметров пагинации и baseOn)
- Валидация статусов задач через
VALID_TASK_STATUSES - Улучшения метода
check_exists()для сделок (поддержка множественных параметров, нормализация BaseEntity) - Утилиты валидации для интеграционных тестов
- Реорганизация интеграционных тестов (read_only/ и write/)
Изменено
- Реорганизация README.md (оглавление, раздел "Общие паттерны", устранение дублирования ~800 строк)
- Улучшена безопасность (убрано логирование username, приватный access_token)
- Оптимизирован EntityCache (отслеживание типов через defaultdict)
Исправлено
- Исправлена обработка Milestones API (опциональный id, обход ошибки 500, корректный формат DateTime)
- Исправлена нормализация BaseEntity объектов
- Исправлены ruff предупреждения UP038
Улучшено (Рефакторинг)
- Устранены нарушения DRY (generic методы для milestones, сокращено ~160 строк кода)
- Упрощение кода KISS (
_normalize_base_entity()-29%,check_exists()-16%, чистая функция_normalize_datetime_field()) - Удален мёртвый код (неиспользуемые параметры пагинации в get_milestones(), ContractorsResource.delete())
- Применены замечания разработчика (ruff предупреждения, чистая функция, упрощение методов)
Удалено
- Исключена директория docs/ из репозитория
Установка
Этот релиз доступен на PyPI:
pip install megaplan-sdk==0.2.0