Skip to main content

bibr 🦫 — bibr chew paper.pdf | bibr.org

PyPI version Docs License: AGPL v3 Made in Europe Lifecycle: experimental codecov

bibliography rodent 🦫 - a modern scientific extraction pipeline. Chews through papers, powered by open source and Metascience. Originally built for Metacheck with accuracy as a priority.

  • Reads PDF, DOCX, JATS XML, HTML, and ePub.
  • Extracts metadata, references, full text, tables, figures, and equations into a versioned JSON format, and writes whole corpora as Parquet tables for pandas, polars, DuckDB, or R.
  • Includes sentence and page references to help check extractions against the source.
  • Works through the CLI, Python, an HTTP API, a web demo, or MCP.
  • Lets you choose local or cloud models, limit page ranges, and skip extraction stages.

Alpha: Expect bugs and uneven extraction quality. Current evaluation is strongest for English-language social science papers. See known limitations.

Get started

Requires Python 3.11–3.14 and the system prerequisites. Install from PyPI in a project managed by uv:

uv init --python 3.12 paper-extraction
cd paper-extraction
uv add bibr
uv run bibr setup
uv run bibr chew paper.pdf -o result.json

In an existing Python environment, you can also install with python -m pip install bibr and run bibr setup / bibr chew directly.

The setup wizard detects your hardware, configures OCR and the LLM, and offers to install any additional dependencies. Core installs run bibr's trained models through ONNX Runtime; PyTorch, the demo, MCP, and hardware-specific serving runtimes are optional extras. The first run may download models and runtimes. See the tester guide for platform-specific instructions and the source installation guide for development setup.

Usage

Command line

uv run bibr chew papers/ -o results/   # Process a directory
uv run bibr batch papers/ --out corpus/  # Resumable corpus run, plus Parquet tables
uv run bibr tables results/ --out tables/  # JSON exports → one Parquet file per table
uv run bibr chew paper.pdf --dry-run   # Preview the processing plan
uv add 'bibr[demo]'                    # Add the optional web demo
uv run bibr demo                       # Open it locally

References are parsed locally by default. Use --refs llm to parse them with the LLM, or --refs off to skip them. More options: CLI reference.

Python

import bibr

result = bibr.chew("paper.pdf")
print(result.title)
references = result.references.df  # pandas DataFrame
result.save("result.json")

bibr.write_tables(bibr.chew("papers/"), "tables/")  # corpus → Parquet, keyed by paper_id

See the Python guide for batch processing and reusing loaded models with bibr.Chewer.

LLM use

bibr uses LLMs selectively for tasks such as front-page metadata, with support for small models tuned for extraction. You can disable downstream LLM extraction with --no-llm, which returns structural output; PDF OCR may still use a vision-language model. The LLM use note covers these choices and how agentic LLMs helped develop bibr. It is a work in progress.

Documentation

Citation

If you use bibr in research, please cite the software and report the version you used. Use GitHub's Cite this repository button or the citation metadata to generate a citation. When a Zenodo archive is available for your release, cite its version-specific DOI so readers can identify the exact software used. Otherwise, cite the repository URL together with the version or commit.

Contributing

Bug reports, test papers, and contributions are welcome. See CONTRIBUTING.md for development setup, tests, and pull requests.

Development began privately in December 2025. This public repository starts with a clean source snapshot for the 0.5.0 launch; the earlier development history remains private. Selected early design documents and their original contributions are preserved in the project history.


Acknowledgments

Special thanks to Daniël Lakens and Lisa DeBruine (@debruine), for putting faith and patience in the project, and being generous with their time to help make bibr 🦫 better for everyone.

Lisa also contributed to the early paper-structure and metadata design documentation preserved in the project history.

Also, to the whole Metacheck team, and TU Eindhoven.

We are grateful to the open-source projects that bibr builds on:

  • PaddleOCR-VL-1.6 (PaddlePaddle) — default OCR recognizer
  • GLM-OCR (Z.ai / Tsinghua University) — explicit compatibility backend and fallback
  • GROBID — a major source of inspiration for structured scientific document parsing
  • LitServe (Lightning AI) — serving infrastructure
  • PP-DocLayoutV3 (PaddlePaddle) — document layout analysis
  • wtpsplit — sentence segmentation
  • Crossref — reference metadata enrichment

License

AGPL-3.0-or-later. The export schema documents in docs/schema/ are dedicated to the public domain under CC0 1.0, so other tools can adopt the format freely.

Metadata

Release files for bibr 0.6.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 bibr 0.6.0
File Size Uploaded
bibr-0.6.0.tar.gz 1.3 MB Details

Built distribution (wheel)

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

Total release size: 2.8 MB

Release files / bibr-0.6.0.tar.gz

Download URL bibr-0.6.0.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
2dee54abb4f53fe15a86fc236c263d7ceefaaa4eaa61303395c141d3ccb28a08
BLAKE2b-256 checksum
How to use checksums
aab41f35831d85ca5f731c7441cc12189b01a129d70de266c86c0ee8dbdac36a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release files / bibr-0.6.0-py3-none-any.whl

Download URL bibr-0.6.0-py3-none-any.whl
Size 1.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
d70dd50b0602626a78e19d27b1923267606d54a3b3541cc40b6266f125555df8
BLAKE2b-256 checksum
How to use checksums
2786236ac4e69324865c55a481ad6ef115a6dabc27960ce760b836c073859b41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release history Release notifications | RSS feed

0.7.3

2 release files

0.7.1

2 release files

0.7.0

2 release files

This release

0.6.0 This release

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.0.2

2 release files

0.0.1

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