You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactor version schemes into proper package structure
- Create _scm_version.py module with ScmVersion, meta(), tag_to_version() and parsing utilities
- Create _version_schemes/ package with organized submodules:
- _common.py: shared utilities (SEMVER constants, combine_version_with_local_parts)
- _standard.py: standard version and local schemes
- _towncrier.py: towncrier-based version scheme
- __init__.py: public API with format_version()
- Update all imports throughout vcs-versioning and setuptools-scm
- Update test imports to use new module structure
- Delete old _version_schemes.py and _version_schemes_towncrier.py files
This refactoring improves code organization by:
1. Separating the core ScmVersion data structure from version schemes
2. Grouping related schemes in dedicated modules
3. Making the package structure more maintainable and extensible
4. Maintaining full backward compatibility through re-exports
All tests pass (380 vcs-versioning + 127 setuptools-scm)
0 commit comments