diff --git a/docs/conf.py b/docs/conf.py index 181b36b..4cac5c4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -27,10 +27,41 @@ copyright = f"2020-{date.today().year}, DeepModeling " author = "DeepModeling" -# The short X.Y version -version = "0.0" -# The full version, including alpha/beta/rc tags -release = "0.0.0-rc" + +def _get_release() -> str: + """Return the SCM or installed-package version for documentation builds.""" + try: + from setuptools_scm import get_version + except ImportError: + pass + else: + try: + return get_version(root="..", relative_to=__file__) + except LookupError: + # Installed source archives may not include Git metadata. + pass + + try: + from importlib.metadata import PackageNotFoundError + from importlib.metadata import version as get_version + except ImportError: + try: + from importlib_metadata import PackageNotFoundError + from importlib_metadata import version as get_version + except ImportError: + return "0+unknown" + + try: + return get_version("dargs") + except PackageNotFoundError: + # Keep source-tree docs usable when neither package metadata nor SCM + # tooling is available. + return "0+unknown" + + +# Sphinx displays the short X.Y value separately from the full release string. +release = _get_release() +version = ".".join(release.split("+", 1)[0].split(".")[:2]) # -- General configuration ---------------------------------------------------