@@ -285,17 +285,21 @@ def resolve_dependencies(
285285 pdt_output = pdt_output ,
286286 analyze_setup_py_insecurely = analyze_setup_py_insecurely ,
287287 ignore_errors = ignore_errors ,
288+ verbose = verbose ,
289+ printer = printer
288290 )
289291
290292 async def gather_pypi_data ():
291293 async def get_pypi_data (package ):
292- if verbose :
293- printer (f" package '{ package } '" )
294-
295- return await get_pypi_data_from_purl (
294+ data = await get_pypi_data_from_purl (
296295 package , repos = repos , environment = environment , prefer_source = prefer_source
297296 )
298297
298+ if verbose :
299+ printer (f" retrieved package '{ package } '" )
300+
301+ return data
302+
299303 if verbose :
300304 printer (f"retrieve data from pypi:" )
301305
@@ -325,6 +329,8 @@ def resolve(
325329 pdt_output : bool = False ,
326330 analyze_setup_py_insecurely : bool = False ,
327331 ignore_errors : bool = False ,
332+ verbose : bool = False ,
333+ printer = print
328334):
329335 """
330336 Resolve dependencies given a ``direct_dependencies`` list of
@@ -351,6 +357,8 @@ def resolve(
351357 pdt_output = pdt_output ,
352358 analyze_setup_py_insecurely = analyze_setup_py_insecurely ,
353359 ignore_errors = ignore_errors ,
360+ verbose = verbose ,
361+ printer = printer
354362 )
355363
356364 return resolved_dependencies , packages
@@ -365,6 +373,8 @@ def get_resolved_dependencies(
365373 pdt_output : bool = False ,
366374 analyze_setup_py_insecurely : bool = False ,
367375 ignore_errors : bool = False ,
376+ verbose : bool = False ,
377+ printer = print
368378) -> Tuple [List [Dict ], List [str ]]:
369379 """
370380 Return resolved dependencies of a ``requirements`` list of Requirement for
@@ -374,13 +384,31 @@ def get_resolved_dependencies(
374384 Used the provided ``repos`` list of PypiSimpleRepository.
375385 If empty, use instead the PyPI.org JSON API exclusively instead.
376386 """
387+ provider = PythonInputProvider (
388+ environment = environment ,
389+ repos = repos ,
390+ analyze_setup_py_insecurely = analyze_setup_py_insecurely ,
391+ ignore_errors = ignore_errors ,
392+ )
393+
394+ async def gather_version_data ():
395+ async def get_version_data (name : str ):
396+ versions = await provider .fill_versions_for_package (name )
397+
398+ if verbose :
399+ printer (f" retrieved versions for package '{ name } '" )
400+
401+ return versions
402+
403+ if verbose :
404+ printer (f"versions:" )
405+
406+ return await asyncio .gather (* [get_version_data (requirement .name ) for requirement in requirements ])
407+
408+ asyncio .run (gather_version_data ())
409+
377410 resolver = Resolver (
378- provider = PythonInputProvider (
379- environment = environment ,
380- repos = repos ,
381- analyze_setup_py_insecurely = analyze_setup_py_insecurely ,
382- ignore_errors = ignore_errors ,
383- ),
411+ provider = provider ,
384412 reporter = BaseReporter (),
385413 )
386414 resolver_results = resolver .resolve (requirements = requirements , max_rounds = max_rounds )
0 commit comments