4646 - [x] Update GitHub Actions (if exists)
4747 - [x] Validate local testing
4848
49- ## Current Status
50-
51- Phase 1: Completed - Package structure set up
52- Phase 2: In progress - Core functionality moved, imports being updated
53-
54- ### Phase 1 Completed
55- - ✅ Updated pyproject.toml with dependencies
56- - ✅ Added entry points for version_scheme, local_scheme, parse_scm, parse_scm_fallback
57- - ✅ Created directory structure (_ backends/)
58-
59- ### Phase 2 Progress
60- - ✅ Moved utility files (_ run_cmd, _ node_utils, _ modify_version, _ types, _ entrypoints, _ log, _ compat, _ overrides, _ requirement_cls, _ version_cls)
61- - ✅ Moved VCS backends (git, hg, hg_git) to _ backends/
62- - ✅ Moved scm_workdir to _ backends/
63- - ✅ Moved discover
64- - ✅ Moved fallbacks (as _ fallbacks)
65- - ✅ Moved CLI modules
66- - ✅ Moved config (as public config.py)
67- - ✅ Moved version (as _ version_schemes.py)
68- - ✅ Created scm_version.py (currently re-exports from _ version_schemes)
69- - ✅ Moved _ get_version_impl
70- - ✅ Moved integration utility (_ integration.py)
71- - ✅ Moved toml utility (_ toml.py)
72- - ✅ Created _ pyproject_reading.py with core functionality
73- - ✅ Updated imports in moved files (partially done)
74- - ✅ Created public __ init__ .py with API exports
75-
76- ### Next Steps
77- - Fix remaining import errors
78- - Test basic imports
79- - Commit Phase 1 & 2 work
80-
81- ## Latest Status (October 12, 2025 - Updated)
82-
83- ### ✅ COMPLETED - ALL PHASES
49+ ## Current Status: ✅ ALL PHASES COMPLETE
50+
51+ All phases have been successfully completed and the refactoring is ready for review.
52+
53+ ### Recent Updates (Latest Session)
54+
55+ #### Private Shim Removal (Oct 13, 2025)
56+ - ✅ Removed ` _config.py ` shim from setuptools_scm (not used internally)
57+ - ✅ Removed ` _version_cls.py ` shim from setuptools_scm (not used internally)
58+ - ✅ Removed ` _cli.py ` shim from setuptools_scm (not used internally)
59+ - ✅ Removed ` _get_version_impl.py ` shim from setuptools_scm (not used internally)
60+ - ✅ Updated ` __init__.py ` to import directly from vcs_versioning
61+ - ✅ Updated console entry points to use ` vcs_versioning._cli:main `
62+ - ✅ Updated test imports to use vcs_versioning modules directly
63+ - ✅ All tests still pass (408 passing)
64+
65+ #### Config Module Privacy
66+ - ✅ Renamed ` vcs_versioning/config.py ` → ` vcs_versioning/_config.py `
67+ - ✅ Configuration class remains public (exported in __ all__ )
68+ - ✅ Updated all imports throughout both packages
69+
70+ #### dump_version Migration
71+ - ✅ Moved dump_version logic to ` vcs_versioning/_dump_version.py `
72+ - ✅ Shared templates between both packages (no branding differences)
73+ - ✅ setuptools_scm now imports directly from vcs_versioning
74+
75+ ## Latest Status (October 13, 2025 - Updated)
76+
77+ ### ✅ COMPLETED - ALL PHASES + CLEANUP
8478- ** Phase 1-2** : Package structure and code movement complete
8579- ** Phase 3** : Backward compatibility layer complete
8680 - Circular imports resolved, ScmVersion in _ version_schemes
87- - Re-export stubs in setuptools_scm for backward compatibility
81+ - Re-export stubs in setuptools_scm for PUBLIC API backward compatibility
82+ - ** PRIVATE shims removed** (_ config.py, _ version_cls.py, _ cli.py, _ get_version_impl.py)
8883- ** Phase 4** : Public API properly exported
8984 - vcs_versioning exports Configuration, ScmVersion, Version
90- - setuptools_scm re-exports for backward compatibility
85+ - setuptools_scm imports directly from vcs_versioning (no intermediate shims)
9186- ** Phase 5** : Integration layer rebuilt
9287 - setuptools_scm depends on vcs-versioning
9388 - Entry points properly distributed between packages
89+ - Console scripts use ` vcs_versioning._cli:main `
9490 - File finders remain in setuptools_scm
9591- ** Phase 6** : Test migration complete
96- - VCS-agnostic tests moved to vcs-versioning (79 tests )
97- - Integration tests remain in setuptools_scm (329 tests )
98- - All test imports fixed to use correct modules
92+ - VCS-agnostic tests moved to vcs-versioning (testingB/ )
93+ - Integration tests remain in setuptools_scm (testing/ )
94+ - All test imports use vcs_versioning directly
9995- ** Phase 7** : Progress tracked with regular commits
10096- ** Phase 8** : CI/CD ready
10197 - uv workspace configured
@@ -111,20 +107,24 @@ Phase 2: In progress - Core functionality moved, imports being updated
111107
112108### 📦 Build Status
113109- ` uv sync ` successful
114- - setuptools-scm: version 9.2.2.dev20+g6e22672.d20251012
110+ - setuptools-scm: version 9.2.2.dev40+g97b8bdf.d20251013
115111- vcs-versioning: version 0.0.1
116112- Both packages install and import correctly
113+ - Minimal indirection: __ init__ .py imports directly from vcs_versioning
117114
118115### 🧪 Test Results - ALL PASSING ✅
119- - ** vcs-versioning** : 79 passed
120- - ** setuptools_scm** : 329 passed, 10 skipped, 1 xfailed
121- - ** Total** : 408 tests passing
122- - Test run time: ~ 15s with parallel execution
116+ - ** Total** : 408 passed, 10 skipped, 1 xfailed
117+ - Test run time: ~ 16-17s with parallel execution (` -n12 ` )
118+ - Combined test suite: ` uv run pytest -n12 testing/ nextgen/vcs-versioning/testingB/ `
123119
124120### 🔧 Key Fixes Applied
1251211 . Empty tag regex deprecation warning properly emitted
1261222 . Test mocks patching actual module locations
1271233 . Missing backward compat imports (strip_path_suffix, __ main__ .py)
1281244 . setuptools.dynamic.version conflict warning
1291255 . Test patches for _ git module vs re-exported git
126+ 6 . ** Private shim removal** : No unnecessary re-export layers
127+ 7 . ** Config module privacy** : config.py → _ config.py (Configuration is public)
128+ 8 . ** dump_version migration** : Now in vcs_versioning._ dump_version
129+ 9 . ** Direct imports** : setuptools_scm.__ init__ imports from vcs_versioning
130130
0 commit comments