← Back to issue list

Make error names more idiomatic

View original Github issue

Metadata

Project
craft-parts
Number
#1729
Type
issue
State
open
Author
bepri
Labels
—
Created
Updated
Closed
—

Current evaluation

Maintainer-authored style task: 38 exception/warning classes in craft_parts/errors.py and craft_parts/packages/errors.py carry `# noqa: N818`; maintainers agreed to add correctly named errors and deprecate old names at the next major release.

Suggested action: keep open

Reason: The issue is valid and still unaddressed: `grep 'noqa: N818'` returns 38 hits across craft_parts/errors.py and craft_parts/packages/errors.py (e.g. PartDependencyCycle, InvalidPartName, PackagesNotFound), and no recent commit renames them — the errors.py/packages/errors.py history only shows feature and refactor commits. Both the reporter (bepri) and mr-cal are maintainers, and mr-cal's comment defines a concrete migration strategy ('creating correctly named errors and subclassing the old errors ... Later, a major release would remove the old errors'), so the issue is triaged and planned rather than unresolved or stale. Impact is limited to API tidiness/consistency, but renaming risks breaking downstream consumers (craft-apps, craftctl) that catch these exceptions, which justifies the compat-subclass plan.

Evaluated by: mr-cal-bot

Impact: 35 Quick Win: 10 Complexity: 62 Confidence: 86 Actionability: 72

Issue body

### What needs to get done A number of our error types have to do `noqa: N818` because they don't end in the word "Error" -- see https://github.com/search?q=repo%3Acanonical%2Fcraft-parts%20noqa%3A%20n818&type=code ### Why it needs to get done To be more idiomatic.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 35
Quick Win: 10
Complexity: 62
Confidence: 86
Actionability: 72
keep open Maintainer-authored style task: 38 exception/warning classes in craft_parts/errors.py and craft_parts/packages/errors.py carry `# noqa: N818`; maintainers agreed to add correctly named errors and deprecate old names at the next major release.
stealth/space-bunny-alpha
Impact: 42
Quick Win: 10
Complexity: 68
Confidence: 93
Actionability: 78
keep open Making dozens of exception and warning classes use idiomatic *Error names; maintainers proposed compatibility subclasses, migration, and major-release removal of legacy names.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 11
Complexity: 55
Confidence: 75
Actionability: 80
needs triage Rename ~30 error classes in craft_parts to follow Python naming conventions (end in 'Error'), removing noqa: N818 comments.

Update history

Date Change
updated
updated
created

Related issues

No related issues found above the similarity threshold.