Skip to main content

Api client for Shikimori

Project description

Shiki4py

PyPI

Клиент для 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


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 hashes)

Uploaded Source

Built Distribution

shiki4py-0.2.2-py3-none-any.whl (7.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page