django_agents.registry

Agent Registry for auto-discovery and centralized agent management.

The registry automatically discovers and registers all agents across installed Django apps, providing a centralized access point for agent management.

Functions

autodiscover()

Convenience function to auto-discover agents.

get_registry()

Get the global agent registry instance.

Classes

AgentRegistry()

Centralized registry for managing Django agents.

class django_agents.registry.AgentRegistry[source]

Centralized registry for managing Django agents.

The registry provides auto-discovery, registration, and lookup capabilities for all agents in the project.

__init__()[source]

Initialize the registry.

register(agent_class: Type[BaseAgent], app_name: str, force: bool = False) None[source]

Register an agent class.

Parameters:
  • agent_class – Agent class to register

  • app_name – Name of the app containing the agent

  • force – Force registration even if agent exists

Raises:

ValueError – If agent is already registered and force=False

unregister(agent_name: str) None[source]

Unregister an agent.

Parameters:

agent_name – Name of the agent to unregister

Raises:

KeyError – If agent is not registered

get_agent(agent_name: str) BaseAgent | None[source]

Get an agent instance by name.

Parameters:

agent_name – Name of the agent

Returns:

Agent instance or None if not found

get_agent_class(agent_name: str) Type[BaseAgent] | None[source]

Get an agent class by name.

Parameters:

agent_name – Name of the agent

Returns:

Agent class or None if not found

get_agent_metadata(agent_name: str) Dict | None[source]

Get agent metadata.

Parameters:

agent_name – Name of the agent

Returns:

Agent metadata dictionary or None if not found

list_agents(app_name: str | None = None, enabled_only: bool = False) List[Dict][source]

List all registered agents.

Parameters:
  • app_name – Filter by app name

  • enabled_only – Only return enabled agents

Returns:

List of agent metadata dictionaries

get_agents_by_app(app_name: str) List[Dict][source]

Get all agents from a specific app.

Parameters:

app_name – Name of the app

Returns:

List of agent metadata dictionaries

is_registered(agent_name: str) bool[source]

Check if an agent is registered.

Parameters:

agent_name – Name of the agent

Returns:

True if registered, False otherwise

count() int[source]

Get the number of registered agents.

Returns:

Number of registered agents

clear() None[source]

Clear all registered agents.

autodiscover(force: bool = False) None[source]

Automatically discover and register all agents in installed apps.

Parameters:

force – Force re-discovery even if already discovered

export_metadata() Dict[source]

Export all agent metadata as a dictionary.

Returns:

Dictionary containing all agent metadata

__repr__() str[source]

String representation.

django_agents.registry.autodiscover()[source]

Convenience function to auto-discover agents.

This should be called during Django app initialization.

django_agents.registry.get_registry() AgentRegistry[source]

Get the global agent registry instance.

Returns:

Global agent registry