style: replace mypy and pyright with ty
Metadata
Current evaluation
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.
Suggested action: —
No scores available.
Issue body
Move to only using ty for linting. The targets to stop setting up mypy and pyright will come in from Starbase once all of our repos are ready.
Best for per-commit reviewing.
---
- [ ] I've followed the [contribution guidelines](https://github.com/canonical/rockcraft/blob/main/CONTRIBUTING.md).
- [ ] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/).
- [ ] I've successfully run `make lint && make test`.
- [ ] I've added or updated any relevant documentation.
- [ ] In documents I changed, I [added a meta description](https://canonical-starflow.readthedocs-hosted.com/how-to/add-a-page-meta-description/) if one was missing.
- [ ] I've updated the relevant release notes.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged changes replacing mypy and pyright with ty for linting. The toolchain update streamlines configuration, with remaining CI targets to be migrated via Starbase once all repositories are ready. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a pull request replacing mypy and pyright with ty for linting. The change consolidates type checking into a single tool, with future Starbase configuration targets to follow once all repositories are prepared. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #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. | |
| #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. | |
| #1084 style: replace mypy and pyright with ty | craft-application | merged | 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. | |
| #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. | |
| #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. | |
| #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). | |
| #265 tools: use starbase configuration for mypy | rockcraft | merged | Merged. Updated mypy configuration to use starbase settings, with stricter rules temporarily disabled. Approved by two reviewers, passed CI, and modified four files (+31/-25 lines). | |
| #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. |