Unstructured
Data & MLConvert documents to structured data effortlessly. Unstructured is open-source ETL solution for transforming complex documents into clean, structured formats for language models. Visit our website to learn more about our enterprise grade Platform product for production grade workflows, partitioning, enrichments, chunking and embedding.
Release History
View all versions →0.27.52 fixes1 featureThis release includes a fix for text partitioning to correctly handle hyphens and preserves attachment filetypes in auto.partition(). It also adds a sign-up link for Transform and removes pricing information.
0.27.11 fixThis release includes a fix to support core metadata 2.5 publishing. The change was implemented via a pull request.
0.27.04 fixes1 featureThis release introduces partition runtime telemetry and includes several bug fixes, including improvements to testing, security, HTML partitioning, and character-set detection.
0.25.21 featureThis release introduces lazy chunking entry points and includes a terminology update from 'Platform' to 'Pipelines' in the README. Performance improvements were also made to HTML processing.
0.25.0Breaking7 fixes2 featuresEnhanced JSON and NDJSON partitioning to handle arbitrary payloads and improved table chunk rehydration. Deprecated prefix-sniffing helpers for file type detection.
0.24.11 fixThis release addresses a security vulnerability by sanitizing v2 HTML output to prevent stored XSS. The fix is detailed in GHSA-v5mq-3xhg-98m9.
0.24.01 fix1 featureThis release introduces feature enhancements to the HTML parser, including deriving category depth from heading levels, and stabilizes the partition benchmark.
0.23.11 featureThis release introduces a new feature to extract filled AcroForm field text during PDF partitioning.
0.23.02 fixes1 featureThis release introduces a new metadata field for enrichment origins and includes bug fixes related to PDF text extraction and alignment in high-resolution processing.
0.22.321 fixThis release primarily focuses on a bug fix related to text extraction from PDF figure overlays.
0.22.311 fixThis minor release primarily addresses a configuration option rename related to table isolation during chunking.
0.22.301 featureThis release introduces a new feature for table chunking functionality.
0.22.291 fixThis release primarily addresses a bug related to handling text exceeding the length limits for spacy processing.
0.22.281 fixThis release primarily addresses a bug where table content was being dropped during the chunking process.
0.22.271 fixThis release primarily addresses a bug related to ndjson file type detection.
0.22.261 fix2 featuresThis release introduces a new CLI diagnostic command, tracks table extraction methods, and adds a safeguard against oversized PDF renders.
0.22.231 fixThis minor release addresses a specific bug related to table chunking, ensuring that column and row spans are correctly preserved in the first table chunk.
0.22.221 featureThis release enhances security in the Docker image by replacing standard OpenCV wheels with a custom-built, ffmpeg-free variant, eliminating known CVEs.
0.22.211 featureThis release introduces a new feature allowing users to skip table chunking during processing.
0.22.202 fixes1 featureThis release introduces improved vertical text detection for rotated images and addresses several dependency vulnerabilities. It also includes a fix for the fixtures update CI process.
opencv-4.12.0.882 featuresNew OpenCV Python contrib-headless wheels are released, built without FFmpeg to address CVEs, offering a unified API covering core and contrib modules.
0.22.181 fix1 featureThis release introduces page number support for the v1 HTML partitioner and fixes an issue where semantic headers were not preserved in carried table chunks.
0.22.161 fix3 featuresThis release introduces granular control over formula markdown export styles and significantly reduces peak memory usage during PDF rendering. It also includes performance improvements for quote standardization and dependency security updates.
0.22.121 fix1 featureThis release focuses on memory optimization by excluding unused spaCy components and resolves a bug where pdfminer was failing to extract some text.
0.22.102 fixes1 featureThis release introduces improvements to table handling during chunking and reconstruction, alongside memory optimizations for PaddleOCR and internal code modernization.
Common Errors
ModuleNotFoundError2 reportsA "ModuleNotFoundError" in unstructured usually means a required dependency is missing. To fix this, identify the missing module from the error message (e.g., 'unstructured_pytesseract') and install it using pip: `pip install <missing_module>`. For example: `pip install unstructured_pytesseract`.
UnsupportedFileFormatError2 reportsUnsupportedFileFormatError in unstructured usually occurs when the file's detected type doesn't match its actual content or when necessary dependencies for that file type are missing. Ensure the file extension is correct and corresponds to its content. Install any required packages for handling that specific file type, such as `pip install python-docx` for .docx files or `pip install pypdf` for PDFs, if they are not already installed.
FileNotFoundError2 reportsFileNotFoundError in unstructured often arises when the library can't locate necessary system dependencies (like Tesseract for OCR or LibreOffice for document conversion) required for processing specific file types. Ensure these dependencies are installed and accessible in your system's PATH environment variable. For example, install Tesseract using your system's package manager and verify LibreOffice is correctly installed if processing .docx files originating from cloud services like Office 365.
UnicodeDecodeError2 reportsThe UnicodeDecodeError typically occurs when a file's encoding is not UTF-8 and the decoding process fails to interpret the bytes correctly. To fix this, explicitly specify the correct encoding (e.g., "utf-16-le", "latin-1") when opening or reading files, or when calling `partition()` or `partition_csv()` functions, by passing the `encoding` argument. For issues with detect_filetype, ensure files are properly encoded before processing or handle potential encoding errors by using `errors='ignore'` or `errors='replace'` during decoding.
DocxLoadError1 reportDocxLoadError usually arises from corrupted or invalid .docx files that the `python-docx` library can't parse. To fix this, try opening the document in Microsoft Word or another compatible word processor and saving it again. Alternatively, use a try-except block to catch the error and skip processing problematic files, or pre-process documents to validate their .docx file structure.
Related Data & ML Packages
An Open Source Machine Learning Framework for Everyone
🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.
Tensors and Dynamic neural networks in Python with strong GPU acceleration
scikit-learn: machine learning in Python
Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more
Streamlit — A faster way to build and share data apps.
Subscribe to Updates
Get notified when new versions are released