← Back to issue list

Include humanize_list function as a utility

View original Github issue

Metadata

Project
craft-cli
Number
#183
Type
issue
State
open
Author
lengau
Labels
Created
Updated
Closed

Current evaluation

Proposal to move humanize_list from craft-parts into craft-cli as a shared utility. Step 1 is done (function and tests exist in craft_cli/utils.py), but the team pivoted to python-humanize 4.11.0 (craft-parts PR #997); issue open, inactive about 19 months.

Suggested action: close stale

Reason: Step 1 is complete — humanize_list and its tests exist in craft_cli/utils.py (plus fix #425) — and the discussion pivoted to python-humanize 4.11.0, with lengau experimenting in craft-parts PR #997 (Jan 2025), making the original copy-paste plan obsolete; no activity for ~19 months. If apps migrate to python-humanize, the remaining steps (releases, app updates, cross-reference comments) are moot.

Impact: 25 Quick Win: 13.75 Staleness: 75 Complexity: 45 Confidence: 70 Support Request: 5

Issue body

### What needs to get done 1. Copy this function and its relevant tests to `craft-cli`: https://github.com/canonical/craft-parts/blob/main/craft_parts/utils/formatting_utils.py 2. Make a `craft-cli` release 3. Update craft apps to reference this function instead of their own instances of it. 4. Make comments both here and in the `craft-parts` implementation that the function exists in the other location so we can copy bug fixes if needed. (No functional changes in craft-parts) ### Why it needs to get done Reduced copy/pasting of code for improved maintainability

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 25
Quick Win: 13.75
Staleness: 75
Complexity: 45
Confidence: 70
Support Request: 5
close stale Proposal to move humanize_list from craft-parts into craft-cli as a shared utility. Step 1 is done (function and tests exist in craft_cli/utils.py), but the team pivoted to python-humanize 4.11.0 (craft-parts PR #997); issue open, inactive about 19 months.
qwen/qwen3.6-35b-a3b
Staleness: 90
Complexity: 20
Confidence: 90
Support Request: 0
close stale Proposal to extract humanize_list to craft-cli was superseded by python-humanize v4.11.0. Author already testing the external library in craft-parts, making the original copy-paste proposal obsolete.
qwen3.6-35b-a3b-mtp-q6
Staleness: 75
Complexity: 10
Confidence: 85
Support Request: 0
close stale Proposal to centralize humanize_list in craft-cli was superseded by adopting python-humanize. Original author is testing the external library in craft-parts. Issue remains open but effectively resolved by alternative approach.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 20
Confidence: 80
Support Request: 10
close stale Proposes consolidating humanize_list across craft projects to reduce duplication. Discussion shifted to adopting python-humanize v4.11.0. Currently under discussion with an experimental craft-parts PR awaiting final decision.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/craft-parts#997 (confidence 80%)

    Referenced in lengau's last comment (2025-01-29) as the experiment with humanize 4.11 in craft-parts, the successor approach to this issue's plan.

  • Related To: python-humanize/humanize#110 (confidence 70%)

    Explicitly cross-referenced in comments; landed in humanize 4.11.0 (Oct 2024) and enabled the pivot away from the craft-cli utility.

Related issues

No related issues found above the similarity threshold.