@@ -284,17 +284,21 @@ def resolve_dependencies(
284284 pdt_output = pdt_output ,
285285 analyze_setup_py_insecurely = analyze_setup_py_insecurely ,
286286 ignore_errors = ignore_errors ,
287+ verbose = verbose ,
288+ printer = printer
287289 )
288290
289291 async def gather_pypi_data ():
290292 async def get_pypi_data (package ):
291- if verbose :
292- printer (f" package '{ package } '" )
293-
294- return await get_pypi_data_from_purl (
293+ data = await get_pypi_data_from_purl (
295294 package , repos = repos , environment = environment , prefer_source = prefer_source
296295 )
297296
297+ if verbose :
298+ printer (f" retrieved package '{ package } '" )
299+
300+ return data
301+
298302 if verbose :
299303 printer (f"retrieve data from pypi:" )
300304
@@ -324,6 +328,8 @@ def resolve(
324328 pdt_output : bool = False ,
325329 analyze_setup_py_insecurely : bool = False ,
326330 ignore_errors : bool = False ,
331+ verbose : bool = False ,
332+ printer = print
327333):
328334 """
329335 Resolve dependencies given a ``direct_dependencies`` list of
@@ -350,6 +356,8 @@ def resolve(
350356 pdt_output = pdt_output ,
351357 analyze_setup_py_insecurely = analyze_setup_py_insecurely ,
352358 ignore_errors = ignore_errors ,
359+ verbose = verbose ,
360+ printer = printer
353361 )
354362
355363 return resolved_dependencies , packages
@@ -364,6 +372,8 @@ def get_resolved_dependencies(
364372 pdt_output : bool = False ,
365373 analyze_setup_py_insecurely : bool = False ,
366374 ignore_errors : bool = False ,
375+ verbose : bool = False ,
376+ printer = print
367377) -> Tuple [List [Dict ], List [str ]]:
368378 """
369379 Return resolved dependencies of a ``requirements`` list of Requirement for
@@ -373,15 +383,34 @@ def get_resolved_dependencies(
373383 Used the provided ``repos`` list of PypiSimpleRepository.
374384 If empty, use instead the PyPI.org JSON API exclusively instead.
375385 """
386+ provider = PythonInputProvider (
387+ environment = environment ,
388+ repos = repos ,
389+ analyze_setup_py_insecurely = analyze_setup_py_insecurely ,
390+ ignore_errors = ignore_errors ,
391+ )
392+
393+ async def gather_version_data ():
394+ async def get_version_data (name : str ):
395+ versions = await provider .fill_versions_for_package (name )
396+
397+ if verbose :
398+ printer (f" retrieved versions for package '{ name } '" )
399+
400+ return versions
401+
402+ if verbose :
403+ printer (f"versions:" )
404+
405+ return await asyncio .gather (* [get_version_data (requirement .name ) for requirement in requirements ])
406+
407+ asyncio .run (gather_version_data ())
408+
376409 resolver = Resolver (
377- provider = PythonInputProvider (
378- environment = environment ,
379- repos = repos ,
380- analyze_setup_py_insecurely = analyze_setup_py_insecurely ,
381- ignore_errors = ignore_errors ,
382- ),
410+ provider = provider ,
383411 reporter = BaseReporter (),
384412 )
413+
385414 resolver_results = resolver .resolve (requirements = requirements , max_rounds = max_rounds )
386415 package_list = get_package_list (results = resolver_results )
387416 if pdt_output :
0 commit comments