mrkeyoor.com_
Tue 03 Nov 07:16 UTC
AI Toolsevaluationupdated 28 Sept 2026

Hyper-Extract review

Hyper-Extract turns documents into searchable, structured knowledge that can be updated when the source changes. It can produce lists, graphs, hypergraphs, and time- or location-aware records, then trace or remove facts contributed by a particular document.

+5stars / 7d
Verdict

Our Hyper-Extract run installed 164 packages in 44 seconds and completed its test command in 36 seconds with 715 passed, 0 failed, and 15 skipped. That makes it a credible trial for a Python team that needs document updates, provenance, and several knowledge shapes behind one interface. Use fail-fast extraction for consequential data, and treat the alpha label plus the recent incremental-feed fix as reasons to test your own update cycle before adoption.

We ran it

Lab card: what happened when we ran Hyper-ExtractScreenshot of Hyper-Extract (yifanfeng97.github.io/Hyper-Extract)
Install✓ · 44s164 packages · 627 MB
Build✓ · 6s
Tests✓ · 36s715 passed · 0 failed · 15 skipped of 715 (pytest)
Known vulns0(pip-audit)
Repo549 files~37,308 lines of source · 6.4 MB · 5 CI workflows · tests dir

Answers from our run

Does Hyper-Extract build from source?

Dependencies installed in 44 seconds (164 packages), and the build succeeded in 6 seconds. We cloned commit 85d4e05 into a clean Debian container with 3 CPUs and no project-specific setup.

Do Hyper-Extract's tests pass?

Yes. The project's own test command finished in 36 seconds and reported 715 passed, 0 failed, 15 skipped (pytest).

Does Hyper-Extract have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use Hyper-Extract?

Teams that require every ingestion to be atomic by default: v0.10.4 records failed chunks but still skips them unless on_error="raise" is selected.

What are the alternatives to Hyper-Extract?

LangExtract, GraphRAG, LightRAG. Our Hyper-Extract run installed 164 packages in 44 seconds and completed its test command in 36 seconds with 715 passed, 0 failed, and 15 skipped.

Setup4/544-second install; provider pairing and 627 MB still need planning
Docs5/5Clear CLI, Python, provider, template, MCP, and update guides
Community4/54,026 stars, 462 forks, and merged fixes through September 2026
Maturity3/5Alpha package with fast releases and a recent second-feed crash fix

Who it’s for

Python developers building research, compliance, or internal knowledge tools from changing document sets.
Teams that want ready-made extraction templates but still need control over the resulting schema.
Analysts who need to trace facts back to a source, replace an updated document, or remove its contribution.
MCP users who want read-only search and export access to a locally managed knowledge collection.

Who it’s NOT for

Teams that require every ingestion to be atomic by default: v0.10.4 records failed chunks but still skips them unless on_error="raise" is selected.
Developers who lack an LLM with function calling plus an embedding endpoint: several supported LLM providers do not supply embeddings, so a second provider is required.
Python 3.10 projects that cannot upgrade: the package metadata requires Python 3.11 or newer.
Buyers seeking a settled production platform: the package classifies itself as alpha, and v0.10.4 fixed a crash when feeding a second document into a hypergraph.
Local-only teams without suitable GPU capacity: the documented vLLM path runs separate language and embedding servers and says local use needs a GPU.

Setup reality

Our sandbox install succeeded in 44 seconds, pulling 164 packages and using 627 MB on disk. The build passed in 6 seconds. Tests succeeded in 36 seconds, with pytest reporting 715 passed, 0 failed, and 15 skipped. Pip-audit found 0 known vulnerabilities.

The package requires Python 3.11 or newer. Useful extraction needs an LLM that supports function calling plus an embedding endpoint. OpenAI and Bailian cover both roles; Anthropic, Google, and DeepSeek need a separate compatible embedder. Document ingestion and MCP support are optional extras.

Local operation shifts that dependency to 2 vLLM endpoints and a GPU. There is no Dockerfile in the checkout. Version 0.10.4 records dropped chunks, but its default skip policy can still return a partial extraction; choose raise when incomplete output is unacceptable.

Nine structures make updates more useful than one-shot extraction

Hyper-Extract offers 9 knowledge structures, ranging from a chunk corpus and ordinary lists to graphs, hypergraphs, and records with time or location. More importantly, it keeps track of which source contributed each fact. Re-feed a changed document under the same source name and the old contribution rolls back before the replacement is added. You can also remove a document, inspect source contributions, tag them, or limit a search to selected material. That makes the project most interesting when the document set changes after the first import.

The project includes more than 80 YAML templates across 6 domains, so you can try a biography graph or earnings-report extraction without first designing every field. Custom templates still define output fields and identifiers, which is where a serious deployment earns its accuracy. A template can constrain the shape returned by the model, but it cannot decide whether a claimed relationship is true. Hyper-Extract organizes extraction and provenance; your review process still owns the facts.

The 44-second install is easier than provider selection

