Skip to content

docs: list the Section Anything PDF reader on the integrations page - #23794

Open
Omniwot wants to merge 1 commit into
run-llama:mainfrom
Omniwot:patch-2
Open

Omniwot wants to merge 1 commit into
run-llama:mainfrom
Omniwot:patch-2

Conversation

@Omniwot

@Omniwot Omniwot commented Oct 29, 2026

Copy link
Copy Markdown

Description

Docs-only change: adds a short "Readers maintained in their own repositories" list under
Data Loaders on the Integrations page, with one entry.

Section Anything is an Apache-2.0 library that
finds the sections of a PDF (headings, levels, pages, character spans). Its reader,
llama-index-readers-section-anything on PyPI, returns one Document per section with the
heading path as flat metadata and PARENT/CHILD/PREVIOUS/NEXT relationships, and works as a
SimpleDirectoryReader file extractor. Its default mode uses rules only (no model, no network).

pip install llama-index-readers-section-anything
from llama_index.core import SimpleDirectoryReader
from llama_index.readers.section_anything import SectionAnythingReader

reader = SectionAnythingReader()  # mode="free": rules only, no model, no cost
docs = reader.load_data("paper.pdf")
docs[2].metadata["heading_path"]  # '1 Introduction > 1.1 Scope'
# or for a folder: SimpleDirectoryReader("papers/", file_extractor={".pdf": reader}).load_data()

What it adds: one Document per real section of the PDF, with its heading path, pages and
character span, instead of one per page. In our Qasper test (200 papers, 707 questions),
section-bounded chunks retrieved the gold evidence more often than fixed-size chunks, mostly
because they are smaller, but answer quality did not change
(write-up).

Since new integration packages are maintained outside this repo (CONTRIBUTING.md), a place on
this page to link them seemed useful; happy to move or reword it.

AI use: the reader and this text were drafted with an AI assistant and reviewed by me; the
reader's tests run offline on a generated PDF.

New Package?

  • Yes
  • No

Version Bump?

  • Yes
  • No

Type of Change

  • This change requires a documentation update

(docs-only change)

How Has This Been Tested?

  • I added new unit tests to cover this change
  • I believe this change is already covered by existing unit tests

(docs-only; the link and the package were checked by hand)

Suggested Checklist:

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant