2626from _packagedcode .pypi import PipRequirementsFileHandler
2727from _packagedcode .pypi import PythonSetupPyHandler
2828from _packagedcode .pypi import can_process_dependent_package
29- from python_inspector import DEFAULT_PYTHON_VERSION
3029from python_inspector import dependencies
30+ from python_inspector import settings
3131from python_inspector import utils
3232from python_inspector import utils_pypi
3333from python_inspector .package_data import get_pypi_data_from_purl
4040from python_inspector .resolution import get_reqs_insecurely
4141from python_inspector .resolution import get_requirements_from_python_manifest
4242from python_inspector .utils_pypi import PLATFORMS_BY_OS
43- from python_inspector .utils_pypi import PYPI_SIMPLE_URL
4443from python_inspector .utils_pypi import Environment
44+ from python_inspector .utils_pypi import PypiSimpleRepository
4545from python_inspector .utils_pypi import valid_python_versions
4646
4747
@@ -79,7 +79,7 @@ def resolve_dependencies(
7979 specifiers = tuple (),
8080 python_version = None ,
8181 operating_system = None ,
82- index_urls = tuple ([ PYPI_SIMPLE_URL ]) ,
82+ index_urls : tuple [ str , ...] = settings . INDEX_URL ,
8383 pdt_output = None ,
8484 netrc_file = None ,
8585 max_rounds = 200000 ,
@@ -106,15 +106,15 @@ def resolve_dependencies(
106106 """
107107
108108 if not operating_system :
109- raise Exception (f "No operating system provided." )
109+ raise Exception ("No operating system provided." )
110110 if operating_system not in PLATFORMS_BY_OS :
111111 raise ValueError (
112112 f"Invalid operating system: { operating_system } . "
113113 f"Must be one of: { ', ' .join (PLATFORMS_BY_OS .keys ())} "
114114 )
115115
116116 if not python_version :
117- raise Exception (f "No python version provided." )
117+ raise Exception ("No python version provided." )
118118 if python_version not in valid_python_versions :
119119 raise ValueError (
120120 f"Invalid python version: { python_version } . "
@@ -147,14 +147,13 @@ def resolve_dependencies(
147147
148148 files = []
149149
150- if PYPI_SIMPLE_URL not in index_urls :
151- index_urls = tuple ([PYPI_SIMPLE_URL ]) + tuple (index_urls )
152-
153150 # requirements
154151 for req_file in requirement_files :
155152 deps = dependencies .get_dependencies_from_requirements (
156153 requirements_file = req_file )
157- for extra_data in dependencies .get_extra_data_from_requirements (requirements_file = req_file ):
154+ for extra_data in dependencies .get_extra_data_from_requirements (
155+ requirements_file = req_file
156+ ):
158157 index_urls = (
159158 * index_urls , * tuple (extra_data .get ("extra_index_urls" ) or []))
160159 index_urls = (
@@ -260,10 +259,8 @@ def resolve_dependencies(
260259 # Collect PyPI repos
261260 for index_url in index_urls :
262261 index_url = index_url .strip ("/" )
263- existing = utils_pypi .DEFAULT_PYPI_REPOS_BY_URL .get (index_url )
264- if existing :
265- existing .use_cached_index = use_cached_index
266- repos .append (existing )
262+ if index_url in settings .INDEX_URL :
263+ repos .append (PypiSimpleRepository (index_url ))
267264 else :
268265 credentials = None
269266 if parsed_netrc :
@@ -273,7 +270,7 @@ def resolve_dependencies(
273270 dict (login = login ,
274271 password = password ) if login and password else None
275272 )
276- repo = utils_pypi . PypiSimpleRepository (
273+ repo = PypiSimpleRepository (
277274 index_url = index_url ,
278275 use_cached_index = use_cached_index ,
279276 credentials = credentials ,
@@ -366,8 +363,8 @@ def resolve(
366363
367364def get_resolved_dependencies (
368365 requirements : List [Requirement ],
369- environment : Environment = None ,
370- repos : Sequence [utils_pypi . PypiSimpleRepository ] = tuple (),
366+ environment : Environment ,
367+ repos : Sequence [PypiSimpleRepository ] = tuple (),
371368 as_tree : bool = False ,
372369 max_rounds : int = 200000 ,
373370 pdt_output : bool = False ,
@@ -382,6 +379,7 @@ def get_resolved_dependencies(
382379 Used the provided ``repos`` list of PypiSimpleRepository.
383380 If empty, use instead the PyPI.org JSON API exclusively instead
384381 """
382+
385383 resolver = Resolver (
386384 provider = PythonInputProvider (
387385 environment = environment ,
@@ -391,9 +389,12 @@ def get_resolved_dependencies(
391389 ),
392390 reporter = BaseReporter (),
393391 )
392+
394393 resolver_results = resolver .resolve (
395394 requirements = requirements , max_rounds = max_rounds )
395+
396396 package_list = get_package_list (results = resolver_results )
397+
397398 if pdt_output :
398399 return (format_pdt_tree (resolver_results ), package_list )
399400 return (
0 commit comments