From 7404490562ea6c9aff50a0ddee837f8abe9b25e1 Mon Sep 17 00:00:00 2001
From: Markus Holzer <markus.holzer@fau.de>
Date: Mon, 25 Jan 2021 13:45:24 +0100
Subject: [PATCH] Added version number to pystencils

---
 pystencils/__init__.py                  | 12 ++++++++++++
 pystencils_tests/test_version_string.py | 12 ++++++++++++
 2 files changed, 24 insertions(+)
 create mode 100644 pystencils_tests/test_version_string.py

diff --git a/pystencils/__init__.py b/pystencils/__init__.py
index 18679382f..d2abab709 100644
--- a/pystencils/__init__.py
+++ b/pystencils/__init__.py
@@ -21,6 +21,18 @@ try:
 except ImportError:
     pass
 
+
+def _get_release_file():
+    import os.path
+    file_path = os.path.abspath(os.path.dirname(__file__))
+    return os.path.join(file_path, '..', 'RELEASE-VERSION')
+
+
+try:
+    __version__ = open(_get_release_file(), 'r').read()
+except IOError:
+    __version__ = 'development'
+
 __all__ = ['Field', 'FieldType', 'fields',
            'TypedSymbol',
            'make_slice',
diff --git a/pystencils_tests/test_version_string.py b/pystencils_tests/test_version_string.py
new file mode 100644
index 000000000..b1c0b28fc
--- /dev/null
+++ b/pystencils_tests/test_version_string.py
@@ -0,0 +1,12 @@
+import pystencils as ps
+from pathlib import Path
+
+def test_version_string():
+    file_path = Path(__file__).parent
+    release_version = file_path.parent.absolute() / 'RELEASE-VERSION'
+    if release_version.exists ():
+        with open(release_version, "r") as f:
+            version = f.read()
+        assert ps.__version__ == version
+    else:
+        assert ps.__version__ == "development"
-- 
GitLab