kabukit 0.8.0__tar.gz → 0.8.1__tar.gz

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.
Files changed (43) hide show
  1. {kabukit-0.8.0 → kabukit-0.8.1}/PKG-INFO +9 -6
  2. {kabukit-0.8.0 → kabukit-0.8.1}/README.md +6 -4
  3. {kabukit-0.8.0 → kabukit-0.8.1}/pyproject.toml +5 -3
  4. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/cli/get.py +10 -5
  5. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/utils/concurrent.py +1 -1
  6. {kabukit-0.8.0 → kabukit-0.8.1}/LICENSE +0 -0
  7. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/__init__.py +0 -0
  8. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/analysis/__init__.py +0 -0
  9. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/analysis/indicators.py +0 -0
  10. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/analysis/preprocess.py +0 -0
  11. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/analysis/screener.py +0 -0
  12. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/analysis/visualization/__init__.py +0 -0
  13. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/analysis/visualization/market.py +0 -0
  14. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/analysis/visualization/prices.py +0 -0
  15. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/cli/__init__.py +0 -0
  16. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/cli/app.py +0 -0
  17. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/cli/auth.py +0 -0
  18. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/cli/cache.py +0 -0
  19. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/core/__init__.py +0 -0
  20. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/core/base.py +0 -0
  21. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/core/client.py +0 -0
  22. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/core/documents.py +0 -0
  23. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/core/info.py +0 -0
  24. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/core/prices.py +0 -0
  25. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/core/statements.py +0 -0
  26. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/edinet/__init__.py +0 -0
  27. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/edinet/client.py +0 -0
  28. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/edinet/concurrent.py +0 -0
  29. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/edinet/doc.py +0 -0
  30. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/jquants/__init__.py +0 -0
  31. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/jquants/calendar.py +0 -0
  32. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/jquants/client.py +0 -0
  33. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/jquants/concurrent.py +0 -0
  34. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/jquants/info.py +0 -0
  35. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/jquants/prices.py +0 -0
  36. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/jquants/schema.py +0 -0
  37. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/jquants/statements.py +0 -0
  38. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/jquants/topix.py +0 -0
  39. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/py.typed +0 -0
  40. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/utils/__init__.py +0 -0
  41. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/utils/config.py +0 -0
  42. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/utils/date.py +0 -0
  43. {kabukit-0.8.0 → kabukit-0.8.1}/src/kabukit/utils/params.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: kabukit
3
- Version: 0.8.0
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.13
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.13 以上が必要です。
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
- 詳しい使い方は、[**コマンドラインインターフェースの使い方**](https://daizutabi.github.io/kabukit/guides/cli/)を参照してください。
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
- - [**J-Quants API 利用ガイド**](https://daizutabi.github.io/kabukit/guides/jquants/)
97
- - [**EDINET API 利用ガイド**](https://daizutabi.github.io/kabukit/guides/edinet/)
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
 
@@ -15,7 +15,7 @@ kabukit は、 [J-Quants API](https://jpx-jquants.com/) および [EDINET API](h
15
15
 
16
16
  ## インストール
17
17
 
18
- `pip` または `uv` を使ってインストールします。Python バージョンは 3.13 以上が必要です。
18
+ `pip` または `uv` を使ってインストールします。Python バージョンは 3.12 以上が必要です。
19
19
 
20
20
  ```bash
21
21
  pip install kabukit
@@ -25,7 +25,9 @@ pip install kabukit
25
25
 
26
26
  kabukit は、 [J-Quants API](https://jpx-jquants.com/) および [EDINET API](https://disclosure2dl.edinet-fsa.go.jp/guide/static/disclosure/WZEK0110.html) からデータを取得するための便利なコマンドラインインターフェース(CLI)を提供します。
27
27
 
28
- 詳しい使い方は、[**コマンドラインインターフェースの使い方**](https://daizutabi.github.io/kabukit/guides/cli/)を参照してください。
28
+ 具体的な使い方は、次の利用ガイドを参照してください。
29
+
30
+ - [コマンドラインインターフェースの使い方](https://daizutabi.github.io/kabukit/guides/cli/)
29
31
 
30
32
  ## ノートブックから使う
31
33
 
@@ -33,8 +35,8 @@ kabukit は、コマンドラインだけでなく、Python コードからも A
33
35
 
34
36
  具体的な使い方は、以下の利用ガイドを参照してください。
35
37
 
36
- - [**J-Quants API 利用ガイド**](https://daizutabi.github.io/kabukit/guides/jquants/)
37
- - [**EDINET API 利用ガイド**](https://daizutabi.github.io/kabukit/guides/edinet/)
38
+ - [J-Quants API の使い方](https://daizutabi.github.io/kabukit/guides/jquants/)
39
+ - [EDINET API の使い方](https://daizutabi.github.io/kabukit/guides/edinet/)
38
40
 
39
41
  <!-- Badges -->
40
42
 
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "kabukit"
7
- version = "0.8.0"
7
+ version = "0.8.1"
8
8
  description = "A Python toolkit for Japanese financial market data, supporting J-Quants and EDINET APIs."
9
9
  readme = "README.md"
10
10
  license = { file = "LICENSE" }
@@ -25,6 +25,7 @@ classifiers = [
25
25
  "Development Status :: 4 - Beta",
26
26
  "Programming Language :: Python",
27
27
  "Programming Language :: Python :: 3 :: Only",
28
+ "Programming Language :: Python :: 3.12",
28
29
  "Programming Language :: Python :: 3.13",
29
30
  "Programming Language :: Python :: 3.14",
30
31
  "License :: OSI Approved :: MIT License",
@@ -37,7 +38,7 @@ classifiers = [
37
38
  "Topic :: Scientific/Engineering :: Information Analysis",
38
39
  "Topic :: Utilities",
39
40
  ]
40
- requires-python = ">=3.13"
41
+ requires-python = ">=3.12"
41
42
  dependencies = [
42
43
  "async-typer>=0.1.10",
43
44
  "httpx>=0.28.1",
@@ -80,6 +81,7 @@ dev = [
80
81
  ]
81
82
  docs = [
82
83
  "ipykernel>=6.30.1",
84
+ "markdown-exec[ansi]>=1.11.0",
83
85
  "mkapi>=4.5",
84
86
  "mkdocs-material>=9.6.21",
85
87
  "mkdocs-nbsync>=0.1.5",
@@ -102,7 +104,7 @@ skip_covered = true
102
104
 
103
105
  [tool.ruff]
104
106
  line-length = 88
105
- target-version = "py313"
107
+ target-version = "py312"
106
108
  include = ["src/**/*.py", "tests/**/*.py"]
107
109
 
108
110
  [tool.ruff.lint]
@@ -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
- typer.echo(df)
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
- typer.echo(df)
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
- typer.echo(df)
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("財務情報を取得します。")
@@ -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
- async for future in asyncio.as_completed(tasks):
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:
File without changes
File without changes
File without changes
File without changes
File without changes