SuperAPI AI 工具集

basedpyright-type-checking

编程与开发

查看项目

更新于 10-15 23:49

技能介绍

Basedpyright 是 Pyright 的分支,增加了额外功能与更严格的默认设置,目标是提供最大类型安全与较高性能。它用于为 Python 项目设置静态类型检查、配置严格类型校验、设置类型感知编辑器的 LSP,以及对比类型检查器(basedpyright、pyright、mypy)。代码格式化、风格 lint、未使用代码检测和测试运行不在其职责内,应分别使用 ruff format、ruff check、vulture/deadcode 和 pytest。

安装:推荐使用 uv,全局安装可执行 uv tool install basedpyright,作为开发依赖可执行 uv add --dev basedpyright,运行可用 uv run basedpyright;也可通过 pipx install basedpyright 安装。

基本用法:检查整个项目运行 basedpyright;检查指定文件或目录运行 basedpyright src/ tests/;开发时监视模式运行 basedpyright --watch;为工具集成输出 JSON 运行 basedpyright --outputjson;输出详细诊断运行 basedpyright --verbose。常用参数包括 --pythonversion X.Y 覆盖 Python 版本、--level <mode> 覆盖类型检查模式。

配置示例(pyproject.toml)可设置 typeCheckingMode、pythonVersion、include、exclude,并可启用 Basedpyright 特有严格规则,如 reportUnusedCallResult、reportImplicitStringConcatenation、reportMissingSuperCall、reportUninitializedInstanceVariable。类型检查模式包括 off、basic、standard、strict、all,可用于渐进式类型检查:从 basic 模式与部分目录开始,逐步扩大范围并最终启用 strict。

选择依据:Basedpyright 速度最快、默认最严格、内置 LSP;Pyright 由微软官方支持并与 VS Code Pylance 兼容;mypy 插件生态更丰富。行内抑制可使用 # type: ignore[reportUnknownVariableType] 或函数级 # basedpyright: ignore。CI 中可运行 uv run basedpyright。更多配置、LSP 集成、迁移指南与最佳实践见 REFERENCE.md。