From c2beb80a89045017828d9621d39f9c3c3d801857 Mon Sep 17 00:00:00 2001
From: Christoph Groth <christoph.groth@cea.fr>
Date: Tue, 11 Apr 2017 20:50:58 +0200
Subject: [PATCH] version: reduce the amount of global code and variables

---
 kwant/version.py | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/kwant/version.py b/kwant/version.py
index 8360166c..70e6b4d8 100644
--- a/kwant/version.py
+++ b/kwant/version.py
@@ -18,8 +18,6 @@ __all__ = []
 
 package_root = os.path.dirname(os.path.realpath(__file__))
 distr_root = os.path.dirname(package_root)
-version_file = '_kwant_version.py'
-
 
 def ensure_python(required_version=(3, 4)):
     v = sys.version_info
@@ -85,13 +83,16 @@ def get_version_from_git():
     return "".join(version)
 
 
-# populate the version_info dictionary with values stored in the version file
-version_info = {}
-with open(os.path.join(package_root, version_file), 'r') as f:
-    exec(f.read(), {}, version_info)
-version = version_info['version']
-version_is_from_git = (version == "__use_git__")
-if version_is_from_git:
-    version = get_version_from_git()
-    if not version:
-        version = "unknown"
+def init(version_file='_kwant_version.py'):
+    global version, version_is_from_git
+    version_info = {}
+    with open(os.path.join(package_root, version_file), 'r') as f:
+        exec(f.read(), {}, version_info)
+    version = version_info['version']
+    version_is_from_git = (version == "__use_git__")
+    if version_is_from_git:
+        version = get_version_from_git()
+        if not version:
+            version = "unknown"
+
+init()
-- 
GitLab