Browse code

change default names for version modules and variables

Change 'version.py' to '_version.py' and make the 'version'
module attribute '__version__' instead.

Joseph Weston authored on 24/02/2018 15:37:54
Showing 4 changed files
... ...
@@ -31,23 +31,22 @@ Then copy the following snippets into the appropriate files:
31 31
 
32 32
 ```python
33 33
 # Your package's __init__.py
34
-from . import version
35
-__version__ = version.version
36
-del version
34
+from ._version import __version__
35
+del _version
37 36
 ```
38 37
 
39 38
 ```python
40 39
 # Your project's setup.py
41 40
 
42
-# Loads version.py module without importing the whole package.
41
+# Loads _version.py module without importing the whole package.
43 42
 def get_version_and_cmdclass(package_name):
44 43
     import os
45 44
     from importlib.util import module_from_spec, spec_from_file_location
46 45
     spec = spec_from_file_location('version',
47
-                                   os.path.join(package_name, 'version.py'))
46
+                                   os.path.join(package_name, '_version.py'))
48 47
     module = module_from_spec(spec)
49 48
     spec.loader.exec_module(module)
50
-    return module.version, module.cmdclass
49
+    return module.__version__, module.cmdclass
51 50
 
52 51
 
53 52
 version, cmdclass = get_version_and_cmdclass('my_package')
... ...
@@ -1,3 +1,2 @@
1
-from . import version
2
-__version__ = version.version
3
-del version
1
+from ._version import __version__
2
+del _version
4 3
similarity index 97%
5 4
rename from miniver/version.py
6 5
rename to miniver/_version.py
... ...
@@ -134,11 +134,11 @@ def get_version_from_git_archive(version_info):
134 134
         return Version('unknown', dev=None, labels=[f'g{git_hash}'])
135 135
 
136 136
 
137
-version = get_version()
137
+__version__ = get_version()
138 138
 
139 139
 # The following section defines a module global 'cmdclass',
140 140
 # which can be used from setup.py. The 'package_name' and
141
-# 'version' module globals are used (but not modified).
141
+# '__version__' module globals are used (but not modified).
142 142
 
143 143
 def _write_version(fname):
144 144
     # This could be a hard link, so try to delete it first.  Is there any way
... ...
@@ -149,7 +149,7 @@ def _write_version(fname):
149 149
         pass
150 150
     with open(fname, 'w') as f:
151 151
         f.write("# This file has been created by setup.py.\n"
152
-                "version = '{}'\n".format(version))
152
+                "version = '{}'\n".format(__version__))
153 153
 
154 154
 
155 155
 class _build(build_orig):
... ...
@@ -9,10 +9,10 @@ def get_version_and_cmdclass(package_name):
9 9
     import os
10 10
     from importlib.util import module_from_spec, spec_from_file_location
11 11
     spec = spec_from_file_location('version',
12
-                                   os.path.join(package_name, 'version.py'))
12
+                                   os.path.join(package_name, '_version.py'))
13 13
     module = module_from_spec(spec)
14 14
     spec.loader.exec_module(module)
15
-    return module.version, module.cmdclass
15
+    return module.__version__, module.cmdclass
16 16
 
17 17
 
18 18
 version, cmdclass = get_version_and_cmdclass('miniver')