Extractous — извлекаем данные из документов с рекордной скоростью

21 Dec, 2024

Репозиторий давно не обновлялся

Последнее обновление было 1 год назад.

1,759
🔱 96
👥 18

Представьте: вашему приложению нужно обрабатывать тысячи PDF, Word и Excel файлов ежедневно. Традиционные библиотеки тормозят, потребляют гигабайты памяти, а облачные API дороги и медленны. Именно эту проблему решает Extractous — инструмент для молниеносного извлечения данных, написанный на Rust.

Почему все говорят о Extractous?

Вот что делает этот проект особенным:

  • 25x ускорение по сравнению с unstructured-io (см. бенчмарки)
  • В 11 раз меньше потребление памяти
  • Поддержка 30+ форматов — от PDF до CAD-файлов
  • Встроенный OCR для распознавания текста в изображениях

Сравнение скорости Extractous и unstructured-io

Как это работает под капотом?

Разработчики пошли нестандартным путём:

  1. Rust-ядро обеспечивает безопасность и многопоточность
  2. Apache Tika (через GraalVM) даёт поддержку экзотических форматов
  3. Нативные биндинги позволяют использовать из Python без потерь производительности

«Мы устали от тяжёлых Python-библиотек и облачных API. Extractous делает всё локально — быстро и без лишних зависимостей»

Реклама

5 кейсов, где Extractous незаменим

  1. Обработка финансовых отчётов — мгновенное извлечение таблиц из SEC filings
  2. Юридические документы — поиск по тысячам PDF-договоров
  3. Data Science — подготовка текстов для NLP-моделей
  4. Архивы документов — индексация устаревших форматов (RTF, DOC)
  5. Мобильные приложения — компактная библиотека для обработки вложений

Как начать использовать?

Установка для Python (есть и Rust-версия):

pip install extractous

Пример извлечения текста из PDF:

from extractous import Extractor
extractor = Extractor()
text, metadata = extractor.extract_file_to_string("contract.pdf")
print(f"Извлекли {len(text)} символов из {metadata['file_type']}")

Когда стоит попробовать?

Extractous идеален, если вы:

  • Работаете с большими объёмами документов
  • Хотите избавиться от облачных API
  • Цените скорость и низкое потребление памяти
  • Нуждаетесь в поддержке редких форматов

Проект активно развивается — уже доступны Python-биндинги, в планах поддержка JavaScript/TypeScript. Лицензия Apache 2.0 позволяет использовать даже в коммерческих продуктах.

Ссылки для изучения:

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.