[build-system] requires = ["setuptools>=68.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "geminirag" version = "0.1.0" requires-python = ">=3.11" dependencies = [ # ── API framework ──────────────────────────────────────────────── "fastapi>=0.111.0", "uvicorn[standard]>=0.29.0", "python-multipart>=0.0.9", "httpx>=0.27.0", "slowapi>=0.1.9", # ── Database / ORM ─────────────────────────────────────────────── "sqlmodel>=0.0.19", "alembic>=1.13.0", "psycopg2-binary>=2.9.9", # ── Task queue ─────────────────────────────────────────────────── "celery[redis]>=5.3.0", "redis>=5.0.0", # ── Auth ──────────────────────────────────────────────────────── "python-jose[cryptography]>=3.3.0", "passlib[bcrypt]>=1.7.4", "pydantic-settings>=2.2.0", # ── LLM — Groq (primary) ───────────────────────────────────────── "groq>=0.9.0", # ── LLM — Google (streaming query + ADK agent) ─────────────────── "google-genai>=1.0.0", "google-adk>=0.3.0", # ── RAG evaluation (RAGAS + LangChain wrappers) ────────────────── "ragas>=0.1.0", "langchain-groq>=0.1.0", "langchain-huggingface>=0.0.3", "langchain-google-genai>=1.0.0", "datasets>=2.19.0", # ── Vector store ───────────────────────────────────────────────── "chromadb>=0.5.0", # ── Embeddings (local, no API cost) ────────────────────────────── "fastembed>=0.2.0", # ── Sparse retrieval ───────────────────────────────────────────── "rank-bm25>=0.2.2", # ── Cross-encoder reranker ─────────────────────────────────────── "sentence-transformers>=3.0.0", # ── Document processors ────────────────────────────────────────── "pdfplumber>=0.11.0", "python-docx>=1.1.0", "openpyxl>=3.1.0", # ── Image processing ───────────────────────────────────────────── "Pillow>=10.0.0", # ── Audio / video processing ───────────────────────────────────── "pydub>=0.25.0", "moviepy>=2.0.0", "imageio-ffmpeg>=0.4.9", "speechbrain>=1.0.0", "torchaudio>=2.0.0", "audioop-lts>=0.2.1; python_version >= '3.13'", # ── ML utilities ───────────────────────────────────────────────── "scikit-learn>=1.3.0", "numpy>=1.26.0", # ── Observability ──────────────────────────────────────────────── "structlog>=24.1.0", "opentelemetry-sdk>=1.24.0", "opentelemetry-instrumentation-fastapi>=0.45b0", # ── Testing ────────────────────────────────────────────────────── "pytest>=8.2.0", "pytest-asyncio>=0.23.0", ] [tool.setuptools.packages.find] where = ["."] include = ["app*"]