# -------- Core scientific stack (Python 3.11+ compatible) --------
numpy>=1.26,<2.0
pandas>=2.1,<2.3
pyarrow>=16,<19

# Timezone helpers
pytz>=2023.3
tzdata>=2023.3

# -------- Engines / query / utils --------
duckdb>=1.1,<2.0
polars>=1.6,<2.0
sqlglot>=26,<27
colorlog>=6.9,<7.0
python-dotenv>=1.0,<2.0
setuptools>=68

# -------- Storage backends (Redis + MinIO as default) --------
redis>=5.0,<5.2
minio>=7.2,<8.0
boto3>=1.34,<2.0  # optional S3 compatibility

# -------- Admin API (FastAPI + Uvicorn + Jinja2) --------
fastapi>=0.111,<0.117
uvicorn[standard]>=0.30,<0.34
jinja2>=3.1,<3.2
aiofiles>=23.2,<24.0     # static files / templates convenience
orjson>=3.9,<4.0         # faster JSON (optional but nice)

# -------- MCP (Model Context Protocol) --------
mcp>=1.1.0

# NOTE:
# • Using uvicorn[standard] adds uvloop, httptools, watchfiles for better perf/dev.
# • Ranges chosen to stay friendly with python:3.11-slim in Docker.
# • You can drop boto3 if you only use MinIO with the MinIO client.
