Merge lp:~cjwatson/lazr.restfulclient/faster-version into lp:lazr.restfulclient

Proposed by Colin Watson
Status: Merged
Merged at revision: 175
Proposed branch: lp:~cjwatson/lazr.restfulclient/faster-version
Merge into: lp:lazr.restfulclient
Diff against target: 93 lines (+13/-13)
4 files modified
NEWS.rst (+2/-0)
setup.py (+2/-4)
src/lazr/restfulclient/__init__.py (+6/-5)
src/lazr/restfulclient/docs/conf.py (+3/-4)
To merge this branch: bzr merge lp:~cjwatson/lazr.restfulclient/faster-version
Reviewer Review Type Date Requested Status
Cristian Gonzalez (community) Approve
Review via email: mp+408470@code.launchpad.net

Commit message

Adjust versioning strategy to avoid importing pkg_resources, which is slow in large environments.

To post a comment you must log in.
Revision history for this message
Cristian Gonzalez (cristiangsp) wrote :

Looks good!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'NEWS.rst'
2--- NEWS.rst 2021-01-18 23:11:05 +0000
3+++ NEWS.rst 2021-09-13 09:39:14 +0000
4@@ -6,6 +6,8 @@
5 ======
6
7 - Drop support for Python < 2.6.
8+ - Adjust versioning strategy to avoid importing pkg_resources, which is
9+ slow in large environments.
10
11 0.14.3 (2020-01-27)
12 ===================
13
14=== modified file 'setup.py'
15--- setup.py 2019-11-04 12:35:42 +0000
16+++ setup.py 2021-09-13 09:39:14 +0000
17@@ -36,8 +36,6 @@
18 # end generic helpers
19
20
21-__version__ = open("src/lazr/restfulclient/version.txt").read().strip()
22-
23 tests_require = [
24 'fixtures>=1.3.0',
25 'lazr.authentication',
26@@ -51,11 +49,10 @@
27
28 setup(
29 name='lazr.restfulclient',
30- version=__version__,
31+ version='0.14.4',
32 namespace_packages=['lazr'],
33 packages=find_packages('src'),
34 package_dir={'':'src'},
35- package_data={'lazr.restfulclient': ['version.txt']},
36 include_package_data=True,
37 zip_safe=False,
38 maintainer='LAZR Developers',
39@@ -69,6 +66,7 @@
40 'distro',
41 'httplib2; python_version < "3"',
42 'httplib2>=0.7.7; python_version >= "3"',
43+ 'importlib-metadata; python_version < "3.8"',
44 'oauthlib',
45 'setuptools',
46 'six',
47
48=== modified file 'src/lazr/restfulclient/__init__.py'
49--- src/lazr/restfulclient/__init__.py 2018-04-27 13:37:34 +0000
50+++ src/lazr/restfulclient/__init__.py 2021-09-13 09:39:14 +0000
51@@ -16,8 +16,9 @@
52 # License along with lazr.restfulclient. If not, see
53 # <http://www.gnu.org/licenses/>.
54
55-import pkg_resources
56-__version__ = pkg_resources.resource_string(
57- "lazr.restfulclient", "version.txt").strip()
58-if not isinstance(__version__, str):
59- __version__ = __version__.decode('ASCII')
60+try:
61+ import importlib.metadata as importlib_metadata
62+except ImportError:
63+ import importlib_metadata
64+
65+__version__ = importlib_metadata.version("lazr.restfulclient")
66
67=== modified file 'src/lazr/restfulclient/docs/conf.py'
68--- src/lazr/restfulclient/docs/conf.py 2018-05-08 08:05:00 +0000
69+++ src/lazr/restfulclient/docs/conf.py 2021-09-13 09:39:14 +0000
70@@ -12,8 +12,7 @@
71 # All configuration values have a default; values that are commented out
72 # serve to show the default.
73
74-with open('../version.txt') as version_file:
75- _version = version_file.read().strip()
76+from lazr.restfulclient import __version__
77
78 # If extensions (or modules to document with autodoc) are in another directory,
79 # add these directories to sys.path here. If the directory is relative to the
80@@ -56,9 +55,9 @@
81 # built documents.
82 #
83 # The short X.Y version.
84-version = _version
85+version = __version__
86 # The full version, including alpha/beta/rc tags.
87-release = _version
88+release = __version__
89
90 # The language for content autogenerated by Sphinx. Refer to documentation
91 # for a list of supported languages.
92
93=== removed file 'src/lazr/restfulclient/version.txt'

Subscribers

People subscribed via source and target branches