PaperFlux
AI-powered PDF annotation for research papers. PaperFlux extracts exact quotations, organizes them by category (contributions, limitations, claims, evidence), and annotates your PDFs with precise highlights. It works with either OpenAI or Anthropic (Claude) models.
Quick Start
1. Installation
Install the latest release from PyPI:
python -m pip install paperflux
For local development from a cloned repository:
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
2. Set API Key
PaperFlux uses OpenAI by default. Set the key for the provider you plan to use:
# OpenAI (default)
export PAPERFLUX_OPENAI_API_KEY="sk-your-key"
# Anthropic (when provider: "anthropic")
export PAPERFLUX_ANTHROPIC_API_KEY="sk-ant-your-key"
Select the backend with the provider key in config.yaml ("openai" or "anthropic").
3. Run
paperflux init
paperflux --config config.yaml path/to/paper.pdf
Features
- Pluggable LLM backend: OpenAI or Anthropic (Claude)
- Batch processing:
*.pdf - Three detail levels (low/medium/high)
- RAG-based extraction with exact quotes
- Color-coded highlights by category
- Markdown summary with sticky note
- Quote-match report with matched/skipped counts and scores
- Layout-aware quote matching across column, table, figure, and caption interruptions
- Stage-level CLI progress during extraction and annotation
- Configurable prompts and colors
Documentation
For detailed setup, configuration options, and advanced usage, see the full documentation.
Contributing
Contributions welcome! Fork the repo, create a feature branch, and open a PR.
License
See LICENSE for details.
Metadata
Release files for paperflux 4.2.20260624
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| paperflux-4.2.20260624.tar.gz | 35.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| paperflux-4.2.20260624-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.1 kB
Release files / paperflux-4.2.20260624.tar.gz
| Download URL | paperflux-4.2.20260624.tar.gz |
|---|---|
| Size | 35.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4f658ac62e535809f704f9821ebd76c266023e1ddfe4a6dbb50dd361f0e6f8be
|
|
BLAKE2b-256 checksum How to use checksums |
5da1a53bf22e155795db8c981fc38ff47f1616155ec2c113f73ef367c1fce9e6
|
| 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 29, 2026.
Transparency logRelease files / paperflux-4.2.20260624-py3-none-any.whl
| Download URL | paperflux-4.2.20260624-py3-none-any.whl |
|---|---|
| Size | 35.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
87c19c2983b9dc3ba81afe552916fea0a1986f8267abb107c59ff8fd5a062cdc
|
|
BLAKE2b-256 checksum How to use checksums |
83f5b073668e9a63e50545cccf6054c06c1ff94ece218aeebf53185046105b0a
|
| 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 29, 2026.
Transparency log