Skip to content

Evaluate migrating type checking from mypy to ty #712

@joshmarkovic

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions