Catalog PyPI
Back to packageRELEASE DETAILS

1.0.0

PyPI

agentfather

AI agent framework with email, file, and voice processing

Published4 Aug 2025
Direct dependencies50
Transitive dependenciesNot calculated

README

Version 1.0.0 documentation

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

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

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 50

Native requirements
50 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
langchain
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
langchainruntime
openai
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
openairuntime
requests
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
requestsruntime
python-dotenv
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
python-dotenvruntime
pandas
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pandasruntime
numpy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
numpyruntime
matplotlib
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
matplotlibruntime
seaborn
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
seabornruntime
networkx
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
networkxruntime
plotly
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
plotlyruntime
streamlit
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
streamlitruntime
fastapi
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
fastapiruntime
uvicorn
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
uvicornruntime
pydantic
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pydanticruntime
beautifulsoup4
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
beautifulsoup4runtime
lxml
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
lxmlruntime
pyttsx3
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pyttsx3runtime
speechrecognition
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
speechrecognitionruntime
pyaudio
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pyaudioruntime
vosk
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
voskruntime
elevenlabs
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
elevenlabsruntime
soundfile
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
soundfileruntime
librosa
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
librosaruntime
nltk
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
nltkruntime
spacy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
spacyruntime
transformers
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
transformersruntime
torch
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
torchruntime
tensorflow
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
tensorflowruntime
scikit-learn
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
scikit-learnruntime
scipy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
scipyruntime
pillow
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pillowruntime
opencv-python
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
opencv-pythonruntime
pytesseract
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pytesseractruntime
pdf2image
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pdf2imageruntime
PyPDF2
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
PyPDF2runtime
python-docx
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
python-docxruntime
openpyxl
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
openpyxlruntime
sqlalchemy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
sqlalchemyruntime
psycopg2-binary
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
psycopg2-binaryruntime
redis
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
redisruntime
celery
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
celeryruntime
loguru
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
logururuntime
rich
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
richruntime
click
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
clickruntime
typer
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
typerruntime
pyyaml
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pyyamlruntime
toml
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
tomlruntime
jinja2
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
jinja2runtime
python-dateutil
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
python-dateutilruntime
pytz
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pytzruntime

Distribution files

2 collected
agentfather-1.0.0-py3-none-any.whl

bdist_wheel · 4.86 KB · Python py3

Source file
agentfather-1.0.0.tar.gz

sdist · 7.24 KB · Python source

Source file

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 21:54 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:9615a6654005db1758e586d770d468403bc8cce7e082ff9e9fda8441bc813bd3

Other collected versions

View all collected versions →