ayn.registry.base
Agent registry implementation.
- class ayn.registry.base.AgentRegistry(searchers: List[AgentSearcher] | None = None, cache_dir: str | None = None)[source]
Unified registry for searching and managing agents
Aggregates results from multiple sources and provides a dict-like interface.
Example
>>> registry = AgentRegistry() >>> # Add a local agent >>> from ayn.core import AgentMetadata, AgentFramework >>> meta = AgentMetadata(name="test", description="test", framework=AgentFramework.CUSTOM) >>> registry['test'] = meta >>> registry['test'].name 'test' >>> 'test' in registry True
- search(query: str, *, limit: int = 20, source: str | None = None, **filters) List[AgentMetadata][source]
Search across all sources
- Parameters:
query – Search query
limit – Max results
source – Specific source to search (github, huggingface, awesome)
**filters – Additional filters
- Returns:
List of agent metadata
Example
>>> registry = AgentRegistry(searchers=[]) >>> # Add some test data >>> from ayn.core import AgentMetadata, AgentFramework >>> registry['agent1'] = AgentMetadata( ... name="agent1", description="test agent", ... framework=AgentFramework.CREWAI, tags=['data'] ... ) >>> results = registry.search('agent') >>> len(results) >= 1 True