<commit_before># python-annict
Annict API wrapper for python

[![CircleCI](https://circleci.com/gh/kk6/python-annict.svg?style=svg)](https://circleci.com/gh/kk6/python-annict)

python-annict は Python3.6 以上をサポートしています。

## インストール

## 使い方

### 認証

認証コード取得用のURLを生成

```python
>>> 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)
```

URLをブラウザで開いて認証コードを表示します。それを `handler.authenticate()` の引数に渡してアクセストークンを取得します。

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

### API


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

### キャッシュ

独自のキャッシュシステムは実装していませんが、[requests_cache](https://github.com/reclosedev/requests-cache) というrequests用キャッシュプラグインとの併用を強くおすすめします。

##### 使用例

```python
>>> import requests_cache
>>> # 有効期限300秒でメモリにキャッシュするよう設定
>>> requests_cache.install_cache(cache_name='annict', backend='memory', expire_after=300)
>>> # 最初のリクエストはAPIから
>>> api.me()<commit_msg>Update README about personal access token.<commit_after># python-annict
Annict API wrapper for python

[![CircleCI](https://circleci.com/gh/kk6/python-annict.svg?style=svg)](https://circleci.com/gh/kk6/python-annict)

python-annict は Python3.6 以上をサポートしています。

## インストール

## 使い方

### 認証

認証コード取得用のURLを生成

```python
>>> 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)
```

URLをブラウザで開いて認証コードを表示します。それを `handler.authenticate()` の引数に渡してアクセストークンを取得します。

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

なお、Annict上で個人用アクセストークンを発行しそれを使用する場合はこの認証フローは不要です。

参照： [Annict API: 個人用アクセストークンが発行できるようになりました](http://blog.annict.com/post/157138114218/personal-access-token)

### API


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

### キャッシュ

独自のキャッシュシステムは実装していませんが、[requests_cache](https://github.com/reclosedev/requests-cache) というrequests用キャッシュプラグインとの併用を強くおすすめします。

##### 使用例

```python
>>> import requests_cache
>>> # 有効期限300秒でメモリにキャッシュするよう設定
>>> requests_cache.install_cache(cache_name='annict', backend='memory', expire_after=300)
>>> # 最初のリクエストはAPIから
>>> api.me()
{'fraction_non_alphanumeric': 0.16634799235181644, 'fraction_numerical': 0.0130019120458891, 'mean_word_length': 7.357827476038339, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 93, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3644336', 'n_tokens_mistral': 1253, 'n_tokens_neox': 1167, 'n_words': 141}