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"}'