1
0
Fork
You've already forked moargents
0
A modern Python CLI application for AI agents with built-in support for multiple AI providers, embedding models, and vector databases.
Python 98.8%
Makefile 1.2%
Christoph Görn 356202a08b
📝 docs: füge Social Media Command und Content hinzu
Fügt neue Claude-Command für Substack-LinkedIn Integration und
entsprechenden Social Media Content hinzu.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025年07月30日 08:23:14 +02:00
.claude/commands 📝 docs: füge Social Media Command und Content hinzu 2025年07月30日 08:23:14 +02:00
.social-media 📝 docs: füge Social Media Command und Content hinzu 2025年07月30日 08:23:14 +02:00
.vscode 🎨 style: formatiere Code für bessere Lesbarkeit und Konsistenz 2025年07月29日 22:49:36 +02:00
scratch 📝 docs: füge Social Media Command und Content hinzu 2025年07月30日 08:23:14 +02:00
src/moargents 🎨 style: formatiere Code für bessere Lesbarkeit und Konsistenz 2025年07月29日 22:49:36 +02:00
tests 📝 docs: erstelle umfassende README und korrigiere CLI-Fehler 2025年07月16日 12:22:12 +02:00
.editorconfig 🎉 chore: erste Projektinitialisierung mit CLI-Template 2025年07月16日 08:30:34 +02:00
.env 🎉 chore: erste Projektinitialisierung mit CLI-Template 2025年07月16日 08:30:34 +02:00
.gitignore feat: erweitere Thai-Rezepte-Agent mit Google Search und verbesserter Funktionalität 2025年07月16日 17:52:52 +02:00
.pre-commit-config.yaml feat: erweitere CLI um Research-Agent und Shopping-List-Funktionalität 2025年07月29日 22:48:05 +02:00
.python-version 📝 docs: erstelle umfassende README und korrigiere CLI-Fehler 2025年07月16日 12:22:12 +02:00
.releaserc 🎨 style: formatiere Code für bessere Lesbarkeit und Konsistenz 2025年07月29日 22:49:36 +02:00
.renovaterc 📝 docs: erstelle umfassende README und korrigiere CLI-Fehler 2025年07月16日 12:22:12 +02:00
CHANGELOG.md chore(release): 0.1.0 [skip ci] 2025年07月16日 18:39:02 +00:00
CLAUDE.md 🎉 chore: erste Projektinitialisierung mit CLI-Template 2025年07月16日 08:30:34 +02:00
Makefile feat: erweitere CLI um Research-Agent und Shopping-List-Funktionalität 2025年07月29日 22:48:05 +02:00
pyproject.toml feat: erweitere CLI um Research-Agent und Shopping-List-Funktionalität 2025年07月29日 22:48:05 +02:00
README.md 📝 docs: erstelle umfassende README und korrigiere CLI-Fehler 2025年07月16日 12:22:12 +02:00
uv.lock feat: erweitere CLI um Research-Agent und Shopping-List-Funktionalität 2025年07月29日 22:48:05 +02:00

moargents

A modern Python CLI application for AI agents with built-in support for multiple AI providers, embedding models, and vector databases.

Features

  • Multi-Provider AI Support: Integration with Anthropic, OpenAI, and other AI providers
  • Advanced Embedding Models: FastEmbed and Sentence Transformers support
  • Vector Database Integration: Qdrant and pgvector support
  • Financial Data: Yahoo Finance integration
  • Document Processing: PDF parsing capabilities
  • Modern CLI: Built with Typer and Rich for beautiful terminal output
  • Structured Logging: Loguru integration with configurable formats
  • Production Ready: Comprehensive testing, linting, and type checking

Installation

# Clone the repository
git clone https://codeberg.org/goern/moargents.git
cd moargents
# Install dependencies
uv sync --group dev

Usage

Basic Commands

# Show help
uv run moargents --help
# Show version
uv run moargents version
# Show application info
uv run moargents info

Logging Configuration

# Debug logging
uv run moargents -v command
# Trace logging (most verbose)
uv run moargents -vv command
# Set log level explicitly
uv run moargents --log-level=DEBUG command
# Log to file
uv run moargents --log-file=logs/app.log command
# JSON format logging
uv run moargents --log-format=json command

Environment Variables

# Set log level
LOG_LEVEL=DEBUG uv run moargents command
# Configure logging format
LOG_FORMAT=json uv run moargents command

Development

Setup

# Install with development dependencies
uv sync --group dev
# Install documentation dependencies
uv sync --group docs

Testing

# Run all tests
uv run pytest
# Run tests with coverage
uv run pytest --cov=src --cov-report=html --cov-report=term-missing
# Run specific test types
uv run pytest -m unit # Unit tests only
uv run pytest -m e2e # End-to-end tests only
uv run pytest -m "not slow" # Skip slow tests

Code Quality

# Run linting
uv run ruff check
# Format code
uv run ruff format
# Type checking
uv run mypy src/
# All quality checks
uv run pre-commit run --all-files

Documentation

# Generate API documentation
uv run pdoc src/moargents -o docs/

Architecture

CLI Structure

  • src/moargents/cli/app.py - Main CLI application and command registration
  • src/moargents/cli/logging.py - Logging configuration
  • src/moargents/settings.py - Centralized settings using Pydantic
  • src/moargents/commands.py - Command implementations

Configuration

The application uses Pydantic for configuration management with support for:

  • Environment variables with nested delimiter __ (e.g., LOGGING__LEVEL=DEBUG)
  • File-based configuration
  • Runtime configuration via CLI options

Logging

  • Formats: Pretty (colored) and JSON formats
  • Levels: TRACE, DEBUG, INFO, WARNING, ERROR, CRITICAL
  • Output: Console and/or file with rotation
  • Context: Includes function name, line number, and timestamp

Dependencies

Core Dependencies

  • typer - Modern CLI framework
  • rich - Beautiful terminal output
  • pydantic - Data validation and settings
  • loguru - Structured logging
  • python-dotenv - Environment variable loading

AI & ML Dependencies

  • anthropic - Anthropic Claude API
  • huggingface-hub - Hugging Face model hub
  • fastembed - Fast embedding models
  • sentence-transformers - Sentence embedding models

Database Dependencies

  • qdrant-client - Vector database client
  • pgvector - PostgreSQL vector extension
  • sqlalchemy - SQL toolkit and ORM
  • psycopg - PostgreSQL adapter

Utility Dependencies

  • pypdf - PDF processing
  • yfinance - Yahoo Finance data
  • googlesearch-python - Google search functionality
  • pycountry - Country data

License

GPL-3.0-or-later

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and quality checks
  5. Submit a pull request

Make sure to follow the existing code style and include tests for new functionality.