Skip to main content

Annict API for python

Project description

python-annict

Annict API wrapper for Python

Codacy Badge CircleCI 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

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

annict-0.7.0.tar.gz (11.1 kB view hashes)

Uploaded Source

Built Distribution

annict-0.7.0-py3-none-any.whl (45.9 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