diff --git a/setup.cfg b/setup.cfg index 53d60a72..3073d0dc 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/cli.py b/twine/cli.py index 5f7162db..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,14 +23,9 @@ def list_dependencies_and_versions() -> List[Tuple[str, str]]: - deps = ( - "importlib_metadata", - "pkginfo", - "requests", - "requests-toolbelt", - "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: @@ -40,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", diff --git a/twine/repository.py b/twine/repository.py index a0164fa5..087a2f31 100644 --- a/twine/repository.py +++ b/twine/repository.py @@ -77,19 +77,13 @@ def __init__( @staticmethod def _make_adapter_with_retries() -> adapters.HTTPAdapter: - retry_kwargs = dict( + retry = urllib3.Retry( + allowed_methods=["GET"], connect=5, total=10, status_forcelist=[500, 501, 502, 503], ) - try: - retry = urllib3.Retry(allowed_methods=["GET"], **retry_kwargs) - 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) - return adapters.HTTPAdapter(max_retries=retry) @staticmethod