Api client for Shikimori
Project description
Shiki4py
Клиент для api Shikimori.
Мой профиль на шики https://shikimori.one/Ren3104
Особенности
- Поддержка api v1 и v2
- Ограничения 5rps и 90rpm
- Система логирования
- OAuth2 авторизация
- Несколько вариантов хранения токенов для авторизации: .ini, .env
- Функция безопасного создания комментариев
Установка
pip install shiki4py
Использование
from shiki4py import Client
from pprint import pprint
# Клиент без авторизации
client = Client('APP_NAME')
# Клиент с авторизацией
client = Client('APP_NAME',
'CLIENT_ID',
'CLIENT_SECRET')
clubs = client.get('clubs', params={
'search': 'Детектив Конан'
})
pprint(clubs)
# [{'comment_policy': 'free',
# 'id': 3483,
# 'is_censored': False,
# 'join_policy': 'free',
# 'logo': {'main': '/system/clubs/main/3483.gif?1637694999',
# 'original': '/system/clubs/original/3483.gif?1637694999',
# 'x48': '/system/clubs/x48/3483.gif?1637694999',
# 'x73': '/system/clubs/x73/3483.gif?1637694999',
# 'x96': '/system/clubs/x96/3483.gif?1637694999'},
# 'name': 'Детектив Конан'}]
По умолчанию клиент сохраняет токены авторизации в файле конфигурации INI, но при инициализации можно выбрать другой вариант хранения токенов, либо создать свой вариант унаследовав базовый класс и переопределив его методы.
from shiki4py import Client
from shiki4py.store import BaseTokenStore
from shiki4py.store.env import EnvTokenStore
class MyTokenStore(BaseTokenStore):
...
client = Client('APP_NAME',
'CLIENT_ID',
'CLIENT_SECRET',
#store=EnvTokenStore()
store=MyTokenStore())
Зависимости
Обязательные:
- requests [>=2.20] - для HTTP запросов
- requests-ratelimiter [>=0.3.1] - для ограничения количества запросов
Дополнительные:
- python-dotenv [>=0.20.0] - при иморте
shiki4py.store.env
для сохранения токенов авторизации в переменные среды
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
shiki4py-0.2.2.tar.gz
(5.5 kB
view details)
Built Distribution
File details
Details for the file shiki4py-0.2.2.tar.gz
.
File metadata
- Download URL: shiki4py-0.2.2.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b7ee044a612a2c18f8abf99fd36cc28d5c0e43781d2fc68ecb7203247e3985a |
|
MD5 | 19fa9c168883544ac70a0ba54117c0eb |
|
BLAKE2b-256 | 85f1af014924dc89641abe799d9f54db6f1e5577e16c32ee9745100b4bb0dbcc |
Provenance
File details
Details for the file shiki4py-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: shiki4py-0.2.2-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 667eb9513c4c5ce96582703d4f0edeffbc4c78e60841058cfbf24cf61efee580 |
|
MD5 | 9b45706d061a2a8ad5c0de50a660fcea |
|
BLAKE2b-256 | 18b8d68dc93aa5ee71a883e3039b7a68a1da811eb2b3d37c27656f3dcf4cb43f |