跳转至

v3.3.2

发布日期:2026-10-30。

本版本修复批量行情和基础财务查询在混入无数据代码时的失败与垃圾记录问题,并发布全市场资讯接口及完整方法文档。

主要变化

  • 批量缺失处理:client.quotes.get_snapshots() 和 client.corporate.finance_batch() 新增关键字参数 on_missing="raise" / "skip"。默认严格报错,确认缺失时通过 MissingCodesError.missing_codes 列出代码;显式 skip 时返回有效部分,并发出 MissingCodesWarning。
  • 有界恢复:异常批次通过二分定位,每次公开调用最多追加 32 次恢复业务请求。正常批次保持一次请求;网络超时、连接错误、损坏单只和预算耗尽仍报错。
  • 市场资讯:新增 client.f10.market_news() 首页要闻流、channel_news() 频道资讯和 news_channels() 静态频道枚举。覆盖 8 个首页标签和 84 个频道,支持 CLI、MCP 与 HTTP / WebSocket RPC;新闻行可用 extract_news_rows() 提取。
  • 文档:补齐三个市场资讯方法单页、批量缺失策略、参数与错误说明;接口目录增至 124 项,MCP 工具增至 35 个。Pages 与安装包内文档同步。

修复内容

  • 0x054c 快照拒绝非零条数与请求数量不符的响应,避免尾部缺失静默少行。单只回复若是能够解析但属于其他代码的记录,只将请求代码标记为未返回,绝不把其他代码的行情交付给调用者。
  • 0x0010 财务校验记录长度、市场编号、六位 ASCII 数字代码及请求归属,拒绝 NUL 占位、正文片段、请求外代码和过量重复记录。
  • 零条数快照若还带有多余数据,继续抛协议错误,不会在 skip 模式下被当作空结果吞掉。
  • 拆分恢复的成功记录按原请求顺序重组,保留有效重复输入及本地财务字段筛选;不按固定记录长度或长度众数猜测快照边界。
  • 安装 smoke 的 MCP 工具数量与新增新闻工具保持一致。

兼容性与迁移

  • 保持 Python 3.10+,基础安装没有第三方运行时依赖;MCP / HTTP 继续使用可选依赖。
  • 返回类型保持不变。默认模式在确认缺失时会抛 MissingCodesError,它继承 ProtocolError;需要部分结果的调用方请显式传 on_missing="skip" 并处理告警,使用 full_code 对齐结果。
  • 缺失仅表示所选主站在本次调用中未返回该代码的数据,不等于退市。代码覆盖与新闻内容仍取决于服务端。
  • finance_batch(include_raw=True) 的单次正常结果保留原始 payload;经过拆分重组时 raw_payload=b"",因为聚合结果没有唯一对应的服务器报文。
  • MCP 现有快照 / 财务工具仍使用默认严格模式;这两个方法的 skip 参数可通过 Python API 和 HTTP / WebSocket 通用 RPC 使用。

升级

python -m pip install --upgrade "eltdx==3.3.2"

需要可选功能时:

python -m pip install --upgrade "eltdx[mcp,http]==3.3.2"

文档与贡献

感谢 anjia0532 在 PR #31 中贡献市场资讯接口、频道枚举及配套调用能力。