-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmypy.ini
More file actions
99 lines (82 loc) · 4.2 KB
/
mypy.ini
File metadata and controls
99 lines (82 loc) · 4.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# mypy configuration
# 临时宽松配置 —— 用于在存在大量历史类型错误的仓库中逐步推进类型检查。
[mypy]
python_version = 3.10
# 排除常见构建与元数据目录,避免重复模块/生成物导致的冲突
exclude = (^|/)(build|dist|\.venv|\.git|\.eggs|agentrun_sdk\.egg-info)(/|$)
# ----------------------------
# mypy 严格性开关(仅列一次)
# 下面通过关闭若干易产生历史噪音的检查项,保留对关键问题的基本提示。
# 可在逐步修复过程中逐项开启以提升严格度。
# ----------------------------
# check_untyped_defs: 即使函数体未注明类型,也会检查函数内部(会产生大量噪音)
check_untyped_defs = False
# disallow_untyped_defs: 禁止未添加类型注解的函数/方法(开启后会将未注解函数视为错误)
disallow_untyped_defs = False
# disallow_untyped_calls: 禁止对未注解的可调用对象进行调用,以防 Any 传播
disallow_untyped_calls = False
# disallow_incomplete_defs: 禁止部分缺失注解(如参数或返回类型缺失)
disallow_incomplete_defs = False
# disallow_untyped_decorators: 禁止使用未注解的装饰器
disallow_untyped_decorators = False
# warn_return_any: 当返回值被推断为 Any 时发出警告(关闭可减少噪音)
warn_return_any = False
# warn_unused_configs: 报告配置中未被使用的选项,便于清理无效配置
warn_unused_configs = True
# warn_redundant_casts: 检测不必要或冗余的 cast 操作
warn_redundant_casts = False
# warn_unused_ignores: 检测无用的 "# type: ignore" 注释
warn_unused_ignores = False
# warn_unreachable: 检测不可达代码分支
warn_unreachable = False
# ignore_missing_imports: 忽略第三方库缺少类型桩(stubs)的导入错误
ignore_missing_imports = True
# strict_equality: 更严格的相等性检查(开启需对类型定义更精确)
strict_equality = False
# no_implicit_optional: 禁止隐式 Optional,需要显式使用 Optional[...] 注解
no_implicit_optional = False
# ----------------------------
# 映射说明(便于审查):
# - `disallow_untyped_defs` 关闭 -> 忽略大量 "no-untyped-def" 报错(函数未注解)
# - `warn_return_any` 关闭 -> 减少因返回 Any 导致的噪音警告
# - `warn_unused_ignores` 关闭 -> 忽略历史性的不必要 `# type: ignore` 报告
# - `ignore_missing_imports` 打开 -> 忽略第三方库缺少类型桩的导入错误
# 若需要更精细的按错误类型过滤,请告知,我可实现输出过滤脚本或逐文件添加 `# type: ignore[code]`。
# ----------------------------
# ----------------------------
# 全局禁用的 mypy 错误代码(按用户要求忽略以下报错类别)
# 列表:annotation-unchecked, arg-type, assignment, attr-defined,
# call-arg, empty-body, has-type, import-untyped, misc, no-redef,
# return-value, union-attr, valid-type, var-annotated
# 说明:mypy 支持通过 `disable_error_code` 在配置中禁用特定错误代码。
# 若你的 mypy 版本过旧不支持该项,我们可以改为输出过滤脚本或 `per-file-ignores`。
# ----------------------------
disable_error_code =
# annotation-unchecked: 未对未添加注解的函数体进行检查(通常由未开启 check_untyped_defs 导致)
annotation-unchecked,
# arg-type: 调用时传入参数类型与被调用者期望类型不匹配
arg-type,
# assignment: 赋值操作中类型不兼容
assignment,
# attr-defined: 访问的属性在类型上未定义或不可确定
attr-defined,
# call-arg: 调用时缺少必需参数或多传/传错参数名
call-arg,
# empty-body: 函数/类体为空,可能缺少实现
empty-body,
# has-type: 无法确定表达式或变量的具体类型
has-type,
# import-untyped: 导入的第三方库缺少类型桩(stubs)
import-untyped,
# misc: 其他杂项错误
misc,
# no-redef: 名称重复定义或重定义冲突
no-redef,
# return-value: 返回值类型与注解不匹配或返回缺失
return-value,
# union-attr: 在联合类型上的属性访问可能不存在于所有分支
union-attr,
# valid-type: 无效的类型声明或使用(例如变量被误用为类型)
valid-type,
# var-annotated: 变量缺少必要的类型注解
var-annotated