# vxi-xlsx 运行时依赖
# DuckDB：Excel 高保真快照的存储与查询引擎（列式 OLAP，低配机可 out-of-core）
duckdb>=1.0,<2.0
# openpyxl：公式派生层用其 tokenizer 从公式文本抽引用建依赖图；也用于快照的共享公式展开（公式翻译器）与落库校验
# 下界 3.1：自检夹具用 openpyxl.cell.rich_text.CellRichText 造富文本样本，该 API 自 3.1 起提供
openpyxl>=3.1,<4.0
# defusedxml：解析 xlsx 内 XML 部件时防 billion laughs / XXE 实体炸弹（Python 官方推荐的
# 安全 XML 解析库，公网公开的基础防护，替代裸 xml.etree 的 fromstring/iterparse）
defusedxml>=0.7,<1.0

# ---- 以下为可选加速依赖：缺它功能与结论都不变，只是慢；上面三个缺任一即无法运行 ----
# pandas：DuckDB 批量写入走 DataFrame 注册 + INSERT SELECT（比 executemany 快约两个
# 数量级）；缺失时快照写入降级为逐条 executemany，结果完全一致、大簿明显更慢。
# doctor 会如实报出「未装 pandas（可选）」，故这一档降级不是静默的
pandas>=1.3,<3.0
