docs: read version from pybind11 file (#2496)
* docs: read version from pybind11 file
* docs: show full PEP 440 version everywhere
diff --git a/docs/conf.py b/docs/conf.py
index 0946f30..b324276 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -59,11 +59,15 @@
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
-#
-# The short X.Y version.
-version = '2.5'
+
+# Read the listed version
+with open("../pybind11/_version.py") as f:
+ code = compile(f.read(), "../pybind11/_version.py", "exec")
+loc = {}
+exec(code, loc)
+
# The full version, including alpha/beta/rc tags.
-release = '2.5.dev1'
+version = loc["__version__"]
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
@@ -145,7 +149,7 @@
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
-# "<project> v<release> documentation".
+# "<project> v<version> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
diff --git a/setup.py b/setup.py
index c9ba77d..3a03279 100644
--- a/setup.py
+++ b/setup.py
@@ -35,9 +35,9 @@
# Read the listed version
with open("pybind11/_version.py") as f:
code = compile(f.read(), "pybind11/_version.py", "exec")
- loc = {}
- exec(code, loc)
- version = loc["__version__"]
+loc = {}
+exec(code, loc)
+version = loc["__version__"]
# Verify that the version matches the one in C++
with open("include/pybind11/detail/common.h") as f: