Current collected state Current
Observed since 20 Oct, 21:54 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
agentfather
AI agent framework with email, file, and voice processing
A comprehensive AI agent framework with email, file, and voice processing capabilities built on top of LangChain.
pip install agentfather
git clone https://github.com/yourusername/agentfather.git
cd agentfather
pip install -e .
git clone https://github.com/yourusername/agentfather.git
cd agentfather
pip install -e ".[dev,test,docs]"
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")
# Run the agent interactively
agentfather
# Process specific tasks
agentfather email --input "user@example.com"
agentfather file --input "document.pdf"
agentfather voice --input "audio.wav"
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
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
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)
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")
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")
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?")
# 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
# Run all tests
pytest
# Run with coverage
pytest --cov=agentfather
# Run specific test categories
pytest -m unit
pytest -m integration
pytest -m "not slow"
# Format code
black agentfather/
isort agentfather/
# Lint code
flake8 agentfather/
mypy agentfather/
# Security check
bandit -r agentfather/
safety check
# Build docs
cd docs
make html
# Serve docs locally
python -m http.server 8000
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
See CHANGELOG.md for a list of changes and version history.
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
langchainEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | langchain | runtime |
openaiEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | openai | runtime |
requestsEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | requests | runtime |
python-dotenvEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | python-dotenv | runtime |
pandasEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pandas | runtime |
numpyEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | numpy | runtime |
matplotlibEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | matplotlib | runtime |
seabornEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | seaborn | runtime |
networkxEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | networkx | runtime |
plotlyEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | plotly | runtime |
streamlitEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | streamlit | runtime |
fastapiEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | fastapi | runtime |
uvicornEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | uvicorn | runtime |
pydanticEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pydantic | runtime |
beautifulsoup4Environment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | beautifulsoup4 | runtime |
lxmlEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | lxml | runtime |
pyttsx3Environment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pyttsx3 | runtime |
speechrecognitionEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | speechrecognition | runtime |
pyaudioEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pyaudio | runtime |
voskEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | vosk | runtime |
elevenlabsEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | elevenlabs | runtime |
soundfileEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | soundfile | runtime |
librosaEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | librosa | runtime |
nltkEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | nltk | runtime |
spacyEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | spacy | runtime |
transformersEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | transformers | runtime |
torchEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | torch | runtime |
tensorflowEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | tensorflow | runtime |
scikit-learnEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | scikit-learn | runtime |
scipyEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | scipy | runtime |
pillowEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pillow | runtime |
opencv-pythonEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | opencv-python | runtime |
pytesseractEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pytesseract | runtime |
pdf2imageEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pdf2image | runtime |
PyPDF2Environment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | PyPDF2 | runtime |
python-docxEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | python-docx | runtime |
openpyxlEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | openpyxl | runtime |
sqlalchemyEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | sqlalchemy | runtime |
psycopg2-binaryEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | psycopg2-binary | runtime |
redisEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | redis | runtime |
celeryEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | celery | runtime |
loguruEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | loguru | runtime |
richEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | rich | runtime |
clickEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | click | runtime |
typerEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | typer | runtime |
pyyamlEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pyyaml | runtime |
tomlEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | toml | runtime |
jinja2Environment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | jinja2 | runtime |
python-dateutilEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | python-dateutil | runtime |
pytzEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pytz | runtime |
bdist_wheel · 4.86 KB · Python py3
sdist · 7.24 KB · Python source
Observed since 20 Oct, 21:54 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:9615a6654005db1758e586d770d468403bc8cce7e082ff9e9fda8441bc813bd3