Мы рады объявить об открытии исходного кода Docfold - Python-библиотеки для извлечения структурированных данных из документов. Проект доступен на PyPI и GitHub под лицензией MIT.
Что такое Docfold
Docfold - это единый интерфейс для 15 движков обработки документов. Вместо того чтобы изучать API каждой библиотеки отдельно, вы используете один вызов:
from docfold import process
result = process("invoice.pdf", engine="pymupdf")
Один интерфейс, 15 движков, предсказуемый результат.
Поддерживаемые движки
Docfold объединяет локальные и облачные решения:
- Локальные: PyMuPDF, Docling, Marker, MinerU, PaddleOCR, Tesseract, Unstructured, Nougat, Surya
- Облачные: LlamaParse, Mistral OCR, AWS Textract, Google Document AI, Azure Document Intelligence
- LLM-based: Zerox (требует Python 3.11+)
Каждый движок имеет свои сильные стороны. PyMuPDF отлично работает с нативными PDF, Tesseract - с отсканированными документами, а Nougat - с академическими статьями.
Умная маршрутизация
Не знаете, какой движок выбрать? Docfold подберет сам:
from docfold import process
result = process("document.pdf") # автоматический выбор
Маршрутизатор учитывает тип файла, наличие OCR-слоя и доступность движков на вашей машине.
Зачем мы это открыли
AI Data Extractor использует Docfold внутри для первичной обработки документов. Мы убеждены, что базовые инструменты работы с документами должны быть доступны всем. Открытие кода позволяет:
- Разработчикам - использовать проверенный инструмент без привязки к нашей платформе
- Сообществу - улучшать и дополнять библиотеку
- Нам - получать обратную связь и вклад от сообщества
Как начать
Установка через pip:
pip install docfold
Для установки всех движков:
pip install docfold[all]
Документация и примеры доступны на GitHub. Пакет опубликован на PyPI.
Docfold - версия 0.5.1, 225 тестов, поддержка Python 3.10-3.12, CI на трех операционных системах.