SuperAPI AI 工具集

python3-typing

编程与开发

查看项目

更新于 10-15 22:40

技能介绍

用途:为 Python 项目自动选择并强制最严格且合法的类型标注方案,依据检测到的 Python 版本与依赖决定,不要求用户选择类型哲学。

主要能力:禁止普通内部代码使用 Any、宽泛 object 和未检查的 cast(),仅允许在未知结构数据进入的显式边界处使用;将边界代码隔离在专用 validator、parser、adapter 或 boundary 模块中,立即校验并返回强类型内部对象,禁止原始载荷进入类型化核心;仅允许在获批边界模块中对 Any 使用窄范围 lint 例外。

方案选择:Python 3.10 受限或仅标准库时,只用兼容安全的 stdlib 类型特性,偏好 dataclasses、TypedDict、Protocol、Literal、TypeGuard、NewType,在专用边界包装器中做显式运行时校验,不假设第三方类型;3.11+ 仅标准库时使用现代 stdlib 类型特性,重构中可用 Self、assert_type、reveal_type,TypedDict 配合 NotRequired;3.11+ 配 Pydantic 时用 Pydantic 模型作为入口契约,优先 strict 模式,对无需完整模型的注解类型用 TypeAdapter;3.11+ 配 Hypothesis 时对边界、校验器、解析器和不变式做属性测试,尽量用 from_type();3.12+ 用 type 语句定义显式类型别名,用 PEP 695 泛型参数语法;3.13+ 用 TypeIs 做自定义收窄,用 ReadOnly 标记校验后不可变的 TypedDict 字段;3.14+ 保持注解读取基础设施兼容延迟求值(PEP 649),运行时检查注解用 annotationlib.get_annotations()。

使用方式:边界包装器命名如 parse_、validate_、decode_、coerce_、*_from_raw,边界模块只返回类型化对象。完整策略见 references/typing-policy.md,Pydantic 模式见 references/pydantic-boundaries.md,属性测试见 references/hypothesis-boundaries.md。

限制:具体安装命令、收费与平台信息暂未提供。