# ===================================
# A股自选股智能分析系统 - 依赖列表
# ===================================

# 核心依赖
python-dotenv>=1.0.0        # 环境变量配置管理
tenacity>=8.2.0             # 重试机制（指数退避）
sqlalchemy>=2.0.0           # ORM数据库操作
schedule>=1.2.0             # 定时任务调度
exchange-calendars>=4.5.0   # 交易日历（A股/港股/美股，Issue #373）

# 数据源依赖（多源策略，按优先级排序）
efinance>=0.5.5             # Priority 0: 东方财富数据源（最高优先级）https://github.com/Micro-sheep/efinance
akshare>=1.12.0             # Priority 1: 东方财富爬虫数据源
tushare>=1.4.0              # Priority 2: 挖地兔 Pro API
pytdx>=1.72                 # Priority 2: 通达信行情服务器
baostock>=0.8.0             # Priority 3: 证券宝数据
yfinance>=0.2.0             # Priority 4: Yahoo Finance (Fallback)
longbridge>=0.2.0           # Priority 5: 长桥 OpenAPI（美股/港股兜底）
tickflow>=0.1.0            # TickFlow official SDK (Issue #632, market review enhancement)

#飞书
lark-oapi>=1.0.0             # 飞书API

# 数据处理
pandas>=2.0.0               # 数据分析
pypinyin>=0.50.0            # Name-to-code resolver (pinyin matching)
openpyxl>=3.1.0             # Excel (.xlsx) parsing for import
numpy>=1.24.0               # 数值计算
json-repair>=0.55.1         # JSON 修复

# AI 分析
# Restore official PyPI install after the quarantined 1.82.7 / 1.82.8 builds were removed.
# Keep the historical minimum version and add a safe upper bound.
litellm>=1.80.10,<1.82.7   # Unified LLM client (Gemini/Anthropic/OpenAI/DeepSeek etc.)
tiktoken>=0.8.0,<0.12.0    # BPE tokenizer for LLM token counting (pin <0.12 to avoid plugin registration issues, #537)
openai>=1.0.0               # OpenAI SDK (transitive dependency of litellm, kept explicit)
PyYAML>=6.0                 # YAML parser for LITELLM_CONFIG support

# 搜索引擎（用于获取股票新闻）
tavily-python>=0.3.0        # Tavily 搜索 API（每月 1000 次免费）
google-search-results>=2.4.0  # SerpAPI（每月 100 次免费）

# 网络请求
requests>=2.31.0            # HTTP 请求
markdown2>=2.4.0            # Markdown 转 HTML
imgkit>=1.2.0              # Markdown 转图片（需安装 wkhtmltopdf）
fake-useragent>=1.4.0       # 随机 User-Agent 防封禁
httpx[socks]                # HTTP 客户端 + SOCKS 代理支持（OpenAI 可选依赖）
dingtalk-stream >= 0.24.3    # 钉钉 Stream SDK
# 数据库
# SQLite 是 Python 内置，无需额外安装

# Discord 机器人
discord.py>=2.0.0              # Discord 机器人开发库
PyNaCl>=1.5.0                  # Discord Interaction/Webhook Ed25519 签名验证

# Web Content Extraction
newspaper3k>=0.2.8          # Article extraction
lxml_html_clean             # Fix for lxml.html.clean ImportError in newer lxml versions

# 报告模板引擎（Report Engine P0）
jinja2>=3.1.0               # Jinja2 template engine for report rendering

# FastAPI Web 框架
fastapi>=0.109.0            # 现代 Python Web 框架
uvicorn[standard]>=0.27.0   # ASGI 服务器
python-multipart>=0.0.6     # FastAPI File/Form upload support
