Skip to content
This repository has been archived by the owner on Sep 25, 2024. It is now read-only.

Releases: SecondThundeR/shikithon

v2.1.0 (Time to cooldown)

10 Nov 00:52
cd3fe84
Compare
Choose a tag to compare

Changelog

  • Добавлена поддержка библиотек pyrate-limiter и backoff (Более стабильная работа с ограничениями запросов к API)
  • Добавлена query-строка при выводе ссылки в логах
  • Повышен лимит размера лога для ротации
  • Изменены названия некоторых экспешенов
  • Удалена библиотека ratelimit

Full Changelog: v2.0.1...v2.1.0

v2.0.1

08 Nov 11:20
Compare
Choose a tag to compare

Changelog:

  • Добавлен вывод количества одновременных запросов при использовании multiple_requests

Изменения в README:

  • Добавлена ссылка на гайд по миграции с версии 1.x.x
  • Обновлен пример кода с использованием multiple_requests (Используются 3 разных эндпоинта и добавлена пропавшая "висячая" запятая для распаковки одной переменной из массива)
  • Исправлен пример кода для отключения логгирования
  • Исправлены опечатки

Full Changelog: v2.0.0...v2.0.1

v2.0.0 (Make me asynchronous)

06 Nov 23:36
Compare
Choose a tag to compare

Это второе релизное обновление, последующие обновления будут выходить в качестве патчей и минорных обновлений
до следующего мажорного изменения

Breaking Changes

  • Многочисленные изменения делают старый код неактуальным и в связи с отстуствием обратной совместимости, после обновления необходимо выполнить миграцию. Информация о миграции с версии 1.x.x на 2.0.0 находится здесь
  • Теперь этот и новые ченджлоги будут включать себя лишь изменения с внешней стороны (внутренние изменения можно посмотреть по ссылке сравнения ниже)
  • Обновлена логика возвращения данных для некоторых методов. Теперь некоторые методы возвращают данные по умолчанию, если API возвращает ничего или произошла ошибка (Пустые списки, конкретные значения булеанов и т.д.)

Changelog:

  • Добавлена поддержка асинхронности и ресурсов API в качестве отдельных классов (см. новые примеры кода в README)
  • Добавлена поддержка выполнения нескольких API запросов за раз
  • Добавлен флаг для отключения логирования (см. раздел "Пара уточнений по использованию" в README)
  • Обновлены зависимости (Добавлен aiohttp, убран requests)
  • Исправлены некоторые модели объектов из-за которых многие методы API возвращали ошибку валидации
  • Исправлена ссылка на эндпоинт /api/ranobe
  • Исправлена документация некоторых методов API
  • Прочие исправления и улучшения

Full Changelog: v1.0.2...v2.0.0

v1.0.2

05 Sep 09:53
Compare
Choose a tag to compare

Changelog:

pyproject.toml:

  • Исправлена версия библиотеки

Full Changelog: v1.0.1...v1.0.2

v1.0.1 (Very small fix)

03 Sep 19:31
Compare
Choose a tag to compare

Changelog:

api.py:

  • Исправлен текст в декораторе метода convert_comment_review

Full Changelog: v1.0.0...v1.0.1

v1.0.0 (Stage v.2 completed)

03 Sep 19:08
Compare
Choose a tag to compare

Это первое релизное обновление, последующие обновления будут выходить в качестве патчей и минорных обновлений
до следующего мажорного изменения

Breaking Changes

  • Методы теперь больше не требуют передачи значений Enum. Теперь они используются лишь для валидации параметров, которые теперь являются обычными строками

Теперь пользователи могут вводить обычные строки, как при регулярном запросе, без необходимости импорта необходимого енама. При провале валидации, loguru выведет на экран сообщение с уровнем warning, которое покажет какая строка не прошла проверку и какие варианты для нужного параметра доступны

Changelog:

api.py:

  • Завершено добавление поддержки v.2 методов API:
    • /api/v2/topics/:topic_id/ignore
    • /api/v2/users/:user_id/ignore
    • /api/v2/abuse_requests/...
    • /api/v2/user_rates/...

Метод /api/v2/episode_notifications не был добавлен из-за "приватности" метода

  • Добавлена поддержка декоратора @method_endpoint(...) для вынесения логгирования текущего эндпоинта метода
  • Убрано явное объявление scope=... в декораторе @protected_method(...)
  • Убраны некоторые явные объявления типов (Переход к инференции типов)
  • Обновлены все зависимости методов, в которых произошло обновление
  • Исправлена документация

utils.py:

  • Добавлены новые функции:
    • get_image_data - логика по получению данных с картинки, перенесённая с api.py
    • validate_enum_params - валидация строковых значений с данными из енамов, которые соответствуют их параметрам
  • Добавлена проверка на поле is_ignored в validate_query_number
  • Убраны проверки на Enum в generate_query_dict и generate_data_dict

decorators.py:

  • Добавлена функция для логгирования текущего эндпоинта метода
  • Изменены тайпинги и названия функций-врапперов