Our sandbox installed 164 packages in 44 seconds and occupied 627 MB. That is reasonable for a Python extraction toolkit, although it is far beyond a tiny command-line utility. The checkout itself contained 549 files and about 37,308 lines of source in 6.4 MB. Five CI workflow files and a tests directory were present, while a Dockerfile was absent. A team wanting a container image will have to package the supported Python path itself.

Python 3.11 or newer is required. The short setup shown in the README hides a meaningful choice: extraction needs a language model with function calling, and semantic search needs embeddings. OpenAI and Bailian can fill both roles with one account. DeepSeek, Anthropic, and Google cover only the language-model side in the documented setup, so they must be paired with an OpenAI-compatible embedder. Local vLLM replaces cloud credentials with 2 model servers and GPU capacity.

What happened when we ran it

Our run at commit 85d4e05 installed in 44 seconds, built in 6 seconds, and completed tests in 36 seconds. Pytest reported 715 passed, 0 failed, and 15 skipped. Pip-audit reported 0 known vulnerabilities among the installed Python packages. Those results came from a fresh unprivileged Debian container with 3 CPUs, 8 GB of RAM, and no secrets. They establish that the repository installs and checks cleanly in that environment.

The sandbox did not send a document to OpenAI, DeepSeek, or another hosted model because it had no credentials. It also did not start the 2 local vLLM endpoints described by the project. We therefore did not measure extraction quality, model cost, search relevance, or GPU memory. The passing suite is valuable evidence about the code at that commit, but it does not tell you whether a chosen template and model recover the facts that matter in your documents.

Version 0.10.4 exposes partial extraction instead of preventing it

Version 0.10.4 was released on September 25, 2026 after a downstream integration found 2 consequential problems. Feeding a second document into an existing hypergraph could crash because the update path referenced the wrong extractor attribute. Separately, failed chunks were converted to None and silently omitted, so a source could appear ingested while some of its text contributed nothing. The release added an extraction_failures record and CLI warnings, and fixed the incremental hypergraph path.

The default error policy remains skip. Hyper-Extract records the bad chunk and continues with the survivors; on_error="raise" stops on the first failure. That is a useful choice for exploratory research, where one malformed section should not waste the rest of a long document. It is a dangerous default for contracts, audits, or medical material if downstream code treats a completed command as complete data. Set the policy explicitly and reject any non-empty failure list before publishing results.

The MCP server has nine read and export tools

The optional MCP package exposes 9 documented tools for listing templates, inspecting a collection, searching, asking a RAG question, and exporting to Obsidian, GraphML, CSV, JSON-LD, or Cypher. The README describes that surface as read and export only. This is a sensible boundary for giving Claude Desktop or an IDE agent access to a curated collection without also granting document deletion or ingestion through the same connection.

MCP does not remove the underlying provider requirements. ask still depends on the configured retrieval and model path, and the collection must already exist. Teams should also remember that export can disclose the knowledge base even when mutation is disabled. The right permission question is who may read each source-derived fact, not only who may change it. Hyper-Extract supplies the interface; deployment policy has to supply tenant separation and access control.

September activity is strong, while the package still says alpha

GitHub showed 4,026 stars, 462 forks, and 0 open issues and pull requests when checked on September 28, 2026. The repository was pushed the same day, three days after v0.10.4. Recent merged work includes warnings for dropped chunks, safer dry-run removal, export fixes, and template-list corrections. That is active maintenance, and the empty combined queue should be read alongside the steady stream of recently closed work rather than as proof that no defects exist.

The package metadata still uses the Development Status :: 3 - Alpha classifier. That label fits the pace: releases from v0.9.0 through v0.10.4 arrived within 20 days, adding ingestion, persistence changes, exports, MCP parity, and fixes. Apache-2.0 licensing is stated in both the package metadata and LICENSE file. Try Hyper-Extract when source-aware evolution solves a real problem, then pin the release, run a second-feed test, and make partial extraction an explicit product decision.

Alternatives

ProjectWhat it isPick it when
LangExtract gh↗A Python library focused on schema-guided extraction with source grounding and visualization.pick this instead when precise spans and a narrower extraction library matter more than maintaining graphs and evolving knowledge collections.
GraphRAGMicrosoft's modular graph-based retrieval system for building and querying knowledge from text.pick this instead when graph-based retrieval is the main job and you are willing to design around its indexing pipeline.
LightRAG gh↗A graph-assisted retrieval project aimed at a simpler RAG pipeline.pick this instead when retrieval is the priority and Hyper-Extract's templates, source rollback, and multiple structure types add unwanted scope.

What people are saying

  1. [github-trending] yifanfeng97/Hyper-Extract

Sources

  1. Hyper-Extract README
  2. Hyper-Extract provider system
  3. Hyper-Extract v0.10.4 release notes
  4. Hyper-Extract package metadata
  5. Measured Hyper-Extract commit 85d4e05

More ai tools reviews

kornia · skills · anarlog · pr-agent · agent-sprite-forge · KiroCrew · the whole board →