style: replace mypy and pyright with ty
Metadata
Current evaluation
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.
Suggested action: —
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 |
|---|---|---|---|---|
| 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 issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #223 style: switch from mypy+pyright to ty | craft-platforms | merged | Merged after approval by two reviewers and passing CI checks. Replaces mypy and pyright with the ty type checker across three files, reducing 266 lines. | |
| #215 style: drop mypy, pyright | craft-grammar | merged | Merged a pull request replacing mypy and pyright with the ty type checker. After passing all CI checks and receiving two approvals, the change was successfully integrated, removing 481 lines of configuration across six files. | |
| #152 style: remove mypy and pyright to go all-in on ty | debcraft | merged | Merged changes removing mypy and pyright type checkers to exclusively use the ty tool. Approved by two reviewers, passed CI checks, and modified 12 files with a net reduction of 154 lines. | |
| #479 style: drop mypy, pyright | craft-cli | merged | Merged after approval from two reviewers; replaces mypy and pyright with ty, passing all CI checks. The change removed 341 lines and added 17 across 8 files. | |
| #421 style: drop mypy, pyright | craft-store | merged | Merged after approval from two reviewers; all CI checks passed. Replaces mypy and pyright with ty, removing 413 lines and adding 27 across 13 files. | |
| #1207 style: replace mypy and pyright with ty | rockcraft | merged | Merged changes replacing mypy and pyright linting tools with ty. Approved by three reviewers and passed CI checks. Updates 43 files to streamline linting configuration and prepare for Starbase integration. | |
| #1706 style: drop mypy, pyright | craft-parts | merged | Merged after approval and passing CI. Replaced mypy and pyright with ty for type checking across 88 files. Redundant isinstance checks were deferred to a separate issue. | |
| #1126 style: fix ty errors | craft-application | merged | Merged a style update to replace pydantic with ty for type checking, leveraging ty's new Pydantic support. Approved by reviewers, passed CI checks, and integrated into the codebase. | |
| #1267 style(type): make `ty` happy with the `craft_parts` directory | craft-parts | merged | Merged after two approvals and passing CI. Applied style and type fixes to the craft_parts directory to satisfy the ty linter, modifying five files with minor adjustments. | |
| #253 style: drop mypy, pyright | craft-archives | merged | Merged after approval and passing CI. Removes mypy and pyright, replacing them with ty; 13 files changed (+16/-506). |