Skip to content

Commit a118afe

Browse files
authored
Merge pull request #9599 from cjc7373/switch-to-tenacity
2 parents 0dd3a2b + 5457c6f commit a118afe

23 files changed

+1786
-279
lines changed

Diff for: news/tenacity.vendor.rst

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Switch from retrying to tenacity

Diff for: pyproject.toml

+2
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ drop = [
4444
"setuptools",
4545
"pkg_resources/_vendor/",
4646
"pkg_resources/extern/",
47+
# unneeded part for tenacity
48+
"tenacity/tests",
4749
]
4850

4951
[tool.vendoring.typing-stubs]

Diff for: src/pip/_internal/utils/filesystem.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@
99
from tempfile import NamedTemporaryFile
1010
from typing import Any, BinaryIO, Iterator, List, Union, cast
1111

12-
# NOTE: retrying is not annotated in typeshed as on 2017-07-17, which is
13-
# why we ignore the type on this import.
14-
from pip._vendor.retrying import retry # type: ignore
12+
from pip._vendor.tenacity import retry, stop_after_delay, wait_fixed
1513

1614
from pip._internal.utils.compat import get_path_uid
1715
from pip._internal.utils.misc import format_size
@@ -100,7 +98,8 @@ def adjacent_tmp_file(path, **kwargs):
10098
os.fsync(result.fileno())
10199

102100

103-
_replace_retry = retry(stop_max_delay=1000, wait_fixed=250)
101+
# Tenacity raises RetryError by default, explictly raise the original exception
102+
_replace_retry = retry(reraise=True, stop=stop_after_delay(1), wait=wait_fixed(0.25))
104103

105104
replace = _replace_retry(os.replace)
106105

Diff for: src/pip/_internal/utils/misc.py

+3-5
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,7 @@
3535
)
3636

3737
from pip._vendor.pkg_resources import Distribution
38-
39-
# NOTE: retrying is not annotated in typeshed as on 2017-07-17, which is
40-
# why we ignore the type on this import.
41-
from pip._vendor.retrying import retry # type: ignore
38+
from pip._vendor.tenacity import retry, stop_after_delay, wait_fixed
4239

4340
from pip import __version__
4441
from pip._internal.exceptions import CommandError
@@ -131,7 +128,8 @@ def get_prog():
131128

132129

133130
# Retry every half second for up to 3 seconds
134-
@retry(stop_max_delay=3000, wait_fixed=500)
131+
# Tenacity raises RetryError by default, explictly raise the original exception
132+
@retry(reraise=True, stop=stop_after_delay(3), wait=wait_fixed(0.5))
135133
def rmtree(dir, ignore_errors=False):
136134
# type: (AnyStr, bool) -> None
137135
shutil.rmtree(dir, ignore_errors=ignore_errors, onerror=rmtree_errorhandler)

Diff for: src/pip/_vendor/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ def vendored(modulename):
7575
vendored("pep517")
7676
vendored("pkg_resources")
7777
vendored("progress")
78-
vendored("retrying")
7978
vendored("requests")
8079
vendored("requests.exceptions")
8180
vendored("requests.packages")
@@ -107,6 +106,7 @@ def vendored(modulename):
107106
vendored("requests.packages.urllib3.util.timeout")
108107
vendored("requests.packages.urllib3.util.url")
109108
vendored("resolvelib")
109+
vendored("tenacity")
110110
vendored("toml")
111111
vendored("toml.encoder")
112112
vendored("toml.decoder")

Diff for: src/pip/_vendor/retrying.py

-267
This file was deleted.

Diff for: src/pip/_vendor/retrying.pyi

-1
This file was deleted.

Diff for: src/pip/_vendor/tenacity.pyi

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from tenacity import *
File renamed without changes.

0 commit comments

Comments
 (0)