Skip to main content

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

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. 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

Changelog

See CHANGELOG.md for a list of changes and version history.

Acknowledgments

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)

Source distribution for agentfather 1.0.0
File Size Uploaded
agentfather-1.0.0.tar.gz 7.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agentfather 1.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page