# ============================================================
# LangChain Website Chat Starter — Python dependencies
# Python 3.10+
# ============================================================

# --- LangChain core ------------------------------------------
langchain>=0.2.0,<0.4
langchain-core>=0.2.0,<0.4
langchain-community>=0.2.0,<0.4
langchain-text-splitters>=0.2.0,<0.4

# --- LLM providers (install the one(s) you use) --------------
langchain-anthropic>=0.1.15        # Anthropic Claude (default)
langchain-openai>=0.1.0            # OpenAI GPT
langchain-ollama>=0.1.0            # Local Ollama

# --- Embeddings ----------------------------------------------
sentence-transformers>=3.0.0       # HuggingFace local embeddings (default)
# Note: langchain-openai above also covers OpenAI embeddings

# --- Vector stores -------------------------------------------
chromadb>=0.5.0                    # Chroma (default, persisted)
faiss-cpu>=1.8.0                   # FAISS (in-memory / file)

# --- Web crawling / HTML parsing -----------------------------
requests>=2.31.0
beautifulsoup4>=4.12.0
lxml>=5.0.0                        # Faster HTML parser for bs4
urllib3>=2.0.0
protego>=0.3.1                     # robots.txt parsing

# --- API -----------------------------------------------------
fastapi>=0.111.0
uvicorn[standard]>=0.29.0
pydantic>=2.7.0
pydantic-settings>=2.2.0

# --- UI ------------------------------------------------------
streamlit>=1.35.0

# --- Configuration / environment -----------------------------
python-dotenv>=1.0.0
pyyaml>=6.0.1

# --- Utilities -----------------------------------------------
tenacity>=8.3.0                    # Retry logic for HTTP requests

# --- Testing -------------------------------------------------
pytest>=8.2.0
pytest-asyncio>=0.23.0
httpx>=0.27.0                      # TestClient for FastAPI
