精读 预计 4 分钟
Are you expected to run five Python type-checkers now?
摘要
文章针对 mypy、Pyrefly、Pyright、ty 和 Zuban 多种检查器并存的现状,建议维护者优先在测试套件(代表公共 API)上运行尽可能多的检查器,以确保用户兼容性;而在内部源码中仅运行一个检查器,以避免因各工具实现差异导致代码充斥大量的 type-ignore 注释。文中以 Polars 库的实践为例,说明了这种分层策略如何平衡维护成本与公共 API 的类型准确性。
荐读理由
在开发 Python 库或工具时,你可以采用「在测试集而非源码上运行多类型检查器」的工程策略,这能让你在不污染内部代码的前提下,确保公共 API 对使用不同检查器(如 Pyright 或 Mypy)的用户都具备良好的兼容性。
这条对你有帮助吗?