refactor: Centralize version management in single source of truth

- Create src/skill_seekers/_version.py as single source of truth
- Read version dynamically from pyproject.toml at runtime
- Update all __init__.py files to import from _version module
- Add tomli dependency for Python <3.11 (built-in tomllib for 3.11+)
- Remove hardcoded version duplicates (2.7.2 in 3 files)
- Fixes version mismatch: pyproject.toml (2.7.4) vs __init__.py (2.7.2)

Benefits:
- Single place to update version (pyproject.toml)
- No more version mismatches across files
- Automatic version consistency
- Works across Python 3.10-3.13

Before:
- pyproject.toml: 2.7.4
- src/skill_seekers/__init__.py: 2.7.2
- src/skill_seekers/cli/__init__.py: 2.7.2
- src/skill_seekers/mcp/__init__.py: 2.7.2

After:
- pyproject.toml: 2.7.4 (single source of truth)
- All other files: import from _version.py
This commit is contained in:
yusyus
2026-01-31 17:03:40 +03:00
parent 86e77e2a30
commit f726a9abc5
5 changed files with 61 additions and 10 deletions

View File

@@ -61,6 +61,7 @@ dependencies = [
"Pygments>=2.19.2",
"pathspec>=0.12.1",
"networkx>=3.0",
"tomli>=2.0.0; python_version < '3.11'", # TOML parser for version reading
]
[project.optional-dependencies]