Skip to main content

A-share (China stock market) after-hours CLI — no login, no scraping tricks, just data.

Project description

young-stock-cli

PyPI Python License CI Downloads

An A-share (China stock market) after-hours CLI that just works — no login, no API keys, no scraping tricks. Also covers HK & US indices and a global snapshot.

A single command (young a) prints a complete after-hours dashboard: major indices, limit-up (涨停) and limit-down pools, fund flow, and top sector boards. Everything pulls from Eastmoney's public endpoints, with a 7-day local cache so repeated calls during the same session don't hammer the server.

Born out of a real workflow: every trading day after close I wanted the same five numbers in one place without opening a browser or paying for a data terminal. So I packaged it.


Install

pip install young-stock-cli

Requires Python 3.10+.

Usage

young a                 # A-share after-hours dashboard (the main thing)
young hk                # Hong Kong indices snapshot
young us                # US indices snapshot
young global            # A + HK + US in one view
young indices           # A-share indices only
young zt-pool           # limit-up (涨停) / limit-down / 炸板 pool
young flow              # north-bound + main-capital fund flow
young a -d 20260530     # historical date (YYYYMMDD)
young a --refresh       # bypass cache, force re-fetch
young --help

Example output (young indices)

A股主要指数 — 2026-05-30 收盘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┓
┃ 指数                        ┃     收盘  ┃ 涨跌幅 ┃ 成交额  ┃ 振幅     ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━┩
│ 上证指数                    │  3,347.49 │ +0.62% │ 4,821亿 │ 1.18%   │
│ 深证成指                    │ 10,402.91 │ +0.95% │ 6,015亿 │ 1.42%   │
│ 创业板指                    │  2,135.66 │ +1.21% │ 2,310亿 │ 1.68%   │
│ 科创50                      │  1,028.74 │ +0.81% │ 412亿   │ 1.05%   │
└─────────────────────────────┴───────────┴────────┴─────────┴──────────┘

Why this exists

Most A-share data libraries either (a) require paid accounts, (b) break the moment a portal redesigns its DOM, or (c) ship hundreds of MB of dependencies for a one-off after-hours glance. This is a 1-file core, three runtime deps (requests, click, rich), opinionated output, and a single command that prints what a trader actually wants at 15:01.

It is also a foundation for analysis pipelines: every subcommand maps to a Python function in young_stock._core, so you can from young_stock._core import get_zt_pool, get_fund_flow and feed the dicts into your own notebook or LLM prompt.

What's in the box

  • Eastmoney public endpoints — no login, no token. The same endpoints the official web UI uses.
  • Smart caching~/.young_stock/cache/, 7-day TTL, auto-pruned. Pass --refresh to skip.
  • Trade-day awareness — nearest-trade-day resolution including weekends and (best-effort) holidays.
  • Rich terminal tables — readable on dark and light terminals.
  • Sector boards via browser fallback — when Eastmoney's board API rate-limits, falls back to rendering the public web page (optional, requires a local browser engine).

Library usage

from young_stock._core import get_index, get_zt_pool, nearest_trade_date

date = nearest_trade_date()
print(get_index(date))
print(get_zt_pool(date))

Development

git clone https://github.com/AdvancingTitans/young-stock-cli.git
cd young-stock-cli
pip install -e ".[dev]"
pytest
ruff check .

Roadmap

  • Optional JSON output (--json) for piping into downstream tools.
  • Built-in trading-calendar (公开节假日) for accurate non-trade-day skipping.
  • Plugin hooks for additional data sources (THS, Sina).
  • young watch — live ticker mode during trading hours.

PRs welcome — see CONTRIBUTING.md.

License

MIT — see LICENSE.


中文说明

A 股盘后行情命令行工具。免登录、免 API key、免反爬技巧 — 一行命令把当日涨跌、涨停板、资金流向、板块榜全部打到终端。同时支持港股、美股指数和全球快照视图。

pip install young-stock-cli
young a            # A 股盘后总览(主命令)
young zt-pool      # 涨停 / 跌停 / 炸板分析
young flow         # 北向资金 + 主力资金流向
young global       # 全球指数一屏
young a -d 20260530 --refresh    # 指定日期 + 强制刷新

数据来源:东方财富公开行情接口(push2.eastmoney.com / push2ex.eastmoney.com),与官网网页同源。本地缓存 7 天,目录 ~/.young_stock/cache/,可用 young cache-clear 清理。

适用人群:每天盘后想用一条命令看完五张图的开发者 / 量化研究者 / 自动化爱好者。欢迎 issue / PR。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

young_stock_cli-0.1.0.tar.gz (20.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

young_stock_cli-0.1.0-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file young_stock_cli-0.1.0.tar.gz.

File metadata

  • Download URL: young_stock_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 20.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for young_stock_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f359a8681079c71c37951b358eb4a7e14d851b5d32801ac324376c8df2eea4ec
MD5 5fb72f527a1290398563aa17ef77e8dc
BLAKE2b-256 fece77b06153dab83f8e8c4ebcc459fac6beff5eca0cf22a89aa6ddbef16a86f

See more details on using hashes here.

Provenance

The following attestation bundles were made for young_stock_cli-0.1.0.tar.gz:

Publisher: publish.yml on AdvancingTitans/young-stock-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file young_stock_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: young_stock_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for young_stock_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ad826f552da406c998f524e0b46c02096b0c7626377c0a5186aa5eedd4574743
MD5 8fee0b67c7376ffe3a08238836e6fa72
BLAKE2b-256 bbbe95834d4fe82f938246b8c73a9f80d59ca165d712ffe59a18febaec868f6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for young_stock_cli-0.1.0-py3-none-any.whl:

Publisher: publish.yml on AdvancingTitans/young-stock-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page