8063e24f9980886c07676059c6fa6df52a617f35
- 移除 dev 分组中的 black、isort、mypy 依赖 - 移除 [project.scripts] 命令行入口配置 - 移除 [build-system] 构建系统配置 - 移除所有工具配置(black、isort、mypy、pytest)
lyxy-document
统一文档解析工具 - 将 DOCX、XLSX、PPTX、PDF、HTML/URL 转换为 Markdown
开发环境
- 使用 uv 管理依赖,禁用主机 Python
- 依赖声明:pyproject.toml
- 安装:uv sync
项目结构
scripts/ # 核心代码
├── core/ # 核心模块(解析调度、异常、Markdown 工具)
├── readers/ # 格式阅读器
└── utils/ # 工具函数
tests/ # 测试
openspec/ # 规范文档
skill/ # SKILL 文档
开发工作流
# 运行测试
uv run pytest
# 代码格式化
uv run black .
uv run isort .
# 类型检查
uv run mypy .
代码规范
- 语言:仅中文(交流、注释、文档、代码)
- 模块文件:150-300 行
- 错误处理:自定义异常 + 清晰信息 + 位置上下文
- Git 提交:类型: 简短描述(feat/fix/refactor/docs/style/test/chore)
解析器架构
DOCX
docling、unstructured、pypandoc-binary、MarkItDown、python-docx、XML
XLSX
docling、unstructured、MarkItDown、pandas、XML
PPTX
docling、unstructured、MarkItDown、python-pptx、XML
PDF(OCR 优先)
docling OCR、unstructured OCR、docling、unstructured、MarkItDown、pypdf
HTML/URL
trafilatura、domscribe、MarkItDown、html2text
许可证
MIT License
Description
Languages
Python
99.8%
Shell
0.2%