{"data":{"slug":"unstructured-io-unstructured","name":"unstructured","tagline":"Convert documents to structured data effortlessly","github_url":"https://github.com/Unstructured-IO/unstructured","owner":"Unstructured-IO","repo":"unstructured","owner_avatar_url":"https://avatars.githubusercontent.com/u/108372208?v=4","primary_language":"HTML","stars":15238,"forks":1284,"topics":["data-pipelines","deep-learning","document-image-analysis","document-image-processing","document-parser","document-parsing","docx","donut","information-retrieval","langchain","llm","machine-learning","ml","natural-language-processing","nlp","ocr","pdf","pdf-to-json","pdf-to-text","preprocessing"],"archived":false,"github_pushed_at":"2026-07-31T20:54:17+00:00","maintenance_label":"Very active","url":"https://www.graphcanon.com/tools/unstructured-io-unstructured","markdown_url":"https://www.graphcanon.com/tools/unstructured-io-unstructured.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/unstructured-io-unstructured","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=unstructured-io-unstructured","description":"Convert 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.","homepage_url":"https://www.unstructured.io/","license":"Apache-2.0","open_issues":277,"watchers":72,"ai_summary":"Unstructured is an open-source ETL solution for transforming complex documents into clean, structured formats suitable for language models.","readme_excerpt":"## :eight_pointed_black_star: Quick Start\n\nThere are several ways to use the `unstructured` library:\n* [Run the library in a container](https://github.com/Unstructured-IO/unstructured#run-the-library-in-a-container) or\n* Install the library\n    1. [Install from PyPI](https://github.com/Unstructured-IO/unstructured#installing-the-library)\n    2. [Install for local development](https://github.com/Unstructured-IO/unstructured#installation-instructions-for-local-development)\n* For installation with `conda` on Windows system, please refer to the [documentation](https://unstructured-io.github.io/unstructured/installing.html#installation-with-conda-on-windows)\n\n---\n\n# this will drop you into a bash shell where the Docker image is running\ndocker exec -it unstructured bash\n```\n\nYou can also build your own Docker image. Note that the base image is `wolfi-base`, which is\nupdated regularly. If you are building the image locally, it is possible `docker-build` could\nfail due to upstream changes in `wolfi-base`.\n\nIf you only plan on parsing one type of data you can speed up building the image by commenting out some\nof the packages/requirements necessary for other data types. See Dockerfile to know which lines are necessary\nfor your use case.\n\n```bash\nmake docker-build\n\n---\n\n# this will drop you into a bash shell where the Docker image is running\nmake docker-start-bash\n```\n\nOnce in the running container, you can try things directly in Python interpreter's interactive mode.\n```bash\n\n---\n\n### Installation Instructions for Local Development\n\nThe following instructions are intended to help you get up and running with `unstructured`\nlocally if you are planning to contribute to the project.\n\nThis project uses [uv](https://docs.astral.sh/uv/) for dependency management. Install it first:\n\n```bash","github_created_at":"2022-09-26T21:53:41+00:00","created_at":"2026-07-07T22:37:07.76596+00:00","updated_at":"2026-08-01T06:00:49.086704+00:00","categories":[{"slug":"data-retrieval","name":"Data & Retrieval","url":"https://www.graphcanon.com/categories/data-retrieval","markdown_url":"https://www.graphcanon.com/categories/data-retrieval.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/data-retrieval"},{"slug":"model-training","name":"Model Training","url":"https://www.graphcanon.com/categories/model-training","markdown_url":"https://www.graphcanon.com/categories/model-training.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/model-training"}],"tags":[{"slug":"data-pipelines","name":"data-pipelines"},{"slug":"deep-learning","name":"deep-learning"},{"slug":"document-parser","name":"document-parser"},{"slug":"document-processing","name":"document-processing"},{"slug":"information-retrieval","name":"information-retrieval"},{"slug":"langchain","name":"langchain"},{"slug":"llm","name":"llm"},{"slug":"natural-language-processing","name":"natural-language-processing"}],"trust":{"provenance":{"is_fork":false,"github_id":541798154,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-08-01T06:00:48.325Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":11,"days_since_push":0,"last_release_at":"2026-07-31T20:54:17Z"},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T10:29:04.044Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-08-01T06:00:48.790Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-08-01T06:00:48.790Z","managed_saas":false},"has_cli":{"value":true,"source":"pyproject.toml:[project.scripts]","observed_at":"2026-08-01T06:00:48.790Z"},"languages":{"value":["html","python"],"source":"github.language+pyproject.toml","observed_at":"2026-08-01T06:00:48.790Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-08-01T06:00:48.790Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-08-01T06:00:48.790Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":{"notes":["Building Docker images independently may require customizing the `Dockerfile` to include only necessary packages/requirements based on specific data parsing use","The base image `wolfi-base`, a regularly updated image, might cause build failures due to upstream changes but can be managed by specifying requirements."],"requires_docker":true},"constraints":{"requires_docker":true},"when_to_use":["When you need to transform various types of unprocessed, complex documents (including PDFs, images with text) into formats that are easily usable by machine learning pipelines.","If your project requires processing a wide variety of document formats and the ability to parse these quickly using Docker containers or locally installed packages."],"when_not_to_use":["When your workflow is limited to only one type of data, as Unstructured might introduce unnecessary complexity due to its broad support for multiple data types.","If you prefer a proprietary solution with dedicated enterprise-level support and features that are beyond the scope of an open-source project like Unstructured."],"source":"enrich:decision_facts","observed_at":"2026-07-11T11:03:03.572Z"},"constraint_facets":{"requires_docker":true},"decision_summary":[{"label":"Requirements","value":"Requires Docker; Building Docker images independently may require customizing the `Dockerfile` to include only necessary packages/requirements based on specific data parsing use; The base image `wolfi-base`, a regularly updated image, might cause build failures due to upstream changes but can be managed by specifying requirements."},{"label":"Adopt for","value":"Unstructured is an open-source ETL solution designed specifically to convert complex documents into structured data suitable for language models."},{"label":"License detail","value":"The tool is distributed under the Apache-2.0 license, which allows for free use, modification, and distribution as long as compatibility with the license terms is maintained."}]}}