From 24f7e12efbb925ca8a4a48afea466f095d8023ea Mon Sep 17 00:00:00 2001 From: Waylan Limberg Date: Tue, 6 Apr 2021 15:30:35 -0400 Subject: [PATCH] Replace pgk_resources.parse_version with packaging.version.parse This removes the final dependency in pkg_resources. Closes #2347. --- mkdocs/commands/gh_deploy.py | 16 ++++++++-------- requirements/project-min.txt | 1 + requirements/project.txt | 1 + setup.py | 3 ++- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/mkdocs/commands/gh_deploy.py b/mkdocs/commands/gh_deploy.py index 63d35221..5c260643 100644 --- a/mkdocs/commands/gh_deploy.py +++ b/mkdocs/commands/gh_deploy.py @@ -2,7 +2,7 @@ import logging import subprocess import os import re -from pkg_resources import parse_version +from packaging import version import mkdocs import ghp_import @@ -65,20 +65,20 @@ def _check_version(branch): stdout, _ = proc.communicate() msg = stdout.decode('utf-8').strip() m = re.search(r'\d+(\.\d+)+((a|b|rc)\d+)?(\.post\d+)?(\.dev\d+)?', msg, re.X | re.I) - previousv = parse_version(m.group()) if m else None - currentv = parse_version(mkdocs.__version__) + previousv = version.parse(m.group()) if m else None + currentv = version.parse(mkdocs.__version__) if not previousv: log.warning('Version check skipped: No version specified in previous deployment.') elif currentv > previousv: log.info( - 'Previous deployment was done with MkDocs version {}; ' - 'you are deploying with a newer version ({})'.format(previousv, currentv) + f'Previous deployment was done with MkDocs version {previousv}; ' + f'you are deploying with a newer version ({currentv})' ) elif currentv < previousv: log.error( - 'Deployment terminated: Previous deployment was made with MkDocs version {}; ' - 'you are attempting to deploy with an older version ({}). Use --ignore-version ' - 'to deploy anyway.'.format(previousv, currentv) + f'Deployment terminated: Previous deployment was made with MkDocs version {previousv}; ' + f'you are attempting to deploy with an older version ({currentv}). Use --ignore-version ' + 'to deploy anyway.' ) raise SystemExit(1) diff --git a/requirements/project-min.txt b/requirements/project-min.txt index 526feec6..aaf3237a 100644 --- a/requirements/project-min.txt +++ b/requirements/project-min.txt @@ -9,3 +9,4 @@ ghp-import==1.0 pyyaml_env_tag==0.1 mkdocs-redirects==1.0.1 importlib_metadata==3.10.0 +packaging==20.5 diff --git a/requirements/project.txt b/requirements/project.txt index 7d1b5269..1f568f37 100644 --- a/requirements/project.txt +++ b/requirements/project.txt @@ -9,3 +9,4 @@ ghp-import>=1.0 pyyaml_env_tag>=0.1 mkdocs-redirects>=1.0.1 importlib_metadata>=3.10 +packaging>=20.5 diff --git a/setup.py b/setup.py index d468d52e..1e00a25b 100755 --- a/setup.py +++ b/setup.py @@ -60,7 +60,8 @@ setup( 'tornado>=5.0', 'ghp-import>=1.0', 'pyyaml_env_tag>=0.1', - 'importlib_metadata>=3.10' + 'importlib_metadata>=3.10', + 'packaging>=20.5' ], python_requires='>=3.6', entry_points={