ty-skills

Python type checking expertise using ty - the extremely fast type checker by Astral. Use when: (1) Adding type annotations to Python code, (2) Fixing type errors reported by ty, (3) Migrating from mypy/pyright to ty, (4) Configuring ty for projects, (5) Understanding advanced type patterns (generics, protocols, intersection types), (6) Setting up ty in editors (VS Code, Cursor, Neovim, PyCharm).

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "ty-skills" with this command: npx skills add jiatastic/open-python-skills/jiatastic-open-python-skills-ty-skills

ty-skills

Master Python type checking with ty - the extremely fast type checker written in Rust by Astral (creators of uv and Ruff).

When to Use This Skill

  • Adding type annotations to Python code
  • Fixing type errors and diagnostics from ty
  • Configuring ty rules and severity levels
  • Migrating from mypy or pyright to ty
  • Understanding advanced type patterns (intersection types, protocols, generics)
  • Setting up ty language server in your editor

Quick Start

# Install
uv tool install ty
# or: pip install ty

# Check current directory
ty check

# Check specific files
ty check src/

# Full diagnostics
ty check --output-format full

Configuration

Configure via pyproject.toml:

[tool.ty.environment]
python-version = "3.12"
python = "./.venv"
python-platform = "linux"
root = ["./src"]
extra-paths = ["./typings"]

[tool.ty.rules]
# error: fail CI, warn: report, ignore: disable
possibly-unresolved-reference = "error"
invalid-argument-type = "error"
division-by-zero = "warn"
unused-ignore-comment = "warn"

[tool.ty.src]
include = ["src", "tests"]
exclude = ["src/migrations/"]

# Per-file overrides
[[tool.ty.overrides]]
include = ["tests/**"]

[tool.ty.overrides.rules]
possibly-unresolved-reference = "warn"

Rules Quick Reference

RuleDefaultDescription
possibly-unresolved-referenceerrorVariable might not be defined
invalid-argument-typeerrorArgument type mismatch
incompatible-assignmenterrorAssigned value incompatible
missing-argumenterrorRequired argument missing
unsupported-operatorerrorOperator not supported for types
invalid-return-typeerrorReturn type mismatch
division-by-zerowarnPotential division by zero
unused-ignore-commentwarnSuppression not needed
redundant-castwarnCast has no effect
possibly-unbound-attributewarnAttribute might not exist
index-out-of-boundswarnIndex might be out of range

Intersection Types (ty Exclusive)

ty has first-class intersection type support:

def output_as_json(obj: Serializable) -> str:
    if isinstance(obj, Versioned):
        reveal_type(obj)  # reveals: Serializable & Versioned
        return str({
            "data": obj.serialize_json(),  # From Serializable
            "version": obj.version          # From Versioned
        })
    return obj.serialize_json()

Suppression Comments

# Suppress single rule
x: int = "hello"  # type: ignore[incompatible-assignment]

# Suppress multiple
y = risky()  # type: ignore[possibly-unresolved-reference, invalid-argument-type]

Reference Documents

For detailed information, see:

DocumentContent
references/ty_rules_reference.mdAll rules with examples and fixes
references/typing_cheatsheet.mdPython typing module quick reference
references/advanced_patterns.mdProtocols, generics, type guards, variance
references/migration_guide.mdmypy/pyright → ty migration
references/common_errors.mdError solutions with examples
references/editor_setup/VS Code, Cursor, Neovim setup

Resources

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

python-backend

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

linting

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

error-handling

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

logfire

No summary provided by upstream source.

Repository SourceNeeds Review
ty-skills | V50.AI