# PPT Master Dependencies / PPT Master 依赖
# =============================================
#
# Most tools use only the Python standard library. Below are optional dependencies.
# 大部分工具仅使用 Python 标准库，以下为可选依赖。
#
# Install / 安装方式：
#   pip install -r requirements.txt

# ─────────────────────────────────────────────────────────────
# SVG to PPTX tool / SVG 转 PPTX 工具 (skills/ppt-master/scripts/svg_to_pptx.py)
# ─────────────────────────────────────────────────────────────
# Batch-convert SVG files to PowerPoint presentations.
# 用于将 SVG 文件批量转换为 PowerPoint 演示文稿
# Converts supported SVG elements to editable native DrawingML shapes.
# 将受支持的 SVG 元素转换为可编辑的原生 DrawingML 形状
python-pptx>=0.6.21
XlsxWriter>=3.0.0
# PowerPoint-style Merge Shapes materialization / PowerPoint 风格合并形状物化
skia-pathops>=0.9.2
# OpenType shaping + glyph outlines for text operands / 文字 operand 的排版与轮廓
uharfbuzz>=0.50.0

# Recorded narration / 录制计时和旁白
# notes_to_audio.py generates per-slide narration audio on macOS/Linux/Windows.
# notes_to_audio.py 用于在 macOS/Linux/Windows 上生成逐页旁白音频。
edge-tts>=7.2.8

# ─────────────────────────────────────────────────────────────
# PDF to Markdown tool / PDF 转 Markdown 工具 (skills/ppt-master/scripts/source_to_md/pdf_to_md.py)
# ─────────────────────────────────────────────────────────────
# Converts PDF to Markdown with text, image, and table extraction.
# 用于将 PDF 文件转换为 Markdown 格式，支持文本、图片、表格提取
PyMuPDF>=1.23.0

# ─────────────────────────────────────────────────────────────
# Document to Markdown tool / 文档转 Markdown 工具 (skills/ppt-master/scripts/source_to_md/doc_to_md.py)
# ─────────────────────────────────────────────────────────────
# Native (pure-Python) paths — no external binary required:
# 原生路径（纯 Python，无需外部程序）：
#   .docx   → mammoth
#   .html   → markdownify (+ beautifulsoup4, listed below)
#   .epub   → ebooklib (+ markdownify)
#   .ipynb  → nbconvert
mammoth>=1.6.0
markdownify>=0.11.6
ebooklib>=0.18
nbconvert>=7.0.0

# ─────────────────────────────────────────────────────────────
# Excel to Markdown tool / Excel 转 Markdown 工具 (skills/ppt-master/scripts/source_to_md/excel_to_md.py)
# ─────────────────────────────────────────────────────────────
# Converts .xlsx/.xlsm workbooks to Markdown while preserving sheet structure.
# 用于将 .xlsx/.xlsm 工作簿转换为 Markdown，并保留工作表结构。
openpyxl>=3.1.0
#
# Fallback path — only needed for less common formats
# (.doc .odt .rtf .tex/.latex .rst .org .typ).
# Not required if you only convert the four native formats above.
# 备用路径 —— 仅在需要处理以下小众格式时才用到
# (.doc .odt .rtf .tex/.latex .rst .org .typ)。
# 如果只处理上述四种原生格式，无需安装。
#   macOS:   brew install pandoc
#   Ubuntu:  sudo apt install pandoc
#   Windows: https://pandoc.org/installing.html

# ─────────────────────────────────────────────────────────────
# Image processing tools / 图片处理工具
# ─────────────────────────────────────────────────────────────
# fix_image_aspect.py - Normalize image boxes for PowerPoint SVG rendering diagnostics
# fix_image_aspect.py - 为 PowerPoint SVG 渲染诊断归一化图片框
# gemini_watermark_remover.py - Remove watermarks from Gemini-generated images
# gemini_watermark_remover.py - 去除 Gemini 生成图片的水印
Pillow>=9.0.0
numpy>=1.20.0

# ─────────────────────────────────────────────────────────────
# Web to Markdown tool / 网页转 Markdown 工具 (skills/ppt-master/scripts/source_to_md/web_to_md.py)
# ─────────────────────────────────────────────────────────────
requests>=2.31.0
beautifulsoup4>=4.12.0
# Optional — TLS fingerprint impersonation for sites that block Python's
# default TLS fingerprint (e.g., WeChat mp.weixin.qq.com). If installed,
# web_to_md.py uses it automatically; otherwise falls back to requests.
# Install this to avoid needing Node.js for WeChat / portal pages.
# 可选 —— 用于绕过 TLS 指纹屏蔽（例如微信公众号等）。装了之后 web_to_md.py
# 会自动启用；不装则回退到 requests。装了它就不必再装 Node.js。
curl_cffi>=0.7.0

# ─────────────────────────────────────────────────────────────
# AI image generation tool / AI 图片生成工具 (skills/ppt-master/scripts/image_gen.py)
# ─────────────────────────────────────────────────────────────
# Gemini backend / Gemini 后端 (IMAGE_BACKEND=gemini)
google-genai>=1.0.0
# OpenAI-compatible backend uses requests from the web tooling section above.
# OpenAI 兼容后端复用上方网页工具所需的 requests。

# ─────────────────────────────────────────────────────────────
# SVG Editor / SVG 编辑器 (skills/ppt-master/scripts/svg_editor/server.py)
# ─────────────────────────────────────────────────────────────
# Localhost web editor for annotating SVG elements with edit instructions.
# 本地 Web 编辑器，用于在 SVG 元素上添加编辑标注指令
flask>=3.0.0
