Languages: English · Русский · 简体中文
在修复 bug 之前,先写一个能复现该 bug 的测试 —— 该测试必须在
main 上失败,并在修复后通过。测试与修复放在同一个 PR。
测试文件位于 tests/:
| 文件 | 范围 |
|---|---|
test_loads.py |
解析器行为。 |
test_dumps.py |
序列化器行为。 |
test_roundtrip.py |
loads(dumps(x)) == x。 |
test_errors.py |
异常层次与传播。 |
test_load_dump.py |
类文件对象包装。 |
test_module.py |
模块级导出、版本字符串。 |
test_conformance.py |
跨语言规范一致性测试。 |
Python 绑定是有意做成薄包装。解析器 / 格式行为属于 Rust crate
(ktav-lang/rust) —— 在那里修改
一次会同时更新所有语言绑定。只有 Python 特有的人体工学
(类文件包装、异常类型、类型存根) 才属于本仓库。
如果你的改动需要改格式,请先去
ktav-lang/spec 发起讨论。
你需要:
pip install -e ".[dev]"
make dev # debug 构建
make install # release 构建
make test
make lint
make all # 全部运行
本仓库遵循组织级三语种政策 (EN / RU / ZH)。每份 prose 文档都有三种
并行版本 —— 详见
ktav-lang/.github/AGENTS.md。