Browse code

modify filenames and version-module import from setup.py

Remove usage of deprecated 'imp' module in favour of 'importlib'.
Also remove the package name from as many places as possible.

Joseph Weston authored on 21/02/2018 10:06:07
Showing 5 changed files
... ...
@@ -1,2 +1,2 @@
1 1
 *.ipynb filter=nbclearoutput
2
-adaptive/_adaptive_version.py export-subst
2
+adaptive/_static_version.py export-subst
... ...
@@ -8,9 +8,9 @@ from . import runner
8 8
 from .learner import (Learner1D, Learner2D, AverageLearner,
9 9
                       BalancingLearner, DataSaver, IntegratorLearner)
10 10
 from .runner import Runner, BlockingRunner
11
-from . import _version
11
+from . import version
12 12
 
13
-__version__ = _version.version
13
+__version__ = version.version
14 14
 
15 15
 del notebook_integration  # to avoid confusion with `notebook_extension`
16
-del _version
16
+del version
17 17
similarity index 90%
18 18
rename from adaptive/_adaptive_version.py
19 19
rename to adaptive/_static_version.py
... ...
@@ -1,6 +1,6 @@
1 1
 # This file will be overwritten by setup.py when a source or binary
2 2
 # distribution is made.  The magic value "__use_git__" is interpreted by
3
-# _version.py in this directory.
3
+# version.py.
4 4
 
5 5
 version = "__use_git__"
6 6
 
7 7
similarity index 98%
8 8
rename from adaptive/_version.py
9 9
rename to adaptive/version.py
... ...
@@ -8,7 +8,7 @@ __all__ = []
8 8
 package_root = os.path.dirname(os.path.realpath(__file__))
9 9
 distr_root = os.path.dirname(package_root)
10 10
 
11
-STATIC_VERSION_FILE = '_adaptive_version.py'
11
+STATIC_VERSION_FILE = '_static_version.py'
12 12
 
13 13
 version = None
14 14
 
... ...
@@ -3,7 +3,8 @@
3 3
 
4 4
 import os
5 5
 import sys
6
-import imp
6
+import importlib
7
+from importlib.util import module_from_spec, spec_from_file_location
7 8
 from setuptools import setup, find_packages
8 9
 from setuptools.command.sdist import sdist as sdist_orig
9 10
 from distutils.command.build import build as build_orig
... ...
@@ -14,10 +15,17 @@ if sys.version_info < (3, 6):
14 15
     sys.exit(1)
15 16
 
16 17
 
17
-# Load _version.py module without importing 'adaptive'
18
-_dont_write_bytecode = sys.dont_write_bytecode
19
-version = imp.load_source('version', 'adaptive/_version.py')
20
-sys.dont_write_bytecode = _dont_write_bytecode
18
+package_name = 'adaptive'
19
+
20
+# Load version.py module without importing 'adaptive'
21
+def load_version_module():
22
+    spec = spec_from_file_location('version',
23
+                                   '{}/version.py'.format(package_name))
24
+    module = module_from_spec(spec)
25
+    spec.loader.exec_module(module)
26
+    return module
27
+
28
+version = load_version_module()
21 29
 
22 30
 
23 31
 def write_version(fname):
... ...
@@ -35,15 +43,14 @@ def write_version(fname):
35 43
 class build(build_orig):
36 44
     def run(self):
37 45
         super().run()
38
-        write_version(os.path.join(self.build_lib, 'adaptive',
46
+        write_version(os.path.join(self.build_lib, package_name,
39 47
                                    version.STATIC_VERSION_FILE))
40 48
 
41 49
 
42 50
 class sdist(sdist_orig):
43
-
44 51
     def make_release_tree(self, base_dir, files):
45 52
         super().make_release_tree(base_dir, files)
46
-        write_version(os.path.join(base_dir, 'adaptive',
53
+        write_version(os.path.join(base_dir, package_name,
47 54
                                    version.STATIC_VERSION_FILE))
48 55
 
49 56