Skip to content

Evaluate migrating type checking from mypy to ty #712

Description

@joshmarkovic

Summary

Track migrating the type checker from mypy to ty (Astral's Rust-based checker), which would complete the move to a single Astral toolchain: Ruff for lint+format (#707 + the ruff format follow-up in #711), ty for types.

Motivation

  1. Dependency friction is already biting. Commit 922b089 added override-dependencies = ["pathspec>=0.9,<1.1"] to resolve a mypy/pathspec conflict, and its own comment reads "Remove on dbt-core v1.12 or migration to ty by astral" — i.e. ty is already the flagged long-term fix.
  2. Speed. On dbt/adapters: mypy 1.11.2 → 9.1s; ty 0.0.49 → 0.32s (~28×).
  3. Toolchain consolidation. Ruff + ty is one Rust-based Astral toolchain with shared pyproject.toml config and fewer pre-commit hook repos / version pins to maintain.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions