← Back to issue list

Remove mypy and pyright

View original Github issue

Metadata

Project
craft-providers
Number
#901
Type
issue
State
open
Author
mr-cal
Labels
Type: Enhancement
Created
Updated
Closed

Current evaluation

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.

Suggested action: keep open

Reason: The issue was created by a maintainer (mr-cal), is clearly scoped, and references similar work done in snapcraft#6007. The task remains relevant as mypy and pyright targets are still present in common.mk (lines 153-171). The issue should remain open for someone to implement the migration to ty.

Impact: 50 Quick Win: 35.0 Staleness: 60 Complexity: 30 Confidence: 75 Support Request: 0

Issue body

### What needs to get done Remove pyright and mypy. Similar to https://github.com/canonical/snapcraft/issues/6007 ### Why it needs to get done To migrate to ty without needing to ignore unused type-checker warnings.

Evaluation history

Date Model Scores Action Summary
qwen3.6-35b-a3b-mtp-q6
Impact: 50
Quick Win: 35.0
Staleness: 60
Complexity: 30
Confidence: 75
Support Request: 0
keep 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.
qwen/qwen3.6-35b-a3b
Staleness: 55
Complexity: 45
Confidence: 80
Support Request: 0
needs triage Enhancement to remove mypy and pyright type checkers in favor of migrating to the ty tool. Open for 165 days with no maintainer comments or assignee.
qwen3.6-35b-a3b-mtp-q6
Staleness: 65
Complexity: 15
Confidence: 90
Support Request: 0
needs triage Enhancement to remove mypy and pyright in favor of migrating to the ty type checker. Open for 156 days with no maintainer comments or assignee, awaiting triage.
qwen3.6-35b-a3b-mtp-q6
Staleness: 65
Complexity: 30
Confidence: 75
Support Request: 0
needs triage Enhancement to remove mypy and pyright type checkers in favor of migrating to the ty tool. Open for 140 days with no maintainer comments or assignee.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/snapcraft#6007 (confidence 90%)

    Explicitly referenced in the issue body as the model for this migration; snapcraft#6007 was closed after PR #6247 merged the changes.

  • Related To: craft-cli#420 (confidence 80%)

    Similar issue in another canonical project, also tracking removal of mypy and pyright in favor of ty.

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.
86%
#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.
82%
#1007 style: drop mypy, pyright craft-providers merged Removes mypy and pyright type checkers in favor of ty, updating Makefile, common.mk, pyproject.toml, and uv.lock across 16 files (+24/-241). Fresh maintainer PR, CI green, pending review; directly implements issue #901.
77%
#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.
76%
#326 fix type checking craft-providers open Enhancement to improve type checking with pyright strict mode and mypy. Issue is 1172 days old; project has since migrated to ty and dropped mypy/pyright.
75%
#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.
74%
#263 Migrate type checking to ty. imagecraft closed 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.
72%
#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.
71%
#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.
70%
#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.
70%