# Core
python-telegram-bot==22.8
httpx==0.28.1
aiohttp==3.14.1
# aiohttp lo necesita para decodificar respuestas brotli: HEADERS anuncia
# "Accept-Encoding: ...br" y sin él toda web que responda br falla con
# "Can not decode content-encoding: brotli" (fuentes perdidas en silencio).
# brotlicffi y NO Brotli puro: aiohttp 3.14 + Brotli falla en streams
# troceados (disclosure.org, todaywhy.com); con brotlicffi (que aiohttp
# prefiere) decodifican todos — verificado en el pod 2026-07-04.
brotlicffi==1.1.0.0

# Scraping
beautifulsoup4==4.15.0
lxml==5.4.0
trafilatura==1.12.2
youtube-transcript-api==0.6.3
pdfplumber==0.11.10
feedparser==6.0.12
duckduckgo-search==6.4.2

# Storage & Embeddings
sqlite-vec==0.1.9
aiosqlite==0.22.1

# Processing
tiktoken==0.7.0
numpy==1.26.4
scikit-learn==1.5.1

# Claude API (scoring)
anthropic>=0.40.0

# PDF export
markdown==3.10.2
reportlab==4.2.5

# Utilities
pydantic==2.13.4
pydantic-settings==2.14.2
tenacity==9.0.0
structlog==24.4.0
python-dotenv==1.2.2
