mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-10-29 11:27:43 +08:00
严格检查全部宿主源码,清零类型错误预算并移除按模块类型豁免。 按原因、所属方法、错误码及语法指纹锁定必要兼容例外和站点类型桩, CI 阻断新增忽略、检查范围退化、本地桩替代真实接口及新的类型错误。 修复空值、异步和供应方类型边界,保持插件与 API 兼容合同, 并补充存储、订阅、通知、Agent 和工作流边界的回归覆盖。
39 lines
1.4 KiB
INI
39 lines
1.4 KiB
INI
[mypy]
|
|
python_version = 3.14
|
|
strict = True
|
|
warn_unused_configs = True
|
|
ignore_missing_imports = False
|
|
follow_imports = skip
|
|
show_error_codes = True
|
|
pretty = True
|
|
files =
|
|
app,
|
|
scripts/architecture/async_blocking.py,
|
|
scripts/architecture/mypy_policy.py
|
|
exclude = ^app/plugins(?:/|$)
|
|
platform = linux
|
|
|
|
# 完整宿主源码读取真实 .py/.pyi 合同;运行时插件副本由插件发布链路治理。
|
|
[mypy-app.*]
|
|
follow_imports = silent
|
|
follow_imports_for_stubs = True
|
|
|
|
# 读取已安装供应方的真实装饰器与路由签名,避免把已声明类型的接口视为 Any。
|
|
[mypy-click.*,fastapi.*]
|
|
follow_imports = silent
|
|
|
|
# 读取 Slack SDK 已声明的事件回调与客户端签名。
|
|
[mypy-slack_bolt.*,slack_sdk.*]
|
|
follow_imports = silent
|
|
|
|
# 使用 Pydantic 模型与 Uvicorn 的真实类型,避免从 Any 继承或擦除校验入口。
|
|
[mypy-pydantic.*,pydantic_settings.*,typing_extensions.*,uvicorn.*,pytest.*,_pytest.*]
|
|
follow_imports = silent
|
|
|
|
[mypy-langchain.*,langchain_core.*,langgraph.*,starlette.*]
|
|
follow_imports = silent
|
|
|
|
# 这些既有 SDK 未提供 py.typed 或类型桩;新增依赖不能复用全局缺失导入豁免。
|
|
[mypy-lxml.*,Pinyin2Hanzi.*,anitopy.*,apscheduler.*,boto3.*,botocore.*,cloakbrowser.*,cn2an.*,http_ece.*,moviepilot_rust.*,oss2.*,pillow_avif.*,py_vapid.*,pyquery.*,pystray.*,smbclient.*,smbprotocol.*,telegramify_markdown.*,torrentool.*]
|
|
ignore_missing_imports = True
|