style: replace mypy and pyright with ty
Metadata
Current evaluation
Merged PR #1084 as squash commit 345bd5d9, replacing mypy and pyright with ty and updating lint configuration for craft-app 7.
Resolution: closed resolved
Reason: PR #1084 was approved and merged with all CI checks passing. Commit 345bd5d9 removes the old type checkers and adopts ty.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [x] Have you followed the guidelines for contributing?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `make lint && make test`?
- [ ] Have you added an entry to the changelog (`docs/reference/changelog.rst`)?
---
Sneaking in a mypy+pyright -> ty migration as part of craft-app 7.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1084 as squash commit 345bd5d9, replacing mypy and pyright with ty and updating lint configuration for craft-app 7. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged the mypy/pyright-to-ty migration for craft-app 7, replacing the old type checkers and updating lint configuration. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged squashed PR #1084, replacing mypy and pyright with ty for type checking across 70 files as part of craft-app 7; two approvals and all CI checks passed. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged a squashed pull request replacing mypy and pyright with ty for type checking across 70 files. Approved by two reviewers with all CI checks passing, the change streamlines the linting configuration for craft-app 7. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Squash merged by maintainer mr-cal, replacing mypy and pyright with ty for type checking as part of the craft-app 7 update. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/craft-application#1126
(confidence 85%)
Follow-up PR that fixed ty errors after the migration.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #223 style: switch from mypy+pyright to ty | craft-platforms | merged | Merged PR #223 by lengau replaced mypy and pyright with the ty type checker in craft-platforms, dropping ~274 lines across 3 files; approved by 2 reviewers with all lint/test CI green. | |
| #1207 style: replace mypy and pyright with ty | rockcraft | merged | Merged PR #1207 (commit 5d9356c1), replacing mypy and pyright type checking with Astral ty and updating lint configuration across 43 files. | |
| #421 style: ty | craft-cli | merged | Merged PR #421 as 5c6d127, updating ty to unblock snapcraft#5673; it opened #420 to remove mypy and pyright, later resolved by #479. | |
| #253 style: drop mypy, pyright | craft-archives | merged | Merged PR #253 (commit 1949f53) drops mypy and pyright in favor of ty; lint and test CI checks passed. | |
| #901 Remove mypy and pyright | craft-providers | open | Drop mypy/pyright in favour of ty. Makefile, CI and pyproject already use ty only; common.mk still defines lint-mypy, lint-pyright, install-pyright, and stale .gitignore/type: ignore entries remain. Mirrors snapcraft#6007 and craft-cli#420, both completed. | |
| #6247 style: go all-in on ty | snapcraft | merged | Merged PR #6247 (commit 534d7dce7) replaced mypy and pyright with ty, removed obsolete suppressions, and resolved #6007. | |
| #215 style: drop mypy, pyright | craft-grammar | merged | Merged #215 in commit 19a38b7, dropping mypy and pyright in favor of ty across six files (+4/-481). | |
| #6007 Remove mypy and pyright | snapcraft | closed | Request to drop mypy and pyright for ty was resolved by merged PR #6247 ("style: go all-in on ty", commit 534d7dce7), which replaced both checkers with ty and removed the unused-ignore-comment suppression. | |
| #1007 style: drop mypy, pyright | craft-providers | merged | Merged into main as commit 232143d, replacing mypy and pyright with ty and removing obsolete type-checker tooling. | |
| #1706 style: drop mypy, pyright | craft-parts | merged | Merged PR #1706 in commit 770e2130, replacing mypy and pyright with ty; redundant runtime type-check cleanup was deferred to #1707. |