Skip to content

Commit 4d64e98

Browse files
authored
feat: support auth_ user API endpoint (#24)
* feat: support auth_ user API endpoint * fix: resolve black and isort conflict * fix: fix patch in unittest * fix: drop parenthesized-context-managers * fix: add parameter validation
1 parent e1925ed commit 4d64e98

File tree

6 files changed

+577
-465
lines changed

6 files changed

+577
-465
lines changed

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ lint-fix:
1515

1616
.PHONY: test
1717
test:
18-
poetry run pytest
18+
poetry run pytest --cov=./jquantsapi tests/

README.md

+43-6
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,22 @@ J-QuantsやAPI仕様についての詳細を知りたい方は [公式ウェブ
77
現在、J-Quants APIはベータ版サービスとして提供されています。
88

99
## 使用方法
10+
1011
pip経由でインストールします。
1112

1213
```shell
1314
pip install jquants-api-client
1415
```
1516

17+
### J-Quants API の利用
18+
19+
To use J-Quants API, you need to "Applications for J-Quants API" from [J-Quants API Web site](https://jpx-jquants.com/?lang=en#jquants-api).
20+
21+
J-Quants APIを利用するためには[J-Quants API の Web サイト](https://jpx-jquants.com/#jquants-api) から「J-Quants API申し込み」が必要になります。
1622

17-
### J-Quants API のリフレッシュトークン取得
23+
jquants-api-client-python を使用するためには「J-Quants API ログインページで使用するメールアドレスおよびパスワード」または「J-Quants API メニューページから取得したリフレッシュトークン」が必要になります。必要に応じて下記のWebサイトより取得してください。
1824

19-
J-Quants APIを利用するためには [J-Quants API の Web サイト](https://jpx-jquants.com/#jquants-api) から取得できる
20-
リフレッシュトークンが必要になります。
25+
[J-Quants API ログインページ](https://application.jpx-jquants.com/)
2126

2227
### サンプルコード
2328

@@ -26,15 +31,18 @@ from datetime import datetime
2631
from dateutil import tz
2732
import jquantsapi
2833

29-
my_refresh_token:str = "*****"
30-
cli = jquantsapi.Client(refresh_token=my_refresh_token)
34+
my_mail_address:str = "*****"
35+
my_password: str = "*****"
36+
cli = jquantsapi.Client(mail_address=my_mail_address, password=my_password)
3137
df = cli.get_price_range(
3238
start_dt=datetime(2022, 7, 25, tzinfo=tz.gettz("Asia/Tokyo")),
3339
end_dt=datetime(2022, 7, 26, tzinfo=tz.gettz("Asia/Tokyo")),
3440
)
3541
print(df)
3642
```
43+
3744
APIレスポンスがDataframeの形式で取得できます。
45+
3846
```shell
3947
Code Date ... AdjustmentClose AdjustmentVolume
4048
0 13010 2022-07-25 ... 3630.0 8100.0
@@ -57,25 +65,54 @@ APIレスポンスがDataframeの形式で取得できます。
5765
## 対応API
5866

5967
### ラッパー群 
68+
6069
J-Quants API の各APIエンドポイントに対応しています。
70+
71+
- get_refresh_token
6172
- get_id_token
6273
- get_listed_info
6374
- get_listed_sections
6475
- get_market_segments
6576
- get_prices_daily_quotes
6677
- get_fins_statements
6778
- get_fins_announcement
79+
6880
### ユーティリティ群
81+
6982
日付範囲を指定して一括でデータ取得して、取得したデータを結合して返すようなユーティリティが用意されています。
83+
7084
- get_list
7185
- get_price_range
7286
- get_statements_range
7387

88+
## 設定
89+
90+
認証用のメールアドレス/パスワードおよびリフレッシュトークンは設定ファイルおよび環境変数を使用して指定することも可能です。
91+
設定は下記の順に読み込まれ、設定項目が重複している場合は後に読み込まれた値で上書きされます。
92+
93+
1. `/content/drive/MyDrive/drive_ws/secret/jquants-api.toml` (Google Colabのみ)
94+
2. `${HOME}/.jquants-api/jquants-api.toml`
95+
3. `jquants-api.toml`
96+
4. `os.environ["JQUANTS_API_CLIENT_CONFIG_FILE"]`
97+
5. `${JQUANTS_API_MAIL_ADDRESS}`, `${JQUANTS_API_PASSWORD}`, `${JQUANTS_API_REFRESH_TOKEN}`
98+
99+
### 設定ファイル例
100+
101+
`jquants-api.toml` は下記のように設定します。
102+
103+
```toml
104+
[jquants-api-client]
105+
mail_address = "*****"
106+
password = "*****"
107+
refresh_token = "*****"
108+
```
74109

75110
## 動作確認
76-
Python 3.10で動作確認を行っています。
111+
112+
Google Colab および Python 3.10 で動作確認を行っています。
77113
J-Quants APIは現在β版のため、本ライブラリも今後仕様が変更となる可能性があります。
78114

79115
## 開発
116+
80117
J-Quants API Clientの開発に是非ご協力ください。
81118
Github上でIssueやPull Requestをお待ちしております。

0 commit comments

Comments
 (0)