Skip to content

feat: get_fin_details_range のキャッシュを CSV.gz から parquet に変更#6

Merged
getumen merged 2 commits into
mainfrom
perf/parallel-cache-read
Jun 13, 2026
Merged

feat: get_fin_details_range のキャッシュを CSV.gz から parquet に変更#6
getumen merged 2 commits into
mainfrom
perf/parallel-cache-read

Conversation

@getumen

@getumen getumen commented Jun 13, 2026

Copy link
Copy Markdown
Owner

概要

get_fin_details_range のキャッシュ保存形式を CSV.gz から parquet に変更する。

利用側(japanese_stock_ml_system)は本パッケージを editable install で参照しているが、この parquet 化コミット(5f4d605)が origin/main に未反映だった。別環境で uv sync した際にキャッシュ形式が食い違うのを防ぐため、main に取り込む。

含まれるコミット

  • 5f4d605 feat: get_fin_details_range のキャッシュを CSV.gz から parquet に変更 ← 本PRの主眼
  • c892aed perf: get_fin_summary_range / get_fin_details_range のキャッシュ読み込みを並列化

注記

並列化(c892aed)は既に #57e09edf)として main にマージ済みの内容です。本ブランチでは parquet 化の上に並列化を積んだ整合済みの状態になっています。マージ時に競合が出ないかご確認ください。

変更ファイル

  • src/async_jquants_api_client/client.py: キャッシュ読み書きを parquet 化
  • pyproject.toml / uv.lock: parquet 依存追加
  • tests/test_client.py: テスト更新

🤖 Generated with Claude Code

getumen and others added 2 commits June 9, 2026 10:35
CSV は dict を repr 文字列として保存するため読み出し時にパースが必要だった。
parquet は dict を map 型として保持するため FS 列が常に dict で復元される。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
forループでの逐次 pd.read_csv / pd.read_parquet がイベントループをブロックし、
全履歴(6000超ファイル)取得時に著しく遅くなる問題を修正。

asyncio.to_thread + asyncio.gather でキャッシュファイルを並列読み込みするよう変更。
合わせて pyarrow を依存関係に追加し、テストの csv.gz → parquet 形式不一致も修正。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@getumen getumen merged commit 44e4cf9 into main Jun 13, 2026
10 checks passed
@getumen getumen deleted the perf/parallel-cache-read branch June 13, 2026 01:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant