Remove pylint in favour of ruff
Metadata
Current evaluation
Pylint was dropped in favour of ruff by merged PR #580 (commit 111c8907, "chore(linter): enable ruff base on starbase config"), removing the [tool.pylint] config and CI/Makefile/dependency usage; ruff config expanded to cover it.
Resolution: closed resolved
Reason: PR #580 was merged as commit 111c8907, which deleted the [tool.pylint] section from pyproject.toml and enabled ruff-based linting/formatting (tool.ruff, tool.ruff.lint) via common.mk targets lint-ruff/format-ruff; no pylint config or Makefile/CI references remain at HEAD. Interim mitigations were #565 (pin pylint version) and #567 (fix linter issues).
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Pylint was dropped in favour of ruff by merged PR #580 (commit 111c8907, "chore(linter): enable ruff base on starbase config"), removing the [tool.pylint] config and CI/Makefile/dependency usage; ruff config expanded to cover it. | |
| stealth/space-bunny-alpha | — | closed resolved | Pylint was removed and Ruff enabled via merged PR #580 (commit 111c8907), resolving the Pylint 3.0 CI breakage. | |
| qwen/qwen3.6-35b-a3b | — | — | Resolved by migrating from pylint to ruff to fix CI breaks caused by pylint 3.0. Commit 111c8907 removed pylint configuration and dependencies, completing the switch via PR #580. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
95
Complexity:
15
Confidence:
85
Support Request:
0
|
needs triage | Task to migrate project linting from pylint to ruff. Open for over two years with no maintainer assessment, labels, or recent activity beyond an automated Jira sync. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
90
Complexity:
40
Confidence:
75
Support Request:
5
|
close stale | Task to migrate CI linting from pylint to ruff after pylint 3.0 broke builds. Open for over two years with no maintainer follow-up or implementation progress. |
Update history
| Date | Change |
|---|---|
| closed |
Related work
-
Likely Fixed By:
canonical/craft-parts#580
(confidence 97%)
Merged PR that replaced pylint with a starbase-style ruff configuration; removes [tool.pylint] from pyproject.toml and covers items 1-5 of the issue.
-
Related To:
canonical/craft-parts#567
(confidence 72%)
Interim commit c41f86d6 'ci: fix linter issues' patched pylint 3.0 breakage before pylint was removed.
-
Related To:
canonical/craft-parts#565
(confidence 70%)
Commit 174d0e88 'ci: pin pylint version' temporarily pinned pylint to keep CI green prior to the ruff switch.
-
Related To:
canonical/snapcraft#4817
(confidence 60%)
Same pylint-to-ruff removal performed in the sibling snapcraft repo.
-
Related To:
canonical/craft-parts#433
(confidence 55%)
Commit 7dbf0405 'tox: basic tox from starbase' touched pylint config as part of the broader tooling migration.
-
Related To:
canonical/rockcraft#675
(confidence 55%)
Parallel pylint -> ruff replacement in rockcraft, adding ruff to CI and requirements.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #118 style: remove pylint | craft-store | merged | Merged PR #118 as commit beb9201, removing Pylint configuration and tooling after Ruff had replaced it. | |
| #675 style(lint): replace pylint with ruff | rockcraft | merged | Merged as b7d70598, replacing pylint with Ruff, adding Ruff to CI and project requirements, and enabling equivalent lint coverage. | |
| #4817 style: remove pylint | snapcraft | merged | Merged as a9badaa32, removing Pylint from lint tooling, configuration, and source suppressions after Ruff had replaced nearly all of it. | |
| #4712 Move more linting to ruff | snapcraft | closed | Ruff linting was completed and aligned with Starbase; pylint and isort were removed in #4817 and commit a00f1c439, followed by pylint cleanup in #4848. | |
| #651 chore(linter): refine ruff configurations | craft-parts | merged | Merged PR #651 (commit 658dde3c) re-added previously removed Pylint (PLR) rules to the Ruff lint config in pyproject.toml, now present as [tool.ruff.lint.pylint] and per-file ignores. | |
| #481 build: update ruff settings | rockcraft | closed | Ruff lint-config tweak PR closed unmerged; maintainer lengau closed it 2024-08-28 as superseded by #675 ("style(lint): replace pylint with ruff", merged as commit b7d70598). | |
| #288 lint: add ruff, remove autoflake, flake8, isort, pydocstyle, pylint | craft-providers | merged | Merged PR #288 in commit 42a7920, replacing autoflake, flake8, isort, pydocstyle, and pylint with Ruff; deferred Ruff rule cleanup was tracked in #287. | |
| #173 tools: enable ruff | craft-cli | merged | Merged PR #173 enabled Ruff, removed pylint, and fixed related mypy, pyright, test, and coverage issues; it explicitly fixes canonical/craft-cli#146. | |
| #59 Run pylint in Github CI. | craft-cli | merged | Merged PR #59 added pylint to GitHub CI via ad06d5c (merge 6dafc86); later PR #173 replaced pylint with Ruff. | |
| #4602 build(lint): use ruff from snap | snapcraft | merged | Merged PR #4602 (8a9a5c212) replaced pyright-based CI linting with Ruff supplied by its snap for more predictable tool upgrades. |