# ============================================================
# LangChain SQL Agent Starter — pinned dependencies
# Install with: pip install -r requirements.txt
# ============================================================

# --- LangChain core & integrations ---------------------------
langchain>=0.3.0,<0.4.0
langchain-core>=0.3.0,<0.4.0
langchain-anthropic>=0.3.0,<0.4.0
langchain-openai>=0.2.0,<0.3.0
langchain-community>=0.3.0,<0.4.0

# --- SQL agent toolkit ---------------------------------------
# langchain-community already exposes SQLDatabaseToolkit
# SQLAlchemy is the DB abstraction layer (required by LangChain SQL tools)
SQLAlchemy>=2.0.0,<3.0.0

# --- Database drivers (install extras as needed) -------------
# SQLite is bundled with Python — no extra driver needed.
# Uncomment the relevant line for other databases:
# psycopg2-binary>=2.9.0        # PostgreSQL
# pymysql>=1.1.0                # MySQL / MariaDB
# pyodbc>=5.0.0                 # SQL Server / ODBC

# --- API layer ------------------------------------------------
fastapi>=0.115.0,<0.116.0
uvicorn[standard]>=0.31.0,<0.32.0
httpx>=0.27.0,<0.28.0

# --- UI -------------------------------------------------------
streamlit>=1.39.0,<2.0.0

# --- Configuration / env --------------------------------------
python-dotenv>=1.0.0,<2.0.0
pyyaml>=6.0,<7.0

# --- Testing --------------------------------------------------
pytest>=8.0.0,<9.0.0
pytest-asyncio>=0.24.0,<0.25.0

# --- Utilities ------------------------------------------------
tenacity>=8.5.0,<9.0.0
tabulate>=0.9.0,<1.0.0
