kabukit 0.8.0__py3-none-any.whl → 0.8.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- kabukit/cli/get.py +10 -5
- kabukit/utils/concurrent.py +1 -1
- {kabukit-0.8.0.dist-info → kabukit-0.8.1.dist-info}/METADATA +9 -6
- {kabukit-0.8.0.dist-info → kabukit-0.8.1.dist-info}/RECORD +6 -6
- {kabukit-0.8.0.dist-info → kabukit-0.8.1.dist-info}/WHEEL +0 -0
- {kabukit-0.8.0.dist-info → kabukit-0.8.1.dist-info}/entry_points.txt +0 -0
kabukit/cli/get.py
CHANGED
@@ -28,7 +28,7 @@ Quiet = Annotated[
|
|
28
28
|
|
29
29
|
|
30
30
|
@app.async_command()
|
31
|
-
async def info(code: Code = None) -> None:
|
31
|
+
async def info(code: Code = None, *, quiet: Quiet = False) -> None:
|
32
32
|
"""上場銘柄一覧を取得します。"""
|
33
33
|
from kabukit.core.info import Info
|
34
34
|
from kabukit.jquants.client import JQuantsClient
|
@@ -36,7 +36,8 @@ async def info(code: Code = None) -> None:
|
|
36
36
|
async with JQuantsClient() as client:
|
37
37
|
df = await client.get_info(code)
|
38
38
|
|
39
|
-
|
39
|
+
if code or not quiet:
|
40
|
+
typer.echo(df)
|
40
41
|
|
41
42
|
if code is None:
|
42
43
|
path = Info(df).write()
|
@@ -74,7 +75,9 @@ async def _fetch(
|
|
74
75
|
typer.echo("中断しました。")
|
75
76
|
raise typer.Exit(1) from None
|
76
77
|
|
77
|
-
|
78
|
+
if not quiet:
|
79
|
+
typer.echo(df)
|
80
|
+
|
78
81
|
path = cls(df).write()
|
79
82
|
typer.echo(f"全銘柄の{message}を '{path}' に保存しました。")
|
80
83
|
|
@@ -126,7 +129,9 @@ async def documents(*, quiet: Quiet = False) -> None:
|
|
126
129
|
typer.echo("中断しました。")
|
127
130
|
raise typer.Exit(1) from None
|
128
131
|
|
129
|
-
|
132
|
+
if not quiet:
|
133
|
+
typer.echo(df)
|
134
|
+
|
130
135
|
path = Documents(df).write()
|
131
136
|
typer.echo(f"書類一覧を '{path}' に保存しました。")
|
132
137
|
|
@@ -135,7 +140,7 @@ async def documents(*, quiet: Quiet = False) -> None:
|
|
135
140
|
async def all_(code: Code = None, *, quiet: Quiet = False) -> None:
|
136
141
|
"""上場銘柄一覧、財務情報、株価情報、書類一覧を連続して取得します。"""
|
137
142
|
typer.echo("上場銘柄一覧を取得します。")
|
138
|
-
await info(code)
|
143
|
+
await info(code, quiet=quiet)
|
139
144
|
|
140
145
|
typer.echo("---")
|
141
146
|
typer.echo("財務情報を取得します。")
|
kabukit/utils/concurrent.py
CHANGED
@@ -51,7 +51,7 @@ async def collect[R](
|
|
51
51
|
tasks = {asyncio.create_task(run(awaitable)) for awaitable in awaitables}
|
52
52
|
|
53
53
|
try:
|
54
|
-
|
54
|
+
for future in asyncio.as_completed(tasks): # async for (python 3.13+)
|
55
55
|
with contextlib.suppress(asyncio.CancelledError):
|
56
56
|
yield await future
|
57
57
|
finally:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: kabukit
|
3
|
-
Version: 0.8.
|
3
|
+
Version: 0.8.1
|
4
4
|
Summary: A Python toolkit for Japanese financial market data, supporting J-Quants and EDINET APIs.
|
5
5
|
Keywords: J-Quants,EDINET,financial data,stock market,investment,toolkit,finance,trading,data analysis,polars
|
6
6
|
Author: daizutabi
|
@@ -29,6 +29,7 @@ License: MIT License
|
|
29
29
|
Classifier: Development Status :: 4 - Beta
|
30
30
|
Classifier: Programming Language :: Python
|
31
31
|
Classifier: Programming Language :: Python :: 3 :: Only
|
32
|
+
Classifier: Programming Language :: Python :: 3.12
|
32
33
|
Classifier: Programming Language :: Python :: 3.13
|
33
34
|
Classifier: Programming Language :: Python :: 3.14
|
34
35
|
Classifier: License :: OSI Approved :: MIT License
|
@@ -50,7 +51,7 @@ Requires-Dist: tenacity>=9.1.2
|
|
50
51
|
Requires-Dist: tqdm>=4.67.1
|
51
52
|
Requires-Dist: typer>=0.19.2
|
52
53
|
Requires-Dist: tzdata ; sys_platform == 'win32'
|
53
|
-
Requires-Python: >=3.
|
54
|
+
Requires-Python: >=3.12
|
54
55
|
Project-URL: Changelog, https://github.com/daizutabi/kabukit/releases
|
55
56
|
Project-URL: Documentation, https://daizutabi.github.io/kabukit/
|
56
57
|
Project-URL: Homepage, https://daizutabi.github.io/kabukit/
|
@@ -75,7 +76,7 @@ kabukit は、 [J-Quants API](https://jpx-jquants.com/) および [EDINET API](h
|
|
75
76
|
|
76
77
|
## インストール
|
77
78
|
|
78
|
-
`pip` または `uv` を使ってインストールします。Python バージョンは 3.
|
79
|
+
`pip` または `uv` を使ってインストールします。Python バージョンは 3.12 以上が必要です。
|
79
80
|
|
80
81
|
```bash
|
81
82
|
pip install kabukit
|
@@ -85,7 +86,9 @@ pip install kabukit
|
|
85
86
|
|
86
87
|
kabukit は、 [J-Quants API](https://jpx-jquants.com/) および [EDINET API](https://disclosure2dl.edinet-fsa.go.jp/guide/static/disclosure/WZEK0110.html) からデータを取得するための便利なコマンドラインインターフェース(CLI)を提供します。
|
87
88
|
|
88
|
-
|
89
|
+
具体的な使い方は、次の利用ガイドを参照してください。
|
90
|
+
|
91
|
+
- [コマンドラインインターフェースの使い方](https://daizutabi.github.io/kabukit/guides/cli/)
|
89
92
|
|
90
93
|
## ノートブックから使う
|
91
94
|
|
@@ -93,8 +96,8 @@ kabukit は、コマンドラインだけでなく、Python コードからも A
|
|
93
96
|
|
94
97
|
具体的な使い方は、以下の利用ガイドを参照してください。
|
95
98
|
|
96
|
-
- [
|
97
|
-
- [
|
99
|
+
- [J-Quants API の使い方](https://daizutabi.github.io/kabukit/guides/jquants/)
|
100
|
+
- [EDINET API の使い方](https://daizutabi.github.io/kabukit/guides/edinet/)
|
98
101
|
|
99
102
|
<!-- Badges -->
|
100
103
|
|
@@ -10,7 +10,7 @@ kabukit/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
10
|
kabukit/cli/app.py,sha256=B5aiSWDTmouiz4aagBbHL67z4bdTqUDGGGQkDxlaCyU,577
|
11
11
|
kabukit/cli/auth.py,sha256=KOGFDA0xRMkhlv8jrsuncYh0mgG_c5rO8Pn5XSs5NUc,2694
|
12
12
|
kabukit/cli/cache.py,sha256=2hBG9wxvdfhNihlLs9CqKeqio6E24K3TPooYzli_xmQ,2102
|
13
|
-
kabukit/cli/get.py,sha256=
|
13
|
+
kabukit/cli/get.py,sha256=6rMsqCvXes3jX55N0lDr9WL1By_JE0wmPXuPRY8xBqY,4212
|
14
14
|
kabukit/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
15
15
|
kabukit/core/base.py,sha256=WVFvv70n99GTqLkhkRnibLRgYP-eMh6lYY3R__q_YXY,1725
|
16
16
|
kabukit/core/client.py,sha256=tVq1r3zpOfjmOtnRI1KPZHgTgBZYIpJzfw15i2kAM48,676
|
@@ -33,11 +33,11 @@ kabukit/jquants/statements.py,sha256=CHJKwM44-TAUPMrieA1VVwHT89KpcXxEfJcbh9y-dWI
|
|
33
33
|
kabukit/jquants/topix.py,sha256=oU84WAbmd4U77fuKvj_EUpZv3Pu_Sf0HEW4Y0dB8508,326
|
34
34
|
kabukit/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
35
35
|
kabukit/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
36
|
-
kabukit/utils/concurrent.py,sha256=
|
36
|
+
kabukit/utils/concurrent.py,sha256=v9qxhQn45E4ctww1D6YClTkaSLpQC1BQUJHr3vmW1r4,4742
|
37
37
|
kabukit/utils/config.py,sha256=fqUdlhVjgiWEcsLFmPckp-dXUleVz8Ypdy_NnrMIBfY,708
|
38
38
|
kabukit/utils/date.py,sha256=eB5ONCkqnvOiAg1Hvg1pN4OkrxLR47urvOAD5BF5yL0,982
|
39
39
|
kabukit/utils/params.py,sha256=qcaJbf6CWPUoZAZsYDTaZSnBUWeAersbWnR_iiYW9GM,1108
|
40
|
-
kabukit-0.8.
|
41
|
-
kabukit-0.8.
|
42
|
-
kabukit-0.8.
|
43
|
-
kabukit-0.8.
|
40
|
+
kabukit-0.8.1.dist-info/WHEEL,sha256=X16MKk8bp2DRsAuyteHJ-9qOjzmnY0x1aj0P1ftqqWA,78
|
41
|
+
kabukit-0.8.1.dist-info/entry_points.txt,sha256=vvX771TemoM-35vVizW3JJ70HvRXnd2tX4P1Btzyoxs,46
|
42
|
+
kabukit-0.8.1.dist-info/METADATA,sha256=FdrIoTJsfZv7dyCsupNuXusVybGswMmPZ_XoCAcu5Cs,5979
|
43
|
+
kabukit-0.8.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|