Coverage for src/secchi/workflows/search.py: 67%

6 statements  

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

1"""Cross-registry package search workflow.""" 

2 

3from secchi.diagnostics import DiagnosticLog 

4from secchi.models import Registry, SearchResult 

5from secchi.services.search import PackageSearchService 

6 

7 

8async def run( 

9 query: str, 

10 *, 

11 registry: str | None = None, 

12 limit: int = 10, 

13 diagnostics: DiagnosticLog | None = None, 

14) -> list[SearchResult]: 

15 registries = [Registry(registry)] if registry else list(Registry) 

16 return await PackageSearchService().search( 

17 query, registries=registries, limit=limit, diagnostics=diagnostics 

18 )