← Back to issue list

Migrate to pathlib

View original Github issue

Metadata

Project
craft-parts
Number
#1317
Type
issue
State
open
Author
lengau
Labels
Type: Refactor Status: Triaged
Created
Updated
Closed
—

Current evaluation

Broad os.path-to-pathlib refactor is recorded as completed by merged PR #1424 (commit cfdabafc), with migration-state YAML compatibility preserved; #1317 remains open but is ready to close.

Suggested action: close resolved

Reason: Git history identifies commit cfdabafc as “refactor: use pathlib internally (#1424),” and related issue #1572 explicitly says PR #1424 completed the pathlib migration while preserving string-based migration-state YAML compatibility. This directly supports closing #1317 as resolved despite its stale open state.

Evaluated by: mr-cal-bot

Impact: 32 Quick Win: 11 Complexity: 64 Confidence: 97 Actionability: 95

Issue body

### What needs to get done We have many places where we use older `os.path` tools, which we should move to using `pathlib` ### Why it needs to get done Modern Python, yo!

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 32
Quick Win: 11
Complexity: 64
Confidence: 97
Actionability: 95
close resolved Broad os.path-to-pathlib refactor is recorded as completed by merged PR #1424 (commit cfdabafc), with migration-state YAML compatibility preserved; #1317 remains open but is ready to close.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 14
Complexity: 40
Confidence: 95
Actionability: 80
close resolved Refactor issue to migrate os.path usage to pathlib across the codebase. Resolved by merged PR #1424.
qwen/qwen3.8-27b
Impact: 20
Quick Win: 11
Staleness: 60
Complexity: 45
Confidence: 80
Support Request: 0
keep open Refactor to replace legacy os.path usage with pathlib. Triaged; a contributor took it on in Oct 2025 but no PR has landed since. PR #1424 partially migrated the codebase, yet ~59 os.path usages remain, so the work is incomplete.
qwen/qwen3.6-35b-a3b
Staleness: 65
Complexity: 20
Confidence: 90
Support Request: 5
keep open Refactor codebase to replace legacy os.path usage with modern pathlib. Issue is triaged, accepted by a contributor, and awaiting implementation.
qwen3.6-35b-a3b-mtp-q6
Staleness: 70
Complexity: 40
Confidence: 75
Support Request: 0
keep open Refactor issue to replace os.path with pathlib. Triaged and assigned to a contributor in October 2025, but has seen no updates or PRs for over seven months.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: craft-parts#1424 (confidence 99%)

    Merged refactor commit cfdabafc is explicitly titled “refactor: use pathlib internally” and is recorded as resolving the migration work.

  • Related To: craft-parts#1572 (confidence 98%)

    The related breaking-migration issue records PR #1424 and commit cfdabafc as completing pathlib migration while preserving YAML string compatibility.

Related issues

Issue Project State Summary Similarity
#1572 Breaking migrations to pathlib craft-parts closed Pathlib migration was completed in merged PR #1424 (commit cfdabafc), while preserving string-based YAML serialization for migration-state paths.
84%
#1424 refactor: use pathlib internally craft-parts merged Merged PR #1424 as commit cfdabafc, replacing internal os.path calls with pathlib across 95 files while preserving the public API and migration-state serialization.
76%