AgentFather
A comprehensive AI agent framework with email, file, and voice processing capabilities built on top of LangChain.
Features
- 🤖 AI Agent Framework: Built on LangChain for intelligent automation
- 📧 Email Processing: Advanced email handling and automation
- 📁 File Management: Comprehensive file operations and processing
- 🎤 Voice Processing: Speech recognition and text-to-speech capabilities
- 🔧 Modular Design: Easy to extend and customize
- 🚀 Production Ready: Includes testing, documentation, and deployment tools
Installation
From PyPI (Recommended)
pip install agentfather
From Source
git clone https://github.com/yourusername/agentfather.git
cd agentfather
pip install -e .
Development Installation
git clone https://github.com/yourusername/agentfather.git
cd agentfather
pip install -e ".[dev,test,docs]"
Quick Start
Basic Usage
from agentfather import AgentFather
# Initialize the agent
agent = AgentFather()
# Process an email
result = agent.process_email("user@example.com", "Hello, I need help with my order")
# Process a file
result = agent.process_file("document.pdf")
# Process voice input
result = agent.process_voice("audio.wav")
Command Line Interface
# Run the agent interactively
agentfather
# Process specific tasks
agentfather email --input "user@example.com"
agentfather file --input "document.pdf"
agentfather voice --input "audio.wav"
Project Structure
agentfather/
├── agentfather/ # Main package
│ ├── __init__.py
│ ├── core/ # Core functionality
│ │ ├── __init__.py
│ │ ├── agent.py
│ │ └── config.py
│ ├── email/ # Email processing
│ │ ├── __init__.py
│ │ ├── email_functions.py
│ │ └── Email.py
│ ├── files/ # File processing
│ │ ├── __init__.py
│ │ ├── path_functions.py
│ │ └── path.py
│ ├── voice/ # Voice processing
│ │ ├── __init__.py
│ │ ├── voice_functions.py
│ │ ├── Vosk.py
│ │ └── eleven_labs.py
│ ├── utils/ # Utilities
│ │ ├── __init__.py
│ │ ├── langchain_imports.py
│ │ ├── rag_functions.py
│ │ └── file_functions.py
│ └── cli.py # Command line interface
├── DummyData/ # Sample data
├── tests/ # Test suite
├── docs/ # Documentation
├── setup.py # Package setup
├── pyproject.toml # Modern package configuration
├── README.md # This file
├── LICENSE # License file
├── CHANGELOG.md # Version history
├── .gitignore # Git ignore rules
├── requirements.txt # Dependencies
├── requirements-dev.txt # Development dependencies
└── MANIFEST.in # Package manifest
Configuration
Create a .env file in your project root:
# OpenAI Configuration
OPENAI_API_KEY=your_openai_api_key_here
# Email Configuration
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=your_email@gmail.com
EMAIL_PASSWORD=your_app_password
# Voice Configuration
ELEVENLABS_API_KEY=your_elevenlabs_api_key
VOSK_MODEL_PATH=/path/to/vosk/model
# Database Configuration
DATABASE_URL=postgresql://user:password@localhost/dbname
# Redis Configuration
REDIS_URL=redis://localhost:6379
Usage Examples
Email Processing
from agentfather.email import EmailProcessor
processor = EmailProcessor()
# Process incoming emails
emails = processor.fetch_emails()
for email in emails:
response = processor.process_email(email)
processor.send_response(email.sender, response)
File Processing
from agentfather.files import FileProcessor
processor = FileProcessor()
# Process different file types
processor.process_pdf("document.pdf")
processor.process_docx("document.docx")
processor.process_image("image.png")
Voice Processing
from agentfather.voice import VoiceProcessor
processor = VoiceProcessor()
# Speech to text
text = processor.speech_to_text("audio.wav")
# Text to speech
processor.text_to_speech("Hello, world!", "output.wav")
RAG (Retrieval-Augmented Generation)
from agentfather.utils import RAGProcessor
rag = RAGProcessor()
# Add documents to knowledge base
rag.add_documents(["doc1.pdf", "doc2.txt"])
# Query the knowledge base
response = rag.query("What is the main topic?")
Development
Setting up Development Environment
# Clone the repository
git clone https://github.com/yourusername/agentfather.git
cd agentfather
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install development dependencies
pip install -e ".[dev,test,docs]"
# Install pre-commit hooks
pre-commit install
Running Tests
# Run all tests
pytest
# Run with coverage
pytest --cov=agentfather
# Run specific test categories
pytest -m unit
pytest -m integration
pytest -m "not slow"
Code Quality
# Format code
black agentfather/
isort agentfather/
# Lint code
flake8 agentfather/
mypy agentfather/
# Security check
bandit -r agentfather/
safety check
Building Documentation
# Build docs
cd docs
make html
# Serve docs locally
python -m http.server 8000
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Guidelines
- Follow PEP 8 style guidelines
- Write comprehensive tests for new features
- Update documentation for any API changes
- Use type hints for all function parameters and return values
- Write clear commit messages
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
- 📧 Email: support@agentfather.com
- 💬 Discord: Join our community
- 📖 Documentation: Read the docs
- 🐛 Issues: Report a bug
Changelog
See CHANGELOG.md for a list of changes and version history.
Acknowledgments
- LangChain for the AI framework
- OpenAI for language models
- ElevenLabs for voice synthesis
- Vosk for speech recognition
Roadmap
- Web UI interface
- Mobile app support
- Multi-language support
- Advanced analytics dashboard
- Plugin system
- Cloud deployment templates
- Enterprise features
Release files for agentfather 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agentfather-1.0.0.tar.gz | 7.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agentfather-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.4 kB
Release files / agentfather-1.0.0.tar.gz
| Download URL | agentfather-1.0.0.tar.gz |
|---|---|
| Size | 7.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
82bdc9d055361ea79d192e2e9688e6333c173fd523a6162b4fbd4c3e748c3d5e
|
|
BLAKE2b-256 checksum How to use checksums |
c85f19d3b99f0c808688cea4866d34fac20adc50b9ec550243d457409dad72df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Release files / agentfather-1.0.0-py3-none-any.whl
| Download URL | agentfather-1.0.0-py3-none-any.whl |
|---|---|
| Size | 5.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c5bce038c5ec6544cc4c70a082fb85596175a1acd43515a1db1ce4345191d9fa
|
|
BLAKE2b-256 checksum How to use checksums |
febdb121b7ab3fe78737c4c2b4bac80a625ad218720b38364ef1364ee1951ebb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|