Welcome to django-agents documentation!

django-agents is a Django extension that brings agent-oriented programming to Django projects. It provides a framework for creating, managing, and orchestrating intelligent agents that can automate tasks, process data, and coordinate complex workflows.

Features

  • BaseAgent: Foundation for synchronous agents

  • AsyncAgent: Support for asynchronous execution

  • WorkflowAgent: Orchestrate multi-step workflows

  • Auto-discovery: Automatic agent registration

  • Management Commands: CLI tools for agent management

  • Audit System: Code quality and security analysis

  • Django Integration: Seamless integration with Django apps

Getting Started

Install django-agents:

pip install django_agents

Add to your Django settings:

INSTALLED_APPS = [
    ...
    'django_agents',
]

Create your first agent:

python manage.py create_agent MyAgent myapp

Quick Example

from django_agents.base import BaseAgent
from typing import Any, Dict

class EmailNotificationAgent(BaseAgent):
    """Send email notifications."""

    name = "email_notification"
    description = "Sends email notifications to users"
    version = "1.0.0"

    def execute(self, context: Dict[str, Any]) -> Dict[str, Any]:
        """Execute email notification."""
        recipient = context.get('recipient')
        subject = context.get('subject')
        message = context.get('message')

        # Send email logic here
        self.log_info(f"Sending email to {recipient}")

        return {
            'success': True,
            'recipient': recipient
        }

Run the agent:

python manage.py run_agent email_notification --context '{"recipient": "user@example.com"}'

Indices and tables