Skip to content
This repository was archived by the owner on Dec 27, 2024. It is now read-only.

kk6/python-annict

Folders and files

NameName
Last commit message
Last commit date
Jan 11, 2019
Apr 28, 2021
Oct 31, 2019
Jan 10, 2019
Jan 10, 2019
Oct 31, 2019
Nov 16, 2017
Jan 10, 2019
Jan 10, 2019
Dec 25, 2018
Aug 11, 2016
Jan 11, 2019
May 10, 2021
Apr 7, 2021
Dec 25, 2018
Jan 10, 2019

Repository files navigation

python-annict

Annict API wrapper for Python

Codacy Badge CircleCI codecov PyPI License Code style: black

python-annict officially supports Python 3.6 or higher.

Installation

pip install annict

Quickstart

Authentication

Acquire the URL for authentication code.

>>> from annict.auth import OAuthHandler
>>> handler = OAuthHandler(client_id='Your client ID', client_secret='Your client secret')
>>> url = handler.get_authorization_url(scope='read write')
>>> print(url)

Open the browser and access the URL you obtained, the authentication code will be displayed. It will be passed to the handler.authenticate() 's argument to get the access token.

>>> handler.authenticate(code='Authentication code')
>>> print(handler.get_access_token())

Note that this authentication flow is unnecessary when issuing a personal access token on Annict and using it.

See: Annict API: 個人用アクセストークンが発行できるようになりました

Hello world

>>> from annict.api import API
>>> annict = API('Your access token')
>>> results = annict.works(filter_title="Re:ゼロから始める異世界生活")
>>> print(results[0].title)
Re:ゼロから始める異世界生活

Cache

For now, we do not have our own cache system. However, caching is also important to reduce the load on AnnictAPI.

So I introduce a cache plugin for requests library called requests_cache.

Install with pip.

pip insall requests_cache

requests_cache is very easy to use.

>>> import requests_cache
>>> requests_cache.install_cache(cache_name='annict', backend='memory', expire_after=300)
>>> # At first, from Annict API.
>>> api.me()
>>> # You can get results from cache, if it is within the expiration time.
>>> api.me()

For more information: Requests-cache documentation

Documentation