This repository has been archived by the owner on Sep 25, 2024. It is now read-only.
Releases: SecondThundeR/shikithon
Releases · SecondThundeR/shikithon
0.5.0 (More methods?)
Breaking changes
- Метод
message_mark_read
переименован вmark_messages_read
Changelog:
- Добавлены новые методы:
/api/publishers
,/api/ranobe
,/api/stats/active_users
,/api/studios
,/api/styles
- Добавлен новый эндпоинт:
/api/styles/preview
(style_preview
) - Добавлены новые перечисления:
ranobe.py
,style.py
- Добавлены новые модели:
publisher.py
,style.py
- Переименован
stats
наactive_users
вendpoints.py
- Изменен уровень логирования для сообщения об RPS кулдауне
- Изменена проверка
if response
наif not response
в некоторых местах - Исправлена документация
Full Changelog: v0.4.2...v0.5.0
0.4.2 (Some fixes)
Changelog:
- Добавлен внутренний метод для запросов, который обновляет токены для тех методов, которые используют часть функционала защищенного метода (Например: получение личного
mylist
в методах/api/animes
и/api/mangas
с помощью токена)
Full Changelog: v0.4.1...v0.4.2
0.4.1 (To None or not to None)
Breaking changes
- Теперь все методы, которые возвращают список, возвращают
None
, если элементов в списке не оказалось
Changelog:
- Изменен способ логирования данных из запроса (Добавлен параметр
json_logging
, который по умолчанию True, в методе_request
- отвечает за логгирование ответа) - Отключено логирование запроса к токенам (Хранить токены в логах это конечно мда)
- Обновлен Pydantic до 1.9.1 версии
- Исправлено README.md
- Исправлены все
Note:
на**Note:**
- Исправлены некоторые опечатки в документации
Full Changelog: v0.4.0...v0.4.1
0.4.0 (How about TV and Movie animes?)
Breaking changes
- Добавлена поддержка режимов группировки/вычитания/комбинирования параметров для /api/animes и /api/mangas (В связи с этим, в методах и перечислениях произошли изменения):
- В методе
animes
появилась поддержка списков значений для параметровkind
,status
,season
,duration
,rating
иmy_list
- В методе
animes
появилась поддержка одинарных значений для параметровgenre
,studio
,franchise
,ids
иexclude_ids
- В перечислениях
anime.py
иmanga.py
добавлены противоположные значения для вычитания/комбинирования
- В методе
- Исправлена поддержка
mylist
: API получает данные с корректным именем параметра и добавлена проверка на ограниченный режим для добавления хедера с авторизационными данными - Изменены названия перечислений
anime.py
:Order
->AnimeOrder
Kind
->AnimeKind
Status
->AnimeStatus
Duration
->AnimeDuration
Rating
->AnimeRating
Censorship
->AnimeCensorship
MyList
->AnimeList
- Теперь, если
page
,limit
илиscore
выходят за рамки высшей границы, то они автоматически устанавливаются на число высшей границы - Переименована модель
person.py
вpeople.py
и сам классPerson
вPeople
(Все соответствующие места, использовавашие данную модель, изменены)
Changelog:
- Добавлены методы для
/api/genres
,/api/mangas
,/api/messages
,/api/people
- Добавлены перечисления
manga.py
- Добавлены подмодели
people_works
иpeople_roles
дляpeople.py
- Добавлен новый статус
NO_CONTENT
(Код: 204) - Добавлены отстуствующие значения
NOT_RELEASED
вAnimeStatus
иCREATED_AT
,CREATED_AT_DESC
вAnimeOrder
- Добавлен новый метод
query_numbers_validator
в классеUtils
для удобной проверки нескольких чисел - Изменен формат кэшированного JSON конфига
- Изменены все сообщения "Executing API method" (Указаны краткие эндпоинты методов)
- Исправлены отработки списков в функции
generate_query_dict
иgenerate_data_dict
- Исправлена некоторая документация и пару сообщений в логах
- Убрано упоминание проверяемой функции в декораторе
protected_method
- Возможно что-то еще...
Full Changelog: v0.3.0...v0.4.0
0.3.0 (Again new methods and typing fixes)
Breaking changes
- Переименовано перечисление
Kind
->PersonKind
файлаperson.py
, так как оно конфликтовало с перечислениемKind
вanime.py
Changelog:
- Добавлены методы для
/api/favorites
,/api/forums
и/api/friends
- Изменены все
Union[…, None]
наOptional[…]
для лучшего отображения необязательных параметров - Разделены эндпоинты для создания и уничтожения избранного
- Обновлен
.pre-commit-config.yaml
(Добавлена настройкаdefault_language_version
и обновлена версия репозиторияpre-commit-hooks
) - Исправлена некоторая документация
Full Changelog: v0.2.0...v0.3.0
0.2.0 (New methods and improvements)
Breaking Changes
- Методы с разбиением на страницы теперь возвращают
None
вместо[]
, если на странице отстуствуют данные - Методы POST/PATCH/DELETE, которые раньше возвращали кортеж из булеана и объекта/строки, теперь возвращают объект или
None
, если API вернул ошибку
Changelog:
- Добавлены методы для
/api/dialogs
- Добавлена модель для диалогов:
dialogs.py
- Изменен тип параметра
dialog_id
в методеEndpoints.dialog
- Изменены уровни логирования у некоторых методов
- Изменена проверка на
request_type
(if изменен на if/elif/else) - Изменена проверка
'notice' in response
в сторону упрощения - Испралено название хука pylint
- Исправлена документация и типы переменных во многих местах
- Удалено "ложное" логирование у методов с разбиением на страницы
- Удалено избыточное логирование у некоторых POST/PATCH/DELETE методов
- Удалена проверка на
response is None
- Удален
logger.critical
в методе получения токена
Full Changelog: v0.1.2...v0.2.0
0.1.2 (Logging improvement)
Changelog:
- Изменен формат вывода логов на экран и в файл
- Добавлена подробная информация о вызываемых методах API в логах
- Добавлено логирование метода
token_expire()
Full Changelog: v0.1.1...v0.1.2
0.1.1 (Some fixes)
Changelog:
- Исправлено поле модели
anime.py
- Изменен текст логов при запросах
Full Changelog: v0.1.0...v0.1.1
0.1.0 (Major rewrite, yay)
Breaking changes
- Добавлена возможность использовать библиотеку без полного файла конфигурации (см. README в секции примеры использования)
- Убрана необходимость в токенах в полном файле конфигурации (см. README для проверки структуры)
- Некоторые названия существующих методов для API именены (Немного похоже на стиль названия методов на Ruby):
get_achievements
->achievements
get_list_of_animes
->animes
get_anime
->anime
get_anime_creators
->anime_creators
get_list_of_similar_animes
->similar_animes
get_anime_related_content
->anime_related_content
get_anime_screenshots
->anime_screenshots
get_anime_franchise_tree
->anime_franchise_tree
get_anime_external_links
->anime_external_links
get_anime_topics
->anime_topics
get_bans_list
->bans
get_current_calendar
->calendar
get_current_user
->current_user
Changelog:
- Добавлено множество методов для API эндпоинтов:
- Achievements
- Animes
- Appears
- Bans
- Calendars
- Characters
- Clubs
- Comments
- Constants
- Users
- Добавлены Github Actions для отправки нового релиза на PyPI
- Добавлены pre-commit хуки
- Добавлен .pylintrc от Google
- Добавлен CONTRIBUTING.md
- Добавлены новые зависимости (ratelimit, loguru)
- Добавлена система сохранения конфигурации во кэш-файл
- Добавлены декораторы для защищенных методов
- Добавлена проверка на
scopes
в защищенных методах (Необходимыйscope
передается в параметры декоратора для защищенного метода) - Добавлен отдельный классы для эндпоинтов, утилит и исключений
- Добавлены новые модели и перечисления
- Обновлен текст README.md
- Обновлены некоторые модели
- Импорт вида
from shikithon.api import API
заменен наfrom shikithon import API
Однако, импорты моделей и перечислений все также получаются по полному пути
- Pipenv изменен на Poetry
- Изменена логика проверки конфигурации
- Все старые файлы моделей и перечислений переименованы в
snake_case
- Множество исправлений и изменений во внутренней работе класса
API
Full Changelog: v0.0.3...v0.1.0
0.0.3 (Bans and Calendar methods)
Changelog:
- Добавлены ссылки и методы для
/api/bans
и/api/calendars
- Некоторые поля помечены как Optional в
Ban.py
,Comment.py
иUser.py
Пометка: Скорее всего полеИсправлено в #7is_summary
вComment.py
нуждается в удалении (См. shikimori/shikimori@ed0b6f2)
- Переименованы некоторые переменные (Убраны нижние подчеркивание, и т. д.)
Calendar.py
переименован вCalendarEvent.py