3
3
import pdb
4
4
from urllib3 import Retry , PoolManager
5
5
import json
6
+ import os
7
+
6
8
7
9
def get_pypi_xmlrpc_client ():
8
10
"""This is actually deprecated client."""
@@ -14,23 +16,24 @@ def get_pypi_xmlrpc_client():
14
16
class PyPIClient :
15
17
def __init__ (self , host = "https://pypi.org" ):
16
18
self ._host = host
17
- self ._http = PoolManager (retries = Retry (total = 3 , raise_on_status = True ))
19
+ self ._http = PoolManager (
20
+ retries = Retry (total = 3 , raise_on_status = True ), ca_certs = os .getenv ("REQUESTS_CA_BUNDLE" , None )
21
+ )
18
22
19
23
def project (self , package_name ):
20
24
response = self ._http .request (
21
- 'get' ,
22
- "{host}/pypi/{project_name}/json" .format (host = self ._host , project_name = package_name )
25
+ "get" , "{host}/pypi/{project_name}/json" .format (host = self ._host , project_name = package_name )
23
26
)
24
- return json .loads (response .data .decode (' utf-8' ))
27
+ return json .loads (response .data .decode (" utf-8" ))
25
28
26
29
def project_release (self , package_name , version ):
27
30
response = self ._http .request (
28
- ' get' ,
31
+ " get" ,
29
32
"{host}/pypi/{project_name}/{version}/json" .format (
30
33
host = self ._host , project_name = package_name , version = version
31
- )
34
+ ),
32
35
)
33
- return json .loads (response .data .decode (' utf-8' ))
36
+ return json .loads (response .data .decode (" utf-8" ))
34
37
35
38
def filter_packages_for_compatibility (self , package_name , version_set ):
36
39
# only need the packaging.specifiers import if we're actually executing this filter.
0 commit comments