pypi / support

Issue tracker for support requests related to using https://pypi.org
91 stars 48 forks source link

Can not install some packages from PyPI - Read timed out error #2512

Closed Duoquote closed 1 year ago

Duoquote commented 1 year ago

My Platform

pip3 version: pip 22.3.1 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)

Full command output:

root@server:/server# pip3 install -r requirements.txt
Obtaining jenks from git+https://github.com/perrygeo/jenks.git@80b2557d635ba4a0640157d3616b50dbf39c2221#egg=jenks (from -r requirements.txt (line 15))
  Skipping because already up-to-date.
  Preparing metadata (setup.py) ... done
Collecting chroma@ git+https://github.com/Duoquote/Chroma.git
  Cloning https://github.com/Duoquote/Chroma.git to /tmp/pip-install-gmaov0i7/chroma_415d112fecc84b3d93360fd7fe36c97c
  Running command git clone --filter=blob:none --quiet https://github.com/Duoquote/Chroma.git /tmp/pip-install-gmaov0i7/chroma_415d112fecc84b3d93360fd7fe36c97c
  Resolved https://github.com/Duoquote/Chroma.git to commit a4f1985649b922c6f673b44b39b8eb0f795edeba
  Preparing metadata (setup.py) ... done
Collecting Django==3.0.5
  Using cached Django-3.0.5-py3-none-any.whl (7.5 MB)
Collecting geopandas==0.9.0
  Using cached geopandas-0.9.0-py2.py3-none-any.whl (994 kB)
Collecting python_docx==0.8.10
  Using cached python-docx-0.8.10.tar.gz (5.5 MB)
  Preparing metadata (setup.py) ... done
Collecting pandas==1.3.5
  Using cached pandas-1.3.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.3 MB)
Collecting Shapely==1.8.1.post1
  Using cached Shapely-1.8.1.post1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.0 MB)
Collecting spectra==0.0.11
  Using cached spectra-0.0.11.tar.gz (18 kB)
  Preparing metadata (setup.py) ... done
Collecting folium==0.11.0
  Using cached folium-0.11.0-py2.py3-none-any.whl (93 kB)
Collecting pyproj==2.6.1.post1
  Using cached pyproj-2.6.1.post1-cp37-cp37m-manylinux2010_x86_64.whl (10.9 MB)
Collecting pypolyline==0.1.7
  Using cached pypolyline-0.1.7-py2.py3-none-manylinux1_x86_64.whl (540 kB)
Requirement already satisfied: GDAL==2.4.0 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 12)) (2.4.0)
Collecting djangorestframework==3.12.1
  Using cached djangorestframework-3.12.1-py3-none-any.whl (913 kB)
Collecting docx==0.2.4
  Using cached docx-0.2.4.tar.gz (54 kB)
  Preparing metadata (setup.py) ... done
Collecting Unidecode==1.1.1
  Using cached Unidecode-1.1.1-py2.py3-none-any.whl (238 kB)
Collecting urllib3==1.26.0
  Using cached urllib3-1.26.0-py2.py3-none-any.whl (136 kB)
Collecting requests==2.25.0
  Using cached requests-2.25.0-py2.py3-none-any.whl (61 kB)
Collecting selenium==3.141.0
  Using cached selenium-3.141.0-py2.py3-none-any.whl (904 kB)
Collecting nanoid==2.0.0
  Using cached nanoid-2.0.0-py3-none-any.whl (5.8 kB)
Collecting xlrd==1.2.0
  Using cached xlrd-1.2.0-py2.py3-none-any.whl (103 kB)
Collecting polyline==1.4.0
  Using cached polyline-1.4.0-py2.py3-none-any.whl (4.4 kB)
Collecting openpyxl==3.0.5
  Using cached openpyxl-3.0.5-py2.py3-none-any.whl (242 kB)
Collecting xlsxwriter==1.3.7
  Using cached XlsxWriter-1.3.7-py2.py3-none-any.whl (144 kB)
Collecting psycopg2==2.8.6
  Using cached psycopg2-2.8.6.tar.gz (383 kB)
  Preparing metadata (setup.py) ... done
Collecting connectorx==0.3.1
  Downloading connectorx-0.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (46.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━ 29.4/46.6 MB 37.5 MB/s eta 0:00:01
ERROR: Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/urllib3/response.py", line 437, in _error_catcher
    yield
  File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/urllib3/response.py", line 560, in read
    data = self._fp_read(amt) if not fp_closed else b""
  File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/urllib3/response.py", line 526, in _fp_read
    return self._fp.read(amt) if amt is not None else self._fp.read()
  File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/cachecontrol/filewrapper.py", line 90, in read
    data = self.__fp.read(amt)
  File "/usr/lib/python3.7/http/client.py", line 461, in read
    n = self.readinto(b)
  File "/usr/lib/python3.7/http/client.py", line 505, in readinto
    n = self.fp.readinto(b)
  File "/usr/lib/python3.7/socket.py", line 589, in readinto
    return self._sock.recv_into(b)
  File "/usr/lib/python3.7/ssl.py", line 1052, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/lib/python3.7/ssl.py", line 911, in read
    return self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/cli/base_command.py", line 160, in exc_logging_wrapper
    status = run_func(*args)
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/cli/req_command.py", line 247, in wrapper
    return func(self, options, args)
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/commands/install.py", line 401, in run
    reqs, check_supported_wheels=not options.target_dir
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 93, in resolve
    collected.requirements, max_rounds=try_to_avoid_resolution_too_deep
  File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 481, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 348, in resolve
    self._add_to_criteria(self.state.criteria, r, parent=None)
  File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 172, in _add_to_criteria
    if not criterion.candidates:
  File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/resolvelib/structs.py", line 151, in __bool__
    return bool(self._sequence)
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__
    return any(self)
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in <genexpr>
    return (c for c in iterator if id(c) not in self._incompatible_ids)
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built
    candidate = func()
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 211, in _make_candidate_from_link
    version=version,
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 303, in __init__
    version=version,
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 162, in __init__
    self.dist = self._prepare()
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 231, in _prepare
    dist = self._prepare_distribution()
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 308, in _prepare_distribution
    return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/operations/prepare.py", line 491, in prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/operations/prepare.py", line 542, in _prepare_linked_requirement
    hashes,
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/operations/prepare.py", line 170, in unpack_url
    hashes=hashes,
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/operations/prepare.py", line 107, in get_http_url
    from_path, content_type = download(link, temp_dir.path)
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/network/download.py", line 147, in __call__
    for chunk in chunks:
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/cli/progress_bars.py", line 53, in _rich_progress_bar
    for chunk in iterable:
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/network/utils.py", line 87, in response_chunks
    decode_content=False,
  File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/urllib3/response.py", line 621, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/urllib3/response.py", line 586, in read
    raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
  File "/usr/lib/python3.7/contextlib.py", line 130, in __exit__
    self.gen.throw(type, value, traceback)
  File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/urllib3/response.py", line 442, in _error_catcher
    raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
root@server:/server#

Fastly Debug

No response

DNS Resolution


; <<>> DiG 9.11.5-P4-5.1+deb10u8-Debian <<>> pypi.org A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39945
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;pypi.org.                      IN      A

;; ANSWER SECTION:
pypi.org.               1219    IN      A       151.101.0.223
pypi.org.               1219    IN      A       151.101.128.223
pypi.org.               1219    IN      A       151.101.192.223
pypi.org.               1219    IN      A       151.101.64.223

;; Query time: 0 msec
;; SERVER: 127.0.0.11#53(127.0.0.11)
;; WHEN: Tue Jan 10 13:43:22 +03 2023
;; MSG SIZE  rcvd: 101

; <<>> DiG 9.11.5-P4-5.1+deb10u8-Debian <<>> pypi.org AAAA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25888
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;pypi.org.                      IN      AAAA

;; ANSWER SECTION:
pypi.org.               69984   IN      AAAA    2a04:4e42:400::223
pypi.org.               69984   IN      AAAA    2a04:4e42::223
pypi.org.               69984   IN      AAAA    2a04:4e42:200::223
pypi.org.               69984   IN      AAAA    2a04:4e42:600::223

;; Query time: 0 msec
;; SERVER: 127.0.0.11#53(127.0.0.11)
;; WHEN: Tue Jan 10 13:43:38 +03 2023
;; MSG SIZE  rcvd: 149

; <<>> DiG 9.11.5-P4-5.1+deb10u8-Debian <<>> files.pythonhosted.org A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31508
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;files.pythonhosted.org.                IN      A

;; ANSWER SECTION:
files.pythonhosted.org. 1170    IN      CNAME   dualstack.r.ssl.global.fastly.net.
dualstack.r.ssl.global.fastly.net. 28 IN A      151.101.245.63

;; Query time: 1 msec
;; SERVER: 127.0.0.11#53(127.0.0.11)
;; WHEN: Tue Jan 10 13:44:12 +03 2023
;; MSG SIZE  rcvd: 114

; <<>> DiG 9.11.5-P4-5.1+deb10u8-Debian <<>> files.pythonhosted.org AAAA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42200
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;files.pythonhosted.org.                IN      AAAA

;; ANSWER SECTION:
files.pythonhosted.org. 1155    IN      CNAME   dualstack.r.ssl.global.fastly.net.
dualstack.r.ssl.global.fastly.net. 52 IN AAAA   2a04:4e42:3a::319

;; Query time: 0 msec
;; SERVER: 127.0.0.11#53(127.0.0.11)
;; WHEN: Tue Jan 10 13:44:27 +03 2023
;; MSG SIZE  rcvd: 126

Traceroutes / IPv4

traceroute to pypi.org (151.101.0.223), 30 hops max, 60 byte packets
 1  nextgeo-gem (192.168.0.1)  0.035 ms  0.010 ms  0.008 ms
 2  static.193.70.216.95.clients.your-server.de (95.216.70.193)  10.660 ms  10.674 ms  10.661 ms
 3  core32.hel1.hetzner.com (213.239.224.145)  0.299 ms  0.329 ms core31.hel1.hetzner.com (213.239.224.141)  0.346 ms
 4  juniper4.dc1.hel1.hetzner.com (213.239.224.25)  8.620 ms  8.640 ms  8.701 ms
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *
traceroute to files.pythonhosted.org (151.101.245.63), 30 hops max, 60 byte packets
 1  nextgeo-gem (192.168.0.1)  0.036 ms  0.009 ms  0.011 ms
 2  static.193.70.216.95.clients.your-server.de (95.216.70.193)  0.382 ms  0.362 ms  0.456 ms
 3  core32.hel1.hetzner.com (213.239.224.145)  3.117 ms core31.hel1.hetzner.com (213.239.224.141)  0.419 ms  0.364 ms
 4  juniper4.dc1.hel1.hetzner.com (213.239.224.37)  0.430 ms juniper4.dc1.hel1.hetzner.com (213.239.224.25)  0.500 ms juniper4.dc1.hel1.hetzner.com (213.239.224.37)  0.440 ms
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

Same applies for my local network and another server.

Traceroutes / IPv6 (If available)

No response

HTTPS Requests / IPv4

* Expire in 0 ms for 6 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 1 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 2 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 2 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 2 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 2 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 2 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 2 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 2 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 2 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 2 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
* Expire in 0 ms for 1 (transfer 0x5576e0c810f0)
*   Trying 151.101.0.223...
* TCP_NODELAY set
* Expire in 149999 ms for 3 (transfer 0x5576e0c810f0)
* Expire in 200 ms for 4 (transfer 0x5576e0c810f0)
* Connected to pypi.org (151.101.0.223) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=pypi.org
*  start date: Jul 26 19:45:14 2022 GMT
*  expire date: Aug 27 19:45:13 2023 GMT
*  subjectAltName: host "pypi.org" matched cert's "pypi.org"
*  issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign Atlas R3 DV TLS CA 2022 Q3
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x5576e0c810f0)
> HEAD /pypi/pip/json HTTP/2
> Host: pypi.org
> User-Agent: curl/7.64.0
> Accept: */*
>
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
< HTTP/2 200
HTTP/2 200
< access-control-allow-headers: Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since
access-control-allow-headers: Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since
< access-control-allow-methods: GET
access-control-allow-methods: GET
< access-control-allow-origin: *
access-control-allow-origin: *
< access-control-expose-headers: X-PyPI-Last-Serial
access-control-expose-headers: X-PyPI-Last-Serial
< access-control-max-age: 86400
access-control-max-age: 86400
< cache-control: max-age=900, public
cache-control: max-age=900, public
< content-security-policy: base-uri 'self'; block-all-mixed-content; connect-src 'self' https://api.github.com/repos/ fastly-insights.com *.fastly-insights.com *.ethicalads.io https://api.pwnedpasswords.com https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/sre/mathmaps/ https://2p66nmmycsj3.statuspage.io; default-src 'none'; font-src 'self' fonts.gstatic.com; form-action 'self' https://checkout.stripe.com; frame-ancestors 'none'; frame-src 'none'; img-src 'self' https://warehouse-camo.ingress.cmh1.psfhosted.org/ www.google-analytics.com *.fastly-insights.com *.ethicalads.io; script-src 'self' www.googletagmanager.com www.google-analytics.com *.fastly-insights.com *.ethicalads.io 'sha256-U3hKDidudIaxBDEzwGJApJgPEf2mWk6cfMWghrAa6i0=' https://cdn.jsdelivr.net/npm/mathjax@3.2.2/ 'sha256-1CldwzdEg2k1wTmf7s5RWVd7NMXI/7nxxjJM2C4DqII=' 'sha256-0POaN8stWYQxhzjKS+/eOfbbJ/u4YHO5ZagJvLpMypo='; style-src 'self' fonts.googleapis.com *.ethicalads.io 'sha256-2YHqZokjiizkHi1Zt+6ar0XJ0OeEy/egBnlm+MDMtrM=' 'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=' 'sha256-JLEjeN9e5dGsz5475WyRaoA4eQOdNPxDIeUhclnJDCE=' 'sha256-mQyxHEuwZJqpxCw3SLmc4YOySNKXunyu2Oiz1r3/wAE=' 'sha256-OCf+kv5Asiwp++8PIevKBYSgnNLNUZvxAp4a7wMLuKA=' 'sha256-h5LOiLhk6wiJrGsG5ItM0KimwzWQH/yAcmoJDJL//bY='; worker-src *.fastly-insights.com
content-security-policy: base-uri 'self'; block-all-mixed-content; connect-src 'self' https://api.github.com/repos/ fastly-insights.com *.fastly-insights.com *.ethicalads.io https://api.pwnedpasswords.com https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/sre/mathmaps/ https://2p66nmmycsj3.statuspage.io; default-src 'none'; font-src 'self' fonts.gstatic.com; form-action 'self' https://checkout.stripe.com; frame-ancestors 'none'; frame-src 'none'; img-src 'self' https://warehouse-camo.ingress.cmh1.psfhosted.org/ www.google-analytics.com *.fastly-insights.com *.ethicalads.io; script-src 'self' www.googletagmanager.com www.google-analytics.com *.fastly-insights.com *.ethicalads.io 'sha256-U3hKDidudIaxBDEzwGJApJgPEf2mWk6cfMWghrAa6i0=' https://cdn.jsdelivr.net/npm/mathjax@3.2.2/ 'sha256-1CldwzdEg2k1wTmf7s5RWVd7NMXI/7nxxjJM2C4DqII=' 'sha256-0POaN8stWYQxhzjKS+/eOfbbJ/u4YHO5ZagJvLpMypo='; style-src 'self' fonts.googleapis.com *.ethicalads.io 'sha256-2YHqZokjiizkHi1Zt+6ar0XJ0OeEy/egBnlm+MDMtrM=' 'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=' 'sha256-JLEjeN9e5dGsz5475WyRaoA4eQOdNPxDIeUhclnJDCE=' 'sha256-mQyxHEuwZJqpxCw3SLmc4YOySNKXunyu2Oiz1r3/wAE=' 'sha256-OCf+kv5Asiwp++8PIevKBYSgnNLNUZvxAp4a7wMLuKA=' 'sha256-h5LOiLhk6wiJrGsG5ItM0KimwzWQH/yAcmoJDJL//bY='; worker-src *.fastly-insights.com
< content-type: application/json
content-type: application/json
< etag: "OuUaTjpxMUGbjFS28pk01g"
etag: "OuUaTjpxMUGbjFS28pk01g"
< referrer-policy: origin-when-cross-origin
referrer-policy: origin-when-cross-origin
< server: nginx/1.13.9
server: nginx/1.13.9
< x-pypi-last-serial: 15666171
x-pypi-last-serial: 15666171
< accept-ranges: bytes
accept-ranges: bytes
< date: Tue, 10 Jan 2023 10:54:51 GMT
date: Tue, 10 Jan 2023 10:54:51 GMT
< x-served-by: cache-iad-kjyo7100123-IAD, cache-hel1410030-HEL
x-served-by: cache-iad-kjyo7100123-IAD, cache-hel1410030-HEL
< x-cache: HIT, HIT
x-cache: HIT, HIT
< x-cache-hits: 190605, 7
x-cache-hits: 190605, 7
< x-timer: S1673348091.053188,VS0,VE0
x-timer: S1673348091.053188,VS0,VE0
< vary: Accept-Encoding, Accept-Encoding
vary: Accept-Encoding, Accept-Encoding
< strict-transport-security: max-age=31536000; includeSubDomains; preload
strict-transport-security: max-age=31536000; includeSubDomains; preload
< x-frame-options: deny
x-frame-options: deny
< x-xss-protection: 1; mode=block
x-xss-protection: 1; mode=block
< x-content-type-options: nosniff
x-content-type-options: nosniff
< x-permitted-cross-domain-policies: none
x-permitted-cross-domain-policies: none
< content-length: 166941
content-length: 166941

<
* Connection #0 to host pypi.org left intact
* Expire in 0 ms for 6 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 1 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 2 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
* Expire in 0 ms for 1 (transfer 0x564cf207a0f0)
*   Trying 151.101.245.63...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x564cf207a0f0)
* Connected to files.pythonhosted.org (151.101.245.63) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=*.pythonhosted.org
*  start date: Sep 27 20:45:08 2022 GMT
*  expire date: Oct 29 20:45:07 2023 GMT
*  subjectAltName: host "files.pythonhosted.org" matched cert's "*.pythonhosted.org"
*  issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign Atlas R3 DV TLS CA 2022 Q3
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x564cf207a0f0)
> HEAD /packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d4eab3d11a57446f08259dee8f02/pip-10.0.1.tar.gz HTTP/2
> Host: files.pythonhosted.org
> User-Agent: curl/7.64.0
> Accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
< HTTP/2 200
HTTP/2 200
< last-modified: Wed, 26 Feb 2020 17:47:37 GMT
last-modified: Wed, 26 Feb 2020 17:47:37 GMT
< etag: "83a177756e2c801d0b3a6f7b0d4f3f7e"
etag: "83a177756e2c801d0b3a6f7b0d4f3f7e"
< x-goog-generation: 1582739257438329
x-goog-generation: 1582739257438329
< x-goog-metageneration: 1
x-goog-metageneration: 1
< x-goog-stored-content-encoding: identity
x-goog-stored-content-encoding: identity
< x-goog-stored-content-length: 1246072
x-goog-stored-content-length: 1246072
< content-type: binary/octet-stream
content-type: binary/octet-stream
< x-goog-hash: crc32c=Om2N1A==
x-goog-hash: crc32c=Om2N1A==
< x-goog-hash: md5=g6F3dW4sgB0LOm97DU8/fg==
x-goog-hash: md5=g6F3dW4sgB0LOm97DU8/fg==
< server: UploadServer
server: UploadServer
< cache-control: max-age=365000000, immutable, public
cache-control: max-age=365000000, immutable, public
< accept-ranges: bytes
accept-ranges: bytes
< date: Tue, 10 Jan 2023 10:55:11 GMT
date: Tue, 10 Jan 2023 10:55:11 GMT
< age: 498028
age: 498028
< x-served-by: cache-bfi-kbfi7400070-BFI, cache-hel1410023-HEL
x-served-by: cache-bfi-kbfi7400070-BFI, cache-hel1410023-HEL
< x-cache: HIT, HIT
x-cache: HIT, HIT
< x-cache-hits: 1, 1
x-cache-hits: 1, 1
< x-timer: S1673348111.015223,VS0,VE4
x-timer: S1673348111.015223,VS0,VE4
< strict-transport-security: max-age=31536000; includeSubDomains; preload
strict-transport-security: max-age=31536000; includeSubDomains; preload
< x-frame-options: deny
x-frame-options: deny
< x-xss-protection: 1; mode=block
x-xss-protection: 1; mode=block
< x-content-type-options: nosniff
x-content-type-options: nosniff
< x-permitted-cross-domain-policies: none
x-permitted-cross-domain-policies: none
< x-robots-header: noindex
x-robots-header: noindex
< x-pypi-file-python-version: source
x-pypi-file-python-version: source
< x-pypi-file-version: 10.0.1
x-pypi-file-version: 10.0.1
< x-pypi-file-package-type: sdist
x-pypi-file-package-type: sdist
< x-pypi-file-project: pip
x-pypi-file-project: pip
< content-length: 1246072
content-length: 1246072

<
* Connection #0 to host files.pythonhosted.org left intact

HTTPS Requests / IPv6 (If available)

No response

TLS Debug / IPv4

CONNECTED(00000003)
depth=2 OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
verify return:1
depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
verify return:1
depth=0 CN = pypi.org
verify return:1
---
Certificate chain
 0 s:CN = pypi.org
   i:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
 1 s:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
   i:OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGfzCCBWegAwIBAgIQAe6p6b6zdP9u5myWWPuk2zANBgkqhkiG9w0BAQsFADBY
MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEuMCwGA1UE
AxMlR2xvYmFsU2lnbiBBdGxhcyBSMyBEViBUTFMgQ0EgMjAyMiBRMzAeFw0yMjA3
MjYxOTQ1MTRaFw0yMzA4MjcxOTQ1MTNaMBMxETAPBgNVBAMMCHB5cGkub3JnMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8o44EkMKZTdtsEtjJs1caeZE
n3YE0fNgO0H7PxbBoNsWFYtupoRz1FRdnQLThGOVg53Qo/nhBRQAxvsX4aOxk15N
PIC8Irz+XYahv4cL9lTa+oQkQINgyG7G4ohXKZDRpTnRZMOCh+VyYANq0Ou5G855
tZv1Q2iFtvxXzr2VGLZTSbqZCemaO0zBaVxSTOLrMbRDUmRh3nnCQIq61Agg+6oe
tT7OBmGQNyG998iA7/R4DcNrFFw1zM64c24v6xM+3Lq3yx6x6OCbFuxB6waJuBUh
eP8OUIlaPl6IYzKWPHZ8p5iKIfTYo4iGKAwdJF241sivWVXngxezS3M+kGSUdQID
AQABo4IDiDCCA4QwPgYDVR0RBDcwNYIIcHlwaS5vcmeCCioucHlwaS5vcmeCDHd3
dy5weXBpLm9yZ4IPZG9uYXRlLnB5cGkub3JnMA4GA1UdDwEB/wQEAwIFoDAdBgNV
HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHQYDVR0OBBYEFEfow+xITtwxOc96
M4M5FTpT5iC1MFcGA1UdIARQME4wCAYGZ4EMAQIBMEIGCisGAQQBoDIKAQMwNDAy
BggrBgEFBQcCARYmaHR0cHM6Ly93d3cuZ2xvYmFsc2lnbi5jb20vcmVwb3NpdG9y
eS8wDAYDVR0TAQH/BAIwADCBngYIKwYBBQUHAQEEgZEwgY4wQAYIKwYBBQUHMAGG
NGh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2NhL2dzYXRsYXNyM2R2dGxzY2Ey
MDIycTMwSgYIKwYBBQUHMAKGPmh0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20v
Y2FjZXJ0L2dzYXRsYXNyM2R2dGxzY2EyMDIycTMuY3J0MB8GA1UdIwQYMBaAFPqR
OWOa+60QJOW+tbnaq9nERmmrMEgGA1UdHwRBMD8wPaA7oDmGN2h0dHA6Ly9jcmwu
Z2xvYmFsc2lnbi5jb20vY2EvZ3NhdGxhc3IzZHZ0bHNjYTIwMjJxMy5jcmwwggF/
BgorBgEEAdZ5AgQCBIIBbwSCAWsBaQB2AK33vvp8/xDIi509nB4+GGq0Zyldz7EM
JMqFhjTr3IKKAAABgjwKxXoAAAQDAEcwRQIgS1S5S5j9RshJIiN7ohMvHQk+fRp/
TLACc1FuxFzukoMCIQC0kSLRxGVusXukcMXlu3VDzTyUvndArct7LrNOWX7JlAB2
ALNzdwfhhFD4Y4bWBancEQlKeS2xZwwLh9zwAw55NqWaAAABgjwKxfwAAAQDAEcw
RQIhAL//2NQ63lIVXHxrrS7jRyXmXUQvTPBtc2PYdvkCv15oAiAKIIX1AJ6GZmbn
coKYKkpxQYHFIS9s33UpweHQunIdCQB3AOg+0No+9QY1MudXKLyJa8kD08vREWvs
62nhd31tBr1uAAABgjwKxagAAAQDAEgwRgIhAJjY8dfyDTwnMdvkpQQecFFMgRIJ
/s3mdaYLbdh0IkRQAiEAjT5F9vfckv8llfCXjUzVBPSvqu3aLSXVklpkHHgGX4sw
DQYJKoZIhvcNAQELBQADggEBABk0SsR02kYtjwI1v9IId8htcmA+zyzqGOIWwvsj
10FGzi8BoRbmA7KiT+Yvh2CFuReOj8RNerv/BrS+PVgbHiwkh8GP2ETq8OPiXlUP
6hfSVyK5EMZBZ8Gn+JVCWrD6aUae7W53iFdZB1Bn1c4xTdBJy3eu/aYLtYHPH24p
3MQO24HcCGkn/LXGq005RMNdlTPJV/tymae2iUp5nGOy8MNkZq8xYHkK+YKue8mG
WvWdkdJ3fmYeKCXDVtvwKGk/1BQaS9lS50JLJTDJqAH957cvpyVnyOs41g19LwkZ
6MWFGfWo6Pem+d2GqZUs3faIFqmCS0lp7vHJ6e9nBuPi2do=
-----END CERTIFICATE-----
subject=CN = pypi.org

issuer=C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3

---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 3403 bytes and written 380 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: 41B0F226EA1315377F466E8A8930AE0CBFA7E583B16312C6F750ABD64438FA77
    Session-ID-ctx:
    Resumption PSK: 2F020D862A06CD2E17C8C5403377D6230B1D9C9FE1A0D6F774A65E88C2C898BC70D7FA115DAD88403A014ECC5FF6B101
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 3600 (seconds)
    TLS session ticket:
    0000 - 9d ae 12 f1 c5 08 72 53-b8 ef 93 b7 9a f1 0f a4   ......rS........
    0010 - 41 1c b9 c9 a2 fb 39 db-a6 97 42 35 74 7b 11 65   A.....9...B5t{.e
    0020 - aa 55 02 92 4c 36 aa 9c-aa 72 9c 2c 2f 38 d1 2f   .U..L6...r.,/8./
    0030 - c9 73 62 4c 15 d8 8c 0e-08 9d 08 22 3b 07 5b b3   .sbL.......";.[.
    0040 - a2 00 15 63 40 99 a7 e9-34 ff 5d fd 27 3d b3 6b   ...c@...4.].'=.k
    0050 - 06 8f ad 6e 9b a9 96 2b-b1 36 ec b5 73 b5 cb 88   ...n...+.6..s...
    0060 - 11 a8 e5 e2 86 45 a4 29-41 74 5f 81 39 99 88 ba   .....E.)At_.9...
    0070 - 02 52 34 0d 6a 0c af dd-64 4c 10 58 29 bd 91 91   .R4.j...dL.X)...
    0080 - 75 d6 2c 79 e8 ca b3 10-42 60 a1 34 df f0 f6 a3   u.,y....B`.4....
    0090 - 89 a3 0b f4 8c c0 36 65-20 89 2b 43 59 a5 45 4c   ......6e .+CY.EL

    Start Time: 1673348160
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK
DONE
CONNECTED(00000003)
depth=2 OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
verify return:1
depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
verify return:1
depth=0 CN = *.pythonhosted.org
verify return:1
---
Certificate chain
 0 s:CN = *.pythonhosted.org
   i:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
 1 s:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
   i:OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGZTCCBU2gAwIBAgIQAZ4c9wIFnbcIOc8/IEfMpjANBgkqhkiG9w0BAQsFADBY
MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEuMCwGA1UE
AxMlR2xvYmFsU2lnbiBBdGxhcyBSMyBEViBUTFMgQ0EgMjAyMiBRMzAeFw0yMjA5
MjcyMDQ1MDhaFw0yMzEwMjkyMDQ1MDdaMB0xGzAZBgNVBAMMEioucHl0aG9uaG9z
dGVkLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALl3j65QPvfX
BoB9gTuN4eKkVYvGCyNClYI8A8ft8PMOwi6P9bWPEM/HZ9BxYtJ4J0EZS4M194fw
RrFSPVvvW/069fJQRlvEbITwrfXzQiMJm4RYXsJba8w1ZSzJgYapAY9UJoZpfv38
UKy2s2TuGUmvPfB49pDW+nM/EUZzchqI8JreZbmVadDvN0/tQQD/fYTIVUknvOc6
vcZLu3TJtJh2F38JzdE7Qs4ZFSrLRvHuKDkvB4jbxdnQWPDXajoZahSogVBA4Nd9
10ZIkgT9qhlMU0ibvUGnk0rBYqZwDBz4vupwy3jxXpRj449Dk3fvuELt9K95c0G0
8Q3piP3idIMCAwEAAaOCA2QwggNgMB0GA1UdEQQWMBSCEioucHl0aG9uaG9zdGVk
Lm9yZzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUF
BwMCMB0GA1UdDgQWBBR0s+V2OyE4ZP710vImlUquU3SFaTBXBgNVHSAEUDBOMAgG
BmeBDAECATBCBgorBgEEAaAyCgEDMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3
Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMAwGA1UdEwEB/wQCMAAwgZ4GCCsG
AQUFBwEBBIGRMIGOMEAGCCsGAQUFBzABhjRodHRwOi8vb2NzcC5nbG9iYWxzaWdu
LmNvbS9jYS9nc2F0bGFzcjNkdnRsc2NhMjAyMnEzMEoGCCsGAQUFBzAChj5odHRw
Oi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2NhY2VydC9nc2F0bGFzcjNkdnRsc2Nh
MjAyMnEzLmNydDAfBgNVHSMEGDAWgBT6kTljmvutECTlvrW52qvZxEZpqzBIBgNV
HR8EQTA/MD2gO6A5hjdodHRwOi8vY3JsLmdsb2JhbHNpZ24uY29tL2NhL2dzYXRs
YXNyM2R2dGxzY2EyMDIycTMuY3JsMIIBfAYKKwYBBAHWeQIEAgSCAWwEggFoAWYA
dgCt9776fP8QyIudPZwePhhqtGcpXc+xDCTKhYY069yCigAAAYOAsj7MAAAEAwBH
MEUCIQCybQLy9Y8o12xbBa8PhzYZcxDo2zOoAK0MRxg4QTSsfQIgP4e6Cn0vcaaH
0H1pDxWN34/uApdCuzHAiWUVg7U4m5UAdQBvU3asMfAxGdiZAKRRFf93FRwR2QLB
ACkGjbIImjfZEwAAAYOAsj7+AAAEAwBGMEQCIDZzj+k1Jef32bUI9hsp+irQiuqr
RGSHUDQbn/c5cLpCAiA3hBDoTkxFjDrQ9Wi7HA4jiJ1flZgWcLrK11mfBgrWUQB1
AFWB1MIWkDYBSuoLm1c8U/DA5Dh4cCUIFy+jqh0HE9MMAAABg4CyPzwAAAQDAEYw
RAIgI7eMacUECoJ2owTzl9TKlmxF2tU2NPtjR8QX/al51S0CIE8oMCXflS49ib8r
fWcoO+JcxTyB1oYrKB080ejzWHjKMA0GCSqGSIb3DQEBCwUAA4IBAQAtUfolQHsW
SplGDIzpSOnc0lDxMn0iBAHABoeRl38gqSe0ar9TlWUFRtQIdGN2qulGRqhZdMXs
j3XWRg8LP+z/O/oCKuEaXEhdEOZSYnDmKgYVaMAJvGIwrG+95LL03+ekmU3NcHGP
BDzsPtXkZhoDbcgetI5FUf+ER2JSzQ2luWRIAxfzXDpbB97eWTiCG6Lw98dVkruz
LUZBJzHKNbujAaFGC5Gw3+3+9K/71ZemoQqYXWF0NgGFG74MQoWs76a9pRG6YlLc
HeU+iS4IJyu67EQr1ATjRCXsCoJDpYhCxsIMyVNeI8R80lrN5ssY2aiP5HCPsDsD
Vy90vU5BC7cO
-----END CERTIFICATE-----
subject=CN = *.pythonhosted.org

issuer=C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3

---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 3476 bytes and written 407 bytes
Verification: OK
---
New, TLSv1.2, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES128-GCM-SHA256
    Session-ID: 479B3399180D400A4E47339B886E297C1D8356F8314239E93F5522F59748F4B7
    Session-ID-ctx:
    Master-Key: DC3A021D594E951A9BC132FF3256B0D193D35C14599827F1D4FDCD3B4DC505AD31AB8B2A2D87D23560B985E9AA602FBF
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    0000 - 9d ae 12 f1 c5 08 72 53-b8 ef 93 b7 9a f1 0f a4   ......rS........
    0010 - 5a 75 a5 cd 8f 66 3f 7f-30 3b df fd 8b 7a 39 b8   Zu...f?.0;...z9.
    0020 - 87 54 be 46 5e 70 db 76-e8 ce 46 ec f7 d6 17 de   .T.F^p.v..F.....
    0030 - 20 f9 0c a3 cb a5 a9 ae-f0 84 fc 38 80 16 cd bb    ..........8....
    0040 - 70 10 6b 6c 33 75 bb 1a-ef a5 fd c3 5a 1e 32 f5   p.kl3u......Z.2.
    0050 - 64 c2 42 0c 85 4c 35 0b-29 09 94 69 39 dd 0a 87   d.B..L5.)..i9...
    0060 - 14 f5 58 58 0a b9 75 85-f8 01 ef 46 c0 d1 e1 44   ..XX..u....F...D
    0070 - 51 2d 87 05 28 4b a2 a1-7e 44 c6 64 44 0f 89 d3   Q-..(K..~D.dD...
    0080 - 8f 8b 9d fe 1e 5a 5e 8c-d7 dd f3 a1 e9 b4 b6 6a   .....Z^........j
    0090 - 3a 41 63 23 ef 88 29 62-a4 7e fe cc cd f2 95 a4   :Ac#..)b.~......
    00a0 - 9b 88 c2 5e 22 9e 49 7c-4d 23 3b a4 86 54 54 5b   ...^".I|M#;..TT[
    00b0 - bd a2 5b a3 2c 14 ea 50-53 1b 29 ba fe fe 1f 15   ..[.,..PS.).....

    Start Time: 1673348175
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: yes
---
DONE

TLS Debug / IPv6 (If available)

$ echo -n | openssl s_client -6 -connect pypi.org:443
$ echo -n | openssl s_client -6 -connect files.pythonhosted.org:443

Code of Conduct

Duoquote commented 1 year ago

Looks like the issue is about this specific package called connector-x, feels like the file is corrupted maybe?

Python 3.9.13 pip 22.3 from C:\Users\duoqu\miniconda3\envs\tf\lib\site-packages\pip (python 3.9)

Collecting connectorx
  Downloading connectorx-0.3.1-cp39-none-win_amd64.whl (41.3 MB)
     ---------------------------------------- 41.3/41.3 MB 8.7 MB/s eta 0:00:00
Installing collected packages: connectorx
Successfully installed connectorx-0.3.1

Python 3.8.5 pip 22.1.2 from C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip (python 3.8)

Collecting connectorx
  Downloading connectorx-0.3.1-cp38-none-win_amd64.whl (41.3 MB)
     ---- ----------------------------------- 4.2/41.3 MB 5.2 MB/s eta 0:00:08
ERROR: Exception:
Traceback (most recent call last):
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_vendor\urllib3\response.py", line 435, in _error_catcher
    yield
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_vendor\urllib3\response.py", line 516, in read
    data = self._fp.read(amt) if not fp_closed else b""
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\http\client.py", line 458, in read
    n = self.readinto(b)
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\http\client.py", line 502, in readinto
    n = self.fp.readinto(b)
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\socket.py", line 669, in readinto
    return self._sock.recv_into(b)
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\ssl.py", line 1241, in recv_into
    return self.read(nbytes, buffer)
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\ssl.py", line 1099, in read
    return self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\cli\base_command.py", line 167, in exc_logging_wrapper
    status = run_func(*args)
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\cli\req_command.py", line 205, in wrapper
    return func(self, options, args)
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\commands\install.py", line 341, in run
    requirement_set = resolver.resolve(
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py", line 94, in resolve
    result = self._result = resolver.resolve(
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 481, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 348, in resolve
    self._add_to_criteria(self.state.criteria, r, parent=None)
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 172, in _add_to_criteria
    if not criterion.candidates:
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_vendor\resolvelib\structs.py", line 151, in __bool__
    return bool(self._sequence)
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 155, in __bool__
    return any(self)
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 143, in <genexpr>
    return (c for c in iterator if id(c) not in self._incompatible_ids)
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 47, in _iter_built
    candidate = func()
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 215, in _make_candidate_from_link
    self._link_candidate_cache[link] = LinkCandidate(
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 291, in __init__
    super().__init__(
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 161, in __init__
    self.dist = self._prepare()
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 230, in _prepare
    dist = self._prepare_distribution()
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 302, in _prepare_distribution
    return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\operations\prepare.py", line 428, in prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\operations\prepare.py", line 473, in _prepare_linked_requirement
    local_file = unpack_url(
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\operations\prepare.py", line 155, in unpack_url
    file = get_http_url(
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\operations\prepare.py", line 96, in get_http_url
    from_path, content_type = download(link, temp_dir.path)
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\network\download.py", line 146, in __call__
    for chunk in chunks:
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\cli\progress_bars.py", line 53, in _rich_progress_bar
    for chunk in iterable:
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_internal\network\utils.py", line 63, in response_chunks
    for chunk in response.raw.stream(
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_vendor\urllib3\response.py", line 573, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_vendor\urllib3\response.py", line 538, in read
    raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\contextlib.py", line 131, in __exit__
    self.gen.throw(type, value, traceback)
  File "C:\Users\duoqu\miniconda3\envs\junk\lib\site-packages\pip\_vendor\urllib3\response.py", line 440, in _error_catcher
    raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
Gerrit-K commented 1 year ago

We have the same error, but for multiple packages, including spacy==2.3.8, pex==2.1.102 and pantsbuild.pants==2.13.0. To me this looks rather like a regional network or availability issue than something specifically related to the packages.

osma commented 1 year ago

I have a similar issue downloading simplemma==0.8.2 (79MB), simplemma==0.9.0 (90MB) and fasttext_wheel==0.9.2 (4.4MB) wheels from several locations in Finland; IPv4 vs IPv6 makes no difference. The download gets stuck in the middle. pip downloads quickly time out, but if I use wget --continue directly on the download URL, the download will first proceed smoothly to some point (e.g. 50%), then it will freeze and proceed only very very slowly.

When I do this simultaneously from two different machines (in different networks), it seems to me that both will advance at the same rate. When one gets to 78%, the other one will soon reach 78% as well. I don't know much about how the CDN works, but it seems to me that it could be related to the CDN setup.

billschell commented 1 year ago

I have the same issue (read time out on files.pythonhosted.org) for some packages, but not all packages. Here, it fails on cupy-cuda112==9.6.0. If I remove that package from my requirements.txt, it fails on another package somewhere else down the line (differs each time). I've seen failures on ngt==1.12.2 and Django==2.1.14. I am in New Jersey, USA.

[ 7/14] RUN pip3 install --upgrade pip setuptools wheel && pip3 install -r requirements.txt:
#0 0.917 Collecting pip
#0 1.089   Downloading https://files.pythonhosted.org/packages/a4/6d/6463d49a933f547439d6b5b98b46af8742cc03ae83543e4d7688c2420f8b/pip-21.3.1-py3-none-any.whl (1.7MB)
#0 1.939 Collecting setuptools
#0 2.351   Downloading https://files.pythonhosted.org/packages/b0/3a/88b210db68e56854d0bcf4b38e165e03be377e13907746f825790f3df5bf/setuptools-59.6.0-py3-none-any.whl (952kB)
#0 2.552 Collecting wheel
#0 2.757   Downloading https://files.pythonhosted.org/packages/27/d6/003e593296a85fd6ed616ed962795b2f87709c3eee2bca4f6d0fe55c6d00/wheel-0.37.1-py2.py3-none-any.whl
#0 2.780 Installing collected packages: pip, setuptools, wheel
#0 2.780   Found existing installation: pip 9.0.3
#0 2.962     Uninstalling pip-9.0.3:
#0 4.019       Successfully uninstalled pip-9.0.3
#0 4.998   Found existing installation: setuptools 39.2.0
#0 5.060     Uninstalling setuptools-39.2.0:
#0 5.409       Successfully uninstalled setuptools-39.2.0
#0 5.816 Successfully installed pip-21.3.1 setuptools-59.6.0 wheel-0.37.1
#0 6.118 You are using pip version 21.3.1, however version 22.3.1 is available.
#0 6.118 You should consider upgrading via the 'pip install --upgrade pip' command.
#0 6.675 Requirement already satisfied: wheel==0.37.1 in ./venv/lib/python3.6/site-packages (from -r requirements.txt (line 1)) (0.37.1)
#0 6.676 Requirement already satisfied: pip==21.3.1 in ./venv/lib/python3.6/site-packages (from -r requirements.txt (line 2)) (21.3.1)
#0 6.908 Collecting pyinstaller==4.10
#0 6.983   Downloading pyinstaller-4.10-py3-none-manylinux2014_x86_64.whl (1.5 MB)
#0 7.101 Collecting altgraph==0.17.2
#0 7.115   Downloading altgraph-0.17.2-py2.py3-none-any.whl (21 kB)
#0 7.185 Collecting asgiref==3.4.1
#0 7.199   Downloading asgiref-3.4.1-py3-none-any.whl (25 kB)
#0 7.260 Collecting certifi==2021.5.30
#0 7.275   Downloading certifi-2021.5.30-py2.py3-none-any.whl (145 kB)
#0 7.460 Collecting charset-normalizer==2.0.3
#0 7.474   Downloading charset_normalizer-2.0.3-py3-none-any.whl (35 kB)
#0 7.692 Collecting cityhash==0.4.3
#0 7.708   Downloading cityhash-0.4.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (483 kB)
#0 7.792 Collecting click==8.0.1
#0 7.808   Downloading click-8.0.1-py3-none-any.whl (97 kB)
#0 7.884 Collecting cupy-cuda112==9.6.0
#0 7.948   Downloading cupy_cuda112-9.6.0-cp36-cp36m-manylinux1_x86_64.whl (75.9 MB)
#0 23.74 ERROR: Exception:
#0 23.74 Traceback (most recent call last):
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_vendor/urllib3/response.py", line 438, in _error_catcher
#0 23.74     yield
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_vendor/urllib3/response.py", line 519, in read
#0 23.74     data = self._fp.read(amt) if not fp_closed else b""
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_vendor/cachecontrol/filewrapper.py", line 62, in read
#0 23.74     data = self.__fp.read(amt)
#0 23.74   File "/usr/lib64/python3.6/http/client.py", line 459, in read
#0 23.74     n = self.readinto(b)
#0 23.74   File "/usr/lib64/python3.6/http/client.py", line 503, in readinto
#0 23.74     n = self.fp.readinto(b)
#0 23.74   File "/usr/lib64/python3.6/socket.py", line 586, in readinto
#0 23.74     return self._sock.recv_into(b)
#0 23.74   File "/usr/lib64/python3.6/ssl.py", line 971, in recv_into
#0 23.74     return self.read(nbytes, buffer)
#0 23.74   File "/usr/lib64/python3.6/ssl.py", line 833, in read
#0 23.74     return self._sslobj.read(len, buffer)
#0 23.74   File "/usr/lib64/python3.6/ssl.py", line 590, in read
#0 23.74     v = self._sslobj.read(len, buffer)
#0 23.74 socket.timeout: The read operation timed out
#0 23.74 
#0 23.74 During handling of the above exception, another exception occurred:
#0 23.74 
#0 23.74 Traceback (most recent call last):
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/cli/base_command.py", line 164, in exc_logging_wrapper
#0 23.74     status = run_func(*args)
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/cli/req_command.py", line 205, in wrapper
#0 23.74     return func(self, options, args)
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/commands/install.py", line 339, in run
#0 23.74     reqs, check_supported_wheels=not options.target_dir
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 93, in resolve
#0 23.74     collected.requirements, max_rounds=try_to_avoid_resolution_too_deep
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_vendor/resolvelib/resolvers.py", line 482, in resolve
#0 23.74     state = resolution.resolve(requirements, max_rounds=max_rounds)
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_vendor/resolvelib/resolvers.py", line 349, in resolve
#0 23.74     self._add_to_criteria(self.state.criteria, r, parent=None)
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria
#0 23.74     if not criterion.candidates:
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_vendor/resolvelib/structs.py", line 151, in __bool__
#0 23.74     return bool(self._sequence)
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__
#0 23.74     return any(self)
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in <genexpr>
#0 23.74     return (c for c in iterator if id(c) not in self._incompatible_ids)
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built
#0 23.74     candidate = func()
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link
#0 23.74     version=version,
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 287, in __init__
#0 23.74     version=version,
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__
#0 23.74     self.dist = self._prepare()
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 225, in _prepare
#0 23.74     dist = self._prepare_distribution()
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 292, in _prepare_distribution
#0 23.74     return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/operations/prepare.py", line 482, in prepare_linked_requirement
#0 23.74     return self._prepare_linked_requirement(req, parallel_builds)
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/operations/prepare.py", line 528, in _prepare_linked_requirement
#0 23.74     link, req.source_dir, self._download, self.download_dir, hashes
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/operations/prepare.py", line 217, in unpack_url
#0 23.74     hashes=hashes,
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/operations/prepare.py", line 94, in get_http_url
#0 23.74     from_path, content_type = download(link, temp_dir.path)
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/network/download.py", line 145, in __call__
#0 23.74     for chunk in chunks:
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/cli/progress_bars.py", line 144, in iter
#0 23.74     for x in it:
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_internal/network/utils.py", line 87, in response_chunks
#0 23.74     decode_content=False,
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_vendor/urllib3/response.py", line 576, in stream
#0 23.74     data = self.read(amt=amt, decode_content=decode_content)
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_vendor/urllib3/response.py", line 541, in read
#0 23.74     raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
#0 23.74   File "/usr/lib64/python3.6/contextlib.py", line 99, in __exit__
#0 23.74     self.gen.throw(type, value, traceback)
#0 23.74   File "/usr/src/app/venv/lib64/python3.6/site-packages/pip/_vendor/urllib3/response.py", line 443, in _error_catcher
#0 23.74     raise ReadTimeoutError(self._pool, None, "Read timed out.")
#0 23.74 pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
------
failed to solve: executor failed running [/bin/sh -c pip3 install --upgrade pip setuptools wheel && pip3 install -r requirements.txt]: exit code: 2
make: *** [container] Error 17
ewdurbin commented 1 year ago

Tracking this incident here: https://status.python.org/incidents/j369h2rkqsgz

We've opened a support request with our CDN provider. As it seems to primarily be impacting bigger files, it likely is to do with configurations supporting Segmented Caching for larger files. We added support for this in December. Ref https://github.com/pypi/infra/pull/112, https://github.com/pypi/infra/pull/114, and https://github.com/pypi/infra/pull/115

ewdurbin commented 1 year ago

We're continuing to investigate with our CDN, but found a potentially related outage published by our backend that we are now tracking as well.

ewdurbin commented 1 year ago

We're seeing improvements after reports from our backend providers that their incident is resolved.

Anyone able to reproduce at this time?

Duoquote commented 1 year ago

I have successfully installed over 100 packages including torch (887MB) without any timeouts, the issue looks like solved on my side.

osma commented 1 year ago

Thanks @ewdurbin ! I see that this has now been marked as resolved in the incident report, and when I tested downloading the simplemma wheel again, the download worked fine.