docs: L0 进度 3/12,记录 zstandard 残骸坑与决策 26/27
- STATUS.md:本次任务拆成「第一阶段已完成 / 第二阶段进行中」; L0 3/12;测试计数改为 39 passed / 44 skipped; 下一步里写明 io.py 待修的两处(mkdir 早于校验、缺 Raises) - docs/04-environment.md 坑 6:conda 升级留下的 *.conda_trash 残骸目录会被 Python 当成 namespace package 导入成功(__file__ 为 None), pandas 3.0 因此抛 ImportError: Can't determine version for zstandard 直接打断 pd.read_csv;含排查方法与「改名禁用」的修法 - docs/dev/personal-pitfalls.md:条目 3(注解与 docstring 打架)复发 +1 - 决策 26:未实现的算法逐条 skip,禁用模块级 pytestmark - 决策 27:zstandard 残骸改名禁用,不删不重装 - CHANGELOG:补 load_table/save_table 与 Fixed 段
This commit is contained in:
1 parent
b6456d97d8
commit
49fd84a2df
4 files changed
+82
-13
No files matched your search
+15
-2
@@ -26,16 +26,29 @@
|
||||
`set_seed` 同时覆盖 numpy 旧全局状态,让 sklearn / statsmodels 也可复现。
|
||||
- `core.Result`:补上 `__repr__` 与 `summary()` 实现(L0 第 1 项落地)。
|
||||
`repr` 紧凑单行且不打印 `data` 内容;`summary()` 输出可直接贴进论文的 Markdown 表格。
|
||||
- `data.load_table`:实现(L0 第 3 项)。按扩展名分派 `.csv` / `.xlsx` / `.xls`;
|
||||
`.csv` 默认做编码探测(utf-8 → utf-8-sig → gbk → gb18030),显式传 `encoding=` 时不再探测;
|
||||
`na_values` 默认吃下空串 / `NA` / `N/A` / `#N/A` / `null` / `-`。
|
||||
- `data.save_table`:实现(原属 L1,顺手落地)。按扩展名分派,父目录不存在时自动创建,
|
||||
返回实际写入的 `Path`。
|
||||
|
||||
### Added
|
||||
- `docs/02-architecture.md` §4.7「类型约定」:注解要写全、numpy 标量的判断写法、
|
||||
非法类型必须抛 `TypeError`。配套在 `docs/03-roadmap.md` 的开发纪律里加了指针。
|
||||
- `docs/dev/personal-pitfalls.md`:个人易错点清单,**只追加、不通读**
|
||||
|
||||
### Fixed
|
||||
- `tests/test_data.py` 顶上的**模块级** `pytestmark = pytest.mark.skip(...)` 会连带跳过同文件里
|
||||
已经写好的函数,导致 `load_table` 零覆盖。改为逐条 skip 未实现的算法,并补 8 条 io 测试
|
||||
(编码探测、NA 归一、后缀校验、缺文件报错、往返读写、类型校验)。测试数 31 → **39 passed**。
|
||||
- conda base 里 zstandard 的 `*.conda_trash` 残骸目录被 Python 当成 namespace package 导入,
|
||||
使 `.venv`(= base)的 `pd.read_csv` 抛 `ImportError: Can't determine version for zstandard`。
|
||||
已把残骸目录改名禁用(**可逆**,未删除),详见 `docs/04-environment.md` 坑 6。
|
||||
|
||||
### Notes
|
||||
- 除 `core.Result`、`core.get_rng`、`core.set_seed` 外,其余函数体**尚未实现**(统一 `raise NotImplementedError` + `TODO(L0/L1/v0.2)` 标记)。
|
||||
- 除 `core.Result`、`core.get_rng`、`core.set_seed`、`data.load_table`、`data.save_table` 外,其余函数体**尚未实现**(统一 `raise NotImplementedError` + `TODO(L0/L1/v0.2)` 标记)。
|
||||
这是刻意的:先定接口,再按 `docs/03-roadmap.md` 的 L0 → L1 顺序填实现。
|
||||
- 已知缺口:`SALib`(Sobol/Morris)、`pymoo`、`pyright` 未安装(本机离线)。
|
||||
- 已知缺口:`SALib`(Sobol/Morris)、`pymoo`、`pyright` 已装进 conda 环境 `mcm-toolkit`,`.venv` 里没有。
|
||||
|
||||
## [0.0.1] - 2026-10-01
|
||||
|
||||
|
||||
Reference in new issue
Block a user