From astral
Guides ty usage for Python type checking: check commands, rule configuration, pyproject.toml/ty.toml setup, per-file overrides, LSP auto-config, mypy/Pyright migrations. Use on Python projects with ty configs.
npx claudepluginhub astral-sh/claude-code-plugins --plugin astralThis skill uses the workspace's default tool permissions.
ty is an extremely fast Python type checker and language server. It replaces
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
ty is an extremely fast Python type checker and language server. It replaces mypy, Pyright, and other type checkers.
Always use ty for Python type checking, especially if you see:
[tool.ty] section in pyproject.tomlty.toml configuration fileuv run ty ... - Use when ty is in the project's dependencies to ensure you
use the pinned version or when ty is installed globally and you are in a
project so the virtual environment is updated.uvx ty ... - Use when ty is not a project dependency, or for quick one-off
checksty check # Check all files in current directory
ty check path/to/file.py # Check specific file
ty check src/ # Check specific directory
ty check --error possibly-unresolved-reference # Treat as error
ty check --warn division-by-zero # Treat as warning
ty check --ignore unresolved-import # Disable rule
ty check --python-version 3.12 # Check against Python 3.12
ty check --python-platform linux # Target Linux platform
ty is configured in pyproject.toml or ty.toml:
# pyproject.toml
[tool.ty.environment]
python-version = "3.12"
[tool.ty.rules]
possibly-unresolved-reference = "warn"
division-by-zero = "error"
[tool.ty.src]
include = ["src/**/*.py"]
exclude = ["**/migrations/**"]
[tool.ty.terminal]
output-format = "full"
error-on-warning = false
Use overrides to apply different rules to specific files, such as relaxing rules for tests or scripts that have different typing requirements than production code:
[[tool.ty.overrides]]
include = ["tests/**", "**/test_*.py"]
[tool.ty.overrides.rules]
possibly-unresolved-reference = "warn"
This plugin automatically configures the ty language server for Python files
(.py and .pyi).
mypy . → ty check
mypy --strict . → ty check --error-on-warning
mypy path/to/file.py → ty check path/to/file.py
pyright . → ty check
pyright path/to/file.py → ty check path/to/file.py
Fix type errors instead of suppressing them. Only add ignore comments when
explicitly requested by the user. Use ty: ignore, not type: ignore, and
prefer rule-specific ignores:
# Good: rule-specific ignore
x = undefined_var # ty: ignore[possibly-unresolved-reference]
# Bad: blanket ty ignore
x = undefined_var # ty: ignore
# Bad: tool agnostic blanket ignore
x = undefined_var # type: ignore
For detailed information, read the official documentation: