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