enums/...:

  • Добавлен EnhancedEnum с некоторыми удобными методами для утилит
  • Обновлены все текущие енамы с использованием EnhancedEnum
  • Смёржены типы топиков в enums/topic.py
  • Добавлены новые енамы в enums/user_rate.py

exceptions.py:

  • Пересена часть логики по выводу сообщений экепшенов
  • Удалены некоторые лишние классы эксепшенов

endpoints.py:

  • Удалены некоторые тайпинги и Enum в типах

models/...:

  • Добавлена новая модель abuse_response.py
  • Исправлена модель favorites.py (#2, спасибо @ren3104)
  • Исправлен тип поля в user_rate.py

pyproject.toml:

  • Обновлены версии pydantic и pylint

.github/workflows/pypi-publish.yml:

  • Изменена версия pypa/gh-action-pypi-publish

.pre-commit-config.yaml:

  • Версия pre-commit-hooks обновлена до версии 4.3.0

README.md:

  • Обновлено содержание (плейсхолдер, пример использования, и т.д.)

assets/logo.png:

  • Обновлен логотип для README.md

Full Changelog: v0.9.0...v1.0.0

v0.9.0 (Stage v.1 completed)

05 Aug 12:39
Compare
Choose a tag to compare

Breaking Changes

  • Тип поля is_ignored в модели user.py изменен с Optional[str] на Optional[bool]

Changelog:

api.py:

  • Завершено добавление поддержки v.1 методов API:
    • Добавлена поддержка /api/user_rates/:type/cleanup и /api/user_rates/:type/reset

enums/user_rate.py

  • Добавлены перечисления для методов user_rates (v.1)

pyproject.toml:

  • Обновлен pylint до версии 2.14.5

Full Changelog: v0.8.0...v0.9.0

0.8.0 (Is there an anime rickroll?)

18 Jul 00:13
Compare
Choose a tag to compare

Breaking Changes

  • Перечисления video.py изменены на:
    • Kind -> VideoKind
    • Hosting -> VideoHosting

Changelog:

api.py:

  • Добавлена поддержка /api/animes/.../videos
  • Добавлена поддержка фотографий в виде URL в методе для /api/user_images
  • Добавлено больше точек для логгирования экспешенов

endoints.py:

  • Обновлена документация метода anime_video

models/user_rate.py

  • Обновлена документация

models/video.py

  • Обновлена документация и типизация

pyproject.toml:

  • Обновлен pre-commit до версии 2.20.0 и добавлена библиотека validators

README.md:

  • Обновлен текст насчет зависимостей проекта

Full Changelog: v0.7.0...v0.8.0

0.7.0 (Time for some files)

08 Jul 20:06
Compare
Choose a tag to compare

Changelog:

api.py:

  • Добавлена поддержка /api/user_images (На данный момент поддерживается только отправление локальных файлов)
  • Добавлена поддержка бинарных файлов в запросах (В частности, изображений и прочего)
  • Флаг json_logging переименован в output_logging

models/created_user_image.py

  • Первое добавление

pyproject.toml:

  • Обновлены pylint до версии 2.14.4 и requests до версии 2.28.1

.pylintrc:

  • Отключены некоторые правила, которых уже нет в последней версии PyLint

CONTRIBUTING.md, README.md:

  • Фикс стилизации

Остальное:

  • Этот и последующие релизы больше не будут поставляться билдом библиотеки. При необходимости, собрать библиотеку из исходного кода можно через команду poetry build

Full Changelog: v0.6.0...v0.7.0

0.6.0 (Great Refactoring Saga)

05 Jun 13:13
Compare
Choose a tag to compare

Breaking changes

  • Все неопциональные типы возврата данных заменены на опциональные для всех методов для взаимодействия с API

Changelog:

README.md:

  • Добавлен комментарий насчет уведомления от сред разработки IntelliJ насчет параметра align у div
  • Добавлен базовый тег alt для картинки с логотипом

api.py:

  • Добавлена поддержка /api/topics
  • Добавлена поддержка унифицированного валидатора данных от сервера
  • Добавлено обновление токена на инициализации конфигурации
  • Обновлен импорт FavoriteLinkedType
  • Убрано лишнее описание or None if list is empty из документации
  • Убрана проверка и замечание по поводу передачи юзернеймов для создания и удаления друзей

endpoints.py:

  • Метод topic_updates переименован в updates_topics
  • Обновлен импорт FavoriteLinkedType

enums/favorite.py:

  • LinkedType переименован в FavoriteLinkedType для предотвращения коллизий с LinkedType в enums/topic.py

enums/topic.py

  • Первое добавление

models/topic.py:

  • Добавлены опциональные типы для некоторых полей

utils.py:

  • Добавлен метод validate_return_data для унифицированного валидирования данных возврата от сервера
  • Убрана проверка на True если data является булеаном в генерации Query-словаря

Full Changelog: v0.5.0...v0.6.0