Reduce the scope of the public API
Metadata
Current evaluation
Maintainer-filed refactor to shrink craft-parts' public API by making module files private (underscore prefix) and exporting only relevant names via __all__. No comments or labels; __all__ exists in several packages but module files are still public, so work is incomplete.
Suggested action: needs triage
Reason: The issue has no labels, no comments, and no maintainer response in 780 days, so it has never been triaged. It is not stale-closeable because the core work is still unaddressed: craft_parts/__init__.py still does `from .actions import ...` (public module), and no commit renamed module files to underscore-prefixed names. PR #142 (commit 7dbb5778, 'api: add missing typed marker and declare public api names') only partially overlaps by adding __all__ entries, so the issue remains valid but needs a maintainer decision on whether to pursue this breaking refactor.
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.8-27b |
Impact:
50
Quick Win:
12.5
Staleness:
72
Complexity:
75
Confidence:
70
Support Request:
0
|
needs triage | Maintainer-filed refactor to shrink craft-parts' public API by making module files private (underscore prefix) and exporting only relevant names via __all__. No comments or labels; __all__ exists in several packages but module files are still public, so work is incomplete. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
90
Complexity:
35
Confidence:
80
Support Request:
10
|
needs triage | Proposal to restrict the public API by prefixing internal modules with underscores and defining __all__ in __init__.py files. Untriaged, no maintainer comments, inactive for over two years. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
85
Complexity:
40
Confidence:
75
Support Request:
5
|
needs triage | Refactor module visibility by prefixing files with underscores and defining __all__ in __init__.py to limit the public API. Unlabelled and inactive for over a year, awaiting maintainer assessment. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
85
Complexity:
20
Confidence:
70
Support Request:
0
|
needs triage | Restrict the public API by prefixing module files with underscores and using __all__ in __init__.py. This clarifies breaking changes as the library grows. Open, no comments, needs triage and assignment. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/craft-parts#142
(confidence 75%)
PR #142 added py.typed and declared public API names via __all__ in several __init__.py files, partially addressing the 'make only relevant items public' half of this issue, but did not rename module files to be private.
Related issues
No related issues found above the similarity threshold.