diff --git a/src/maine_forms_engine/__init__.py b/src/maine_forms_engine/__init__.py index bbf8a1b..e22b895 100644 --- a/src/maine_forms_engine/__init__.py +++ b/src/maine_forms_engine/__init__.py @@ -9,4 +9,11 @@ NOT legal advice — see DISCLAIMER.md. """ -__version__ = "0.5.0" +from importlib.metadata import PackageNotFoundError, version + +try: + # Derive from installed package metadata so it can never drift from pyproject. + __version__ = version("maine-forms-engine") +except PackageNotFoundError: + # Fallback for a source tree that isn't installed; keep in sync with pyproject. + __version__ = "0.6.0" diff --git a/tests/test_version.py b/tests/test_version.py new file mode 100644 index 0000000..b0ed2ae --- /dev/null +++ b/tests/test_version.py @@ -0,0 +1,11 @@ +"""The package's ``__version__`` must match the installed distribution +metadata (which is built from pyproject's ``version``), so a check keyed on +``maine_forms_engine.__version__`` can never read a stale, hand-edited value. +""" +from importlib.metadata import version + +import maine_forms_engine + + +def test_version_matches_installed_metadata(): + assert maine_forms_engine.__version__ == version("maine-forms-engine")