From eac0aa13b2944c1a6ac12e10a84d21bb14ed5976 Mon Sep 17 00:00:00 2001 From: Alexander Schepanovski Date: Thu, 12 Sep 2019 22:22:49 +0700 Subject: [PATCH] perf: use packaging.version instead of pkg_resources This is the same functionality without a cost of loading a huge package. --- dvc/updater.py | 6 +++--- setup.py | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dvc/updater.py b/dvc/updater.py index 388d8c94b..d25848b71 100644 --- a/dvc/updater.py +++ b/dvc/updater.py @@ -6,7 +6,7 @@ import time import logging import requests import colorama -from pkg_resources import parse_version +from packaging import version from dvc import __version__ from dvc.lock import Lock, LockError @@ -28,7 +28,7 @@ class Updater(object): # pragma: no cover self.lock = Lock( self.updater_file + ".lock", tmp_dir=os.path.join(dvc_dir, "tmp") ) - self.current = parse_version(__version__).base_version + self.current = version.parse(__version__).base_version def _is_outdated_file(self): ctime = os.path.getmtime(self.updater_file) @@ -95,7 +95,7 @@ class Updater(object): # pragma: no cover json.dump(info, fobj) def _is_outdated(self): - return parse_version(self.current) < parse_version(self.latest) + return version.parse(self.current) < version.parse(self.latest) def _notify(self): if not sys.stdout.isatty(): diff --git a/setup.py b/setup.py index 2598b51b3..0da1837cf 100644 --- a/setup.py +++ b/setup.py @@ -66,6 +66,7 @@ install_requires = [ "pathspec>=0.5.9", "shortuuid>=0.5.0", "tqdm>=4.35.0", + "packaging>=19.0", "win-unicode-console>=0.5; sys_platform == 'win32'", ]