From 0831a7ead617294e7ce8b10f5c1d6a0cc7af2628 Mon Sep 17 00:00:00 2001 From: Brian Rutledge Date: Mon, 17 Jan 2022 10:58:53 -0500 Subject: [PATCH 1/4] Silence mypy kwargs error --- twine/repository.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/twine/repository.py b/twine/repository.py index a0164fa5..a0753dda 100644 --- a/twine/repository.py +++ b/twine/repository.py @@ -77,18 +77,22 @@ def __init__( @staticmethod def _make_adapter_with_retries() -> adapters.HTTPAdapter: - retry_kwargs = dict( - connect=5, - total=10, - status_forcelist=[500, 501, 502, 503], - ) - try: - retry = urllib3.Retry(allowed_methods=["GET"], **retry_kwargs) + retry = urllib3.Retry( + allowed_methods=["GET"], + connect=5, + total=10, + status_forcelist=[500, 501, 502, 503], + ) except TypeError: # pragma: no cover # Avoiding DeprecationWarning starting in urllib3 1.26 # Remove when that's the mininum version - retry = urllib3.Retry(method_whitelist=["GET"], **retry_kwargs) + retry = urllib3.Retry( + method_whitelist=["GET"], + connect=5, + total=10, + status_forcelist=[500, 501, 502, 503], + ) return adapters.HTTPAdapter(max_retries=retry) From 8966a29bea5e7c6b3a0a2d8a0e44dff19e1ad6e8 Mon Sep 17 00:00:00 2001 From: Brian Rutledge Date: Mon, 17 Jan 2022 11:08:46 -0500 Subject: [PATCH 2/4] Require recent version of urllib3 --- setup.cfg | 1 + twine/repository.py | 22 ++++++---------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/setup.cfg b/setup.cfg index e7ead763..c3ac2f0c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -40,6 +40,7 @@ install_requires= readme_renderer >= 21.0 requests >= 2.20 requests-toolbelt >= 0.8.0, != 0.9.0 + urllib3 >= 1.26.0 tqdm >= 4.14 importlib_metadata >= 3.6 keyring >= 15.1 diff --git a/twine/repository.py b/twine/repository.py index a0753dda..087a2f31 100644 --- a/twine/repository.py +++ b/twine/repository.py @@ -77,22 +77,12 @@ def __init__( @staticmethod def _make_adapter_with_retries() -> adapters.HTTPAdapter: - try: - retry = urllib3.Retry( - allowed_methods=["GET"], - connect=5, - total=10, - status_forcelist=[500, 501, 502, 503], - ) - except TypeError: # pragma: no cover - # Avoiding DeprecationWarning starting in urllib3 1.26 - # Remove when that's the mininum version - retry = urllib3.Retry( - method_whitelist=["GET"], - connect=5, - total=10, - status_forcelist=[500, 501, 502, 503], - ) + retry = urllib3.Retry( + allowed_methods=["GET"], + connect=5, + total=10, + status_forcelist=[500, 501, 502, 503], + ) return adapters.HTTPAdapter(max_retries=retry) From 2f05770bb14b3833da9642f2fac7d76c4a201917 Mon Sep 17 00:00:00 2001 From: Brian Rutledge Date: Mon, 17 Jan 2022 11:18:57 -0500 Subject: [PATCH 3/4] Add packages to --version --- twine/cli.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/twine/cli.py b/twine/cli.py index 5f7162db..4312e2b5 100644 --- a/twine/cli.py +++ b/twine/cli.py @@ -28,6 +28,8 @@ def list_dependencies_and_versions() -> List[Tuple[str, str]]: "pkginfo", "requests", "requests-toolbelt", + "urllib3", + "keyring", "tqdm", ) return [(dep, version(dep)) for dep in deps] # type: ignore[no-untyped-call] # python/importlib_metadata#288 # noqa: E501 From 0983ab9c8e3c3627e0200ae697bf6c8bc83a4bcb Mon Sep 17 00:00:00 2001 From: Brian Rutledge Date: Mon, 17 Jan 2022 11:25:55 -0500 Subject: [PATCH 4/4] Show version for all requirements --- twine/cli.py | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/twine/cli.py b/twine/cli.py index 4312e2b5..f65bc035 100644 --- a/twine/cli.py +++ b/twine/cli.py @@ -14,8 +14,8 @@ import argparse from typing import Any, List, Tuple -from importlib_metadata import entry_points -from importlib_metadata import version +import importlib_metadata +from packaging import requirements import twine @@ -23,16 +23,9 @@ def list_dependencies_and_versions() -> List[Tuple[str, str]]: - deps = ( - "importlib_metadata", - "pkginfo", - "requests", - "requests-toolbelt", - "urllib3", - "keyring", - "tqdm", - ) - return [(dep, version(dep)) for dep in deps] # type: ignore[no-untyped-call] # python/importlib_metadata#288 # noqa: E501 + requires = importlib_metadata.requires("twine") # type: ignore[no-untyped-call] # python/importlib_metadata#288 # noqa: E501 + deps = [requirements.Requirement(r).name for r in requires] + return [(dep, importlib_metadata.version(dep)) for dep in deps] # type: ignore[no-untyped-call] # python/importlib_metadata#288 # noqa: E501 def dep_versions() -> str: @@ -42,7 +35,9 @@ def dep_versions() -> str: def dispatch(argv: List[str]) -> Any: - registered_commands = entry_points(group="twine.registered_commands") + registered_commands = importlib_metadata.entry_points( + group="twine.registered_commands" + ) parser = argparse.ArgumentParser(prog="twine") parser.add_argument( "--version",