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

Uploaded Source

Built Distribution

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

Uploaded Python 3

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

Hashes for shiki4py-0.2.2.tar.gz
Algorithm Hash digest
SHA256 7b7ee044a612a2c18f8abf99fd36cc28d5c0e43781d2fc68ecb7203247e3985a
MD5 19fa9c168883544ac70a0ba54117c0eb
BLAKE2b-256 85f1af014924dc89641abe799d9f54db6f1e5577e16c32ee9745100b4bb0dbcc

See more details on using hashes here.

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

Hashes for shiki4py-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 667eb9513c4c5ce96582703d4f0edeffbc4c78e60841058cfbf24cf61efee580
MD5 9b45706d061a2a8ad5c0de50a660fcea
BLAKE2b-256 18b8d68dc93aa5ee71a883e3039b7a68a1da811eb2b3d37c27656f3dcf4cb43f

See more details on using hashes here.

Provenance

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