--- id: kreuzberg version: "4.10.2" license: MIT license_treatment: permissive maintenance: active --- # kreuzberg — High-performance document intelligence library for Python. Extract text, metadata, and structured data from PDFs, Office documents, images, and 88+ formats. Powered by Rust core for 10-50x speed improvements. License: permissive · Maintenance: active · Downloads: 215.4K/mo ## What it is and what it does Kreuzberg is a document extraction library that reads text, tables, images, and metadata from a wide range of file formats—PDFs, Office documents, images, code files, and structured data formats. It wraps a Rust core with Python bindings and provides async/await support for non-blocking processing. The library handles 91+ formats across office documents, images with OCR, web markup, email, archives, and academic/scientific formats, plus code intelligence for 248 programming languages with structure extraction and docstring parsing. You use it to automate document processing pipelines: feed it a file path, optionally configure extraction behavior (OCR backend, caching, quality processing), and receive structured output with content, tables, detected languages, and metadata. It's designed for batch processing, content indexing, and data extraction workflows where you need to handle heterogeneous document types without format-specific parsing code. Use it for: - Extract text and tables from mixed document types (PDFs, Word, Excel) in a single pipeline. - Process scanned documents with OCR using configurable backends (Tesseract, EasyOCR, PaddleOCR). - Batch-extract code structure and docstrings from repositories for documentation or analysis. - Build document indexing systems that preserve table structure and embedded metadata. - Generate embeddings from document content using ONNX Runtime models for semantic search. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Extracts text, tables, images, and metadata from 91+ file formats including PDFs, Office documents, and images, with native async/await support and multiple OCR backends. Yes, if you need multi-format document extraction with async support and don't mind the Python 3.10+ requirement. The library is actively maintained (v4 LTS through end of 2026), has no known vulnerabilities, and covers a broad format range. Install friction is moderate due to compiled bindings, but wheels are available for common platforms. Best suited for document processing pipelines where format heterogeneity is a pain point. ## Install pip install kreuzberg uv add kreuzberg poetry add kreuzberg ## Installing kreuzberg Before you install: Medium install friction due to compiled Rust bindings; wheels available for modern Python (3.10+) on common platforms. Active maintenance with recent releases; v4 is long-term-support line receiving critical fixes through end of 2026. License in practice: MIT license permits commercial and private use with minimal restrictions; suitable for most projects without licensing concerns. Quickstart: pip install kreuzberg import asyncio from kreuzberg import extract_file async def main(): result = await extract_file("document.pdf") print(result.content) asyncio.run(main()) Requires Python 3.10+; optional Tesseract OCR or ONNX Runtime 1.22.x for full feature support. Verify before relying: - Performance improvement claims (10-50x speed) relative to other Python document extraction libraries. - Actual number of supported programming languages for code intelligence (stated as 248). - Completeness of OCR backend support (Tesseract, EasyOCR, PaddleOCR) and their integration maturity. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 215.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags pdf text extraction python, document parsing library, office document extraction, ocr python async, table extraction from documents, metadata extraction documents, multi-format document processing, document-extraction, async-io, ocr [View on SkillFed](https://skillfed.io/packages/kreuzberg) · [View on PyPI](https://pypi.org/project/kreuzberg/)