SuperAPI AI 工具集

ty

编程与开发

查看项目

更新于 10-15 20:32

技能介绍

用途:ty 是 Astral 出品的 Python 类型检查器与语言服务器,用 Rust 编写,号称比 mypy 和 pyright 快 10–100 倍。一个二进制承担两项工作:ty check(命令行)和 ty server(LSP)。当前为 0.0.x beta,CLI 参数、规则名和配置键会随补丁版本变化。

主要能力:以推断优先、便于渐进采用为设计取向,可处理部分标注的代码,未标注符号推断为 Unknown(隐式 Any);同一名字可在更窄作用域内以不同类型重新声明;每条规则有 error、warn、ignore 三级严重程度,可按规则并借 [[overrides]] 按文件模式设置;默认已较严格,没有 --strict 模式。含 126 条规则,默认 93 条 error、23 条 warn、10 条 ignore。支持规则抑制注释(# ty: ignore[rule-name]、# type: ignore 等)、ty check --add-ignore 批量抑制现有诊断、ty explain rule 查询规则说明。ty server 通过 stdio 提供补全、悬停、跳转定义、自动导入、内联提示、代码操作与快速修复。

使用方式:可用 uvx ty@latest check、uv add --dev ty && uv run ty check、uv tool install ty@latest、pipx install ty 或 curl -LsSf https://astral.sh/ty/install.sh | sh 安装。常用命令包括 ty check [PATH]、ty check --watch、ty server、ty version、ty explain rule、ty generate-shell-completion。配置读取 pyproject.toml 的 [tool.ty] 或 ty.toml,含 environment、src、rules、overrides、terminal、analysis 表。建议在项目虚拟环境中运行以解析依赖。

适用场景:为 Python 项目做类型检查、在保存时增量重检、在 CI 中检查并输出 GitHub/GitLab/JUnit 格式、在编辑器中使用 LSP 功能。

限制:处于 beta,版本间行为可能变化;没有插件系统,也不计划支持;不做 lint 或格式化(那是 Ruff);不是包管理器(uv 只是安装途径);规则名、配置键和抑制语法与 mypy、pyright 不同。退出码 0/1/2/101/130,警告默认会导致退出码 1,可用 --exit-zero-on-warning 等调整。以上资料未提供具体收费与价格信息。