Coverage for src/secchi/workflows/show.py: 45%

11 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-08-14 23:28 +0000

1"""Package summary workflow.""" 

2 

3from secchi.models import PackageRef 

4from secchi.services.intelligence import IntelligenceResult, PackageIntelligenceService 

5from secchi.services.resolver import parse_package_spec 

6from secchi.workflows.common import require_package 

7 

8 

9async def run( 

10 package: str | PackageRef, 

11 *, 

12 registry: str | None = None, 

13 refresh: bool = False, 

14 security_refresh: bool = False, 

15 service: PackageIntelligenceService | None = None, 

16) -> IntelligenceResult: 

17 ref = parse_package_spec(package, registry) if isinstance(package, str) else package 

18 if security_refresh: 

19 return await require_package( 

20 ref, refresh, security_refresh=True, service=service 

21 ) 

22 if service is None: 

23 return await require_package(ref, refresh) 

24 return await require_package(ref, refresh, service=service)