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
- 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.
- Speed. On
dbt/adapters: mypy 1.11.2 → 9.1s; ty 0.0.49 → 0.32s (~28×).
- 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.
Summary
Track migrating the type checker from
mypytoty(Astral's Rust-based checker), which would complete the move to a single Astral toolchain: Ruff for lint+format (#707 + theruff formatfollow-up in #711),tyfor types.Motivation
override-dependencies = ["pathspec>=0.9,<1.1"]to resolve amypy/pathspecconflict, and its own comment reads "Remove on dbt-core v1.12 or migration to ty by astral" — i.e.tyis already the flagged long-term fix.dbt/adapters:mypy1.11.2 → 9.1s;ty0.0.49 → 0.32s (~28×).tyis one Rust-based Astral toolchain with sharedpyproject.tomlconfig and fewer pre-commit hook repos / version pins to maintain.