Skip to content

Commit 24220c8

Browse files
authored
Add __version__ to __init__.py and add pytests (#32)
1 parent 93cbfc2 commit 24220c8

File tree

3 files changed

+20
-4
lines changed

3 files changed

+20
-4
lines changed

pyproject.toml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ testpaths = [
2020
]
2121
[tool.coverage.run]
2222
source = ["src"]
23-
omit = ["*/version.py"]
2423

2524
[project.optional-dependencies]
2625
testing = [
@@ -29,6 +28,3 @@ testing = [
2928
"flake8",
3029
"mypy",
3130
]
32-
33-
#[tool.setuptools_scm]
34-
#version_file = "src/spellbind/version.py"

src/spellbind/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
try:
2+
from importlib.metadata import version
3+
__version__ = version("spellbind")
4+
except Exception:
5+
__version__ = "unknown"

tests/test_version.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import re
2+
3+
import spellbind
4+
5+
6+
def test_version_exists():
7+
assert hasattr(spellbind, '__version__')
8+
assert spellbind.__version__ is not None
9+
10+
11+
def test_version_format():
12+
version = spellbind.__version__
13+
# Should be semver-like: 0.1.0, 0.1.0.dev1+g123abc.d20250609, etc.
14+
pattern = r'^\d+\.\d+\.\d+(?:\.dev\d+\+g[a-f0-9]+(?:\.d\d{8})?)?$'
15+
assert re.match(pattern, version), f"Version '{version}' doesn't match expected format"

0 commit comments

Comments
 (0)