diff --git a/.gitignore b/.gitignore index a4046d35..300c0f82 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,7 @@ share/python-wheels/ .installed.cfg *.egg MANIFEST +formulaic/_version.py # PyInstaller # Usually these files are written by a python script from a template diff --git a/formulaic/__init__.py b/formulaic/__init__.py index 35aca44b..6fb528c0 100644 --- a/formulaic/__init__.py +++ b/formulaic/__init__.py @@ -1,14 +1,23 @@ -from ._version import __author__, __author_email__, __version__ from .formula import Formula, FormulaSpec from .materializers import FactorValues from .model_matrix import ModelMatrix, ModelMatrices from .model_spec import ModelSpec, ModelSpecs from .sugar import model_matrix +try: + from ._version import __version__, __version_tuple__ +except ImportError: # pragma: no cover + __version__ = version = "unknown" + __version_tuple__ = version_tuple = ("unknown",) + +__author__ = "Matthew Wardrop" +__author_email__ = "mpwardrop@gmail.com" + __all__ = [ "__author__", "__author_email__", "__version__", + "__version_tuple__", "Formula", "FormulaSpec", "ModelMatrix", diff --git a/formulaic/_version.py b/formulaic/_version.py deleted file mode 100644 index fba34e00..00000000 --- a/formulaic/_version.py +++ /dev/null @@ -1,5 +0,0 @@ -__all__ = ["__author__", "__author_email__", "__version__"] - -__author__ = "Matthew Wardrop" -__author_email__ = "mpwardrop@gmail.com" -__version__ = "0.0.0" # Updated during build diff --git a/pyproject.toml b/pyproject.toml index 4088ce3f..97e3b6de 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -49,6 +49,9 @@ calculus = ["sympy<1.10,>=1.3"] [tool.hatch.version] source = "vcs" +[tool.hatch.build.hooks.vcs] +version-file = "formulaic/_version.py" + # Build target configuration [tool.hatch.build.targets.sdist]