Skip to main content

paperextract

Check Coverage Docs PyPI Python Ruff basedpyright License: Apache-2.0

Turn a folder of scientific PDFs into a searchable, citable, machine-readable library, locally, without losing the equations, tables or figures.

paperextract is built for technical literature, where a misread exponent or a shifted table cell matters. It runs state-of-the-art document models on your own machine or cluster, keeps every result traceable to the page it came from, and tells you what it could not verify instead of guessing.

paper.pdf  ──►  Travers_2019_HighEnergyPulse/
                ├── paper.md          Markdown with LaTeX equations, tables, figures
                ├── document.json     every block with its page, position and source
                ├── figures/ tables/  crops, captions, tables as HTML, JSON and CSV
                ├── citation.bib      identity validated against Crossref or DataCite
                ├── validation.json   what could not be verified
                └── original/         your PDF, byte for byte

Features

  • Equations, tables and figures as data. Display and inline math as LaTeX, table cells exactly as printed, figures with their panels and captions, supplements linked to the main text.
  • Nothing invented. Values are never repaired or filled in; original files are preserved with hashes; every doubt is recorded as a finding.
  • Real bibliographic identity. DOIs, titles and authors checked against Crossref, DataCite and arXiv, with BibTeX, clear names, and document versions (preprint, accepted manuscript, published) kept apart.
  • Duplicates caught before extraction. Identical files, copies with the same text and shared DOIs are found before any model runs.
  • A library you can search and share. Full-text search, lookup by DOI or file, library.bib, portable folders with relative links, and an agent skill so AI assistants can find and cite your papers.
  • Figure descriptions. Optional, clearly labelled machine descriptions of every figure from a local vision-language model or the Claude API.
  • From laptop to cluster. MinerU, Docling or Marker in isolated environments on a Mac or Linux; GPU batches on Slurm clusters, resumable and published in one step. 162 papers took under an hour on four GPUs.

Install

Requires uv and macOS on Apple silicon or Linux on x86_64.

git clone https://github.com/jtravs/paperextract.git && cd paperextract
uv sync --locked
uv sync --directory workers/mineru --locked       # add --extra cuda on an NVIDIA GPU
uv run paperextract models fetch mineru           # or mineru-cuda; pinned and verified

Use

uv run paperextract paper.pdf --library ~/papers          # one paper
uv run paperextract batch incoming/ --library ~/papers    # a folder, duplicates handled
uv run paperextract search "soliton self-compression" --library ~/papers
uv run paperextract describe --all --library ~/papers     # optional figure descriptions

Documentation

The manual is at paperextract.readthedocs.io:

To build it locally, run uv run poe docs and open docs/_build/html/index.html.

Status

paperextract is in active development and has not been released. The pipeline is complete and has been run on about 170 papers on macOS and on NVIDIA A40 GPUs; accuracy has not yet been measured against a reviewed reference set. See the changelog, the design and the implementation status.

Contributing

uv sync --locked
uv run poe check      # lint, types, docstrings, spelling, tests, manual

The default test suite is offline and needs no models. See AGENTS.md for conventions and tooling for the checks.

Licence

Apache License 2.0; see LICENSE and NOTICE. paperextract distributes no model weights: each backend's models keep their own licences (summarized in model licences), and papers keep their publishers' copyright.

Release files for paperextract 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for paperextract 0.1.0
File Size Uploaded
paperextract-0.1.0.tar.gz 759.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for paperextract 0.1.0
File Interpreter ABI Platform
paperextract-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.0 MB

Release files / paperextract-0.1.0.tar.gz

Download URL paperextract-0.1.0.tar.gz
Size 759.8 kB
Tags Source
SHA-256 checksum
How to use checksums
54bf5a012ab99c732660f9214b697188388ed5e422d279e87aeffaf2d6084394
BLAKE2b-256 checksum
How to use checksums
4d42bb057ff5fc5055e4d79545d24f887d9ac40a14ccbba7adc78a3722f817b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / paperextract-0.1.0-py3-none-any.whl

Download URL paperextract-0.1.0-py3-none-any.whl
Size 268.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6f8404a1c512718db39517d30500635a0ea0e0d9c99979f0f5bc03901ed7371d
BLAKE2b-256 checksum
How to use checksums
59277e8175e5c3d1e6451bc627f51af0743afb2549227e9aca6ac311751ec564
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.2.0

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page