Migrate type checking to ty.
Metadata
Current evaluation
The request to replace mypy and pyright with ty was closed without comments or linked pull requests. No resolution or merge details were provided, indicating the task was abandoned or completed via an untracked PR.
Suggested action: —
No scores available.
Issue body
### Check existing issues
- [x] I've verified that this request isn't described by any existing issues.
### Request
Stop using the mypy and pyright linters and use ty instead.
The steps to do this (each should be its own commit on the PR):
1. Copy the ty install and lint Makefile options from Starbase into our `common.mk` file: https://github.com/canonical/starbase/commit/c2390f08b633df38b4b1c6edfe48505b50f28391
2. Change the `lint` target in `Makefile` to run `lint-ty` but not `lint-mypy` or `lint-pyright`.
3. Fix any linting errors that are found when running `make lint`. (It may make more sense to make multiple commits for this step.
### The problem it solves
More modern tooling.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | The request to replace mypy and pyright with ty was closed without comments or linked pull requests. No resolution or merge details were provided, indicating the task was abandoned or completed via an untracked PR. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without comments or linked pull requests. The migration from mypy/pyright to ty was not implemented, indicating the task was abandoned or superseded. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation. The request to replace mypy and pyright with ty for type checking was abandoned due to inactivity. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | The migration request to replace mypy and pyright with ty was closed without implementation or a linked pull request. The issue appears abandoned or superseded, leaving the original linting tools in place. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without a linked PR. The migration from mypy and pyright to ty was abandoned or completed independently, as no implementation commits or merge details were recorded. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #6007 Remove mypy and pyright | snapcraft | closed | Mypy and pyright type checkers were removed to enable ty to clean up unused ignore comments. The request was resolved and merged via pull request #6247. | |
| #420 Remove mypy and pyright | craft-cli | closed | Replaced mypy and pyright with ty for type checking. The cleanup was completed and merged via pull request #479. | |
| #901 Remove mypy and pyright | craft-providers | open | Enhancement to remove mypy and pyright type checkers in favor of ty, following similar work in snapcraft#6007. Issue created by maintainer but has had no maintainer response or comments in 136 days. | |
| #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. |