Annict API wrapper for Python
python-annict officially supports Python 3.6 or higher.
pip install annict
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: 個人用アクセストークンが発行できるようになりました
>>> from annict.api import API
>>> annict = API('Your access token')
>>> results = annict.works(filter_title="Re:ゼロから始める異世界生活")
>>> print(results[0].title)
Re:ゼロから始める異世界生活
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