Skip to main content

AI-powered academic paper reviewer

Project description

OpenAIReview

PyPI version

Our goal is provide thorough and detailed reviews to help researchers conduct the best research. See more examples here.

Example

Installation

uv venv && uv pip install openaireview
# or: pip install openaireview

For development:

git clone https://github.com/ChicagoHAI/OpenAIReview.git
cd OpenAIReview
uv venv && uv pip install -e .
# or: pip install -e .

PDF math support (optional)

For math-heavy PDFs, install Marker separately to get accurate LaTeX extraction. Without Marker, PDFs are processed with PyMuPDF which cannot extract math symbols correctly.

# Install Marker CLI in an isolated environment (avoids dependency conflicts)
uv tool install marker-pdf --with psutil

Marker is used automatically when available on PATH. It is most useful for math-heavy PDFs, but runs very slowly without a GPU. For papers with math, we recommend using .tex source, .md, or arXiv HTML URLs instead of PDF when possible — these always produce correct output without needing Marker.

Quick Start

First, set your OpenRouter API key (get one at openrouter.ai/keys):

export OPENROUTER_API_KEY=your_key_here

Or create a .env file in your working directory:

OPENROUTER_API_KEY=your_key_here

Then review a paper and visualize results:

# Review a local file
openaireview review paper.pdf

# Or review directly from an arXiv URL
openaireview review https://arxiv.org/html/2602.18458v1

# Visualize results
openaireview serve
# Open http://localhost:8080

CLI Reference

openaireview review <file_or_url>

Review an academic paper for technical and logical issues. Accepts a local file path or an arXiv URL.

Option Default Description
--method progressive Review method: zero_shot, local, progressive, progressive_full
--model anthropic/claude-opus-4-6 Model to use
--output-dir ./review_results Directory for output JSON files
--name (from filename) Paper slug name

openaireview serve

Start a local visualization server to browse review results.

Option Default Description
--results-dir ./review_results Directory containing result JSON files
--port 8080 Server port

Supported Input Formats

  • PDF (.pdf) — uses Marker for high-quality extraction with LaTeX math; falls back to PyMuPDF if Marker is not installed
  • DOCX (.docx) — via python-docx
  • LaTeX (.tex) — plain text with title extraction from \title{}
  • Text/Markdown (.txt, .md) — plain text
  • arXiv HTML — fetch and parse directly from https://arxiv.org/html/<id> or https://arxiv.org/abs/<id>

Environment Variables

Variable Default Description
OPENROUTER_API_KEY (required) Your OpenRouter API key
MODEL anthropic/claude-opus-4-6 Default model

These can be set as environment variables or in a .env file. See .env.example for a template.

Supported Models & Pricing

All models available on OpenRouter are supported — use any model ID via --model. The following models have built-in pricing for accurate cost tracking in the visualization:

Model Input ($/1M tokens) Output ($/1M tokens)
anthropic/claude-opus-4-6 $5.00 $25.00
anthropic/claude-opus-4-5 $5.00 $25.00
openai/gpt-5.2-pro $21.00 $168.00
google/gemini-3.1-pro-preview $2.00 $12.00

For models not listed above, a default rate of $5.00/$25.00 per 1M tokens is used.

Review Methods

  • zero_shot — single prompt asking the model to find all issues
  • local — deep-checks each chunk with surrounding window context (no filtering)
  • progressive — sequential processing with running summary, then consolidation
  • progressive_full — same as progressive but returns all comments before consolidation

Claude Code Skill

A deep-review skill is bundled with the package. It runs a multi-agent pipeline — one sub-agent per paper section plus cross-cutting agents — and produces severity-tiered findings (major / moderate / minor).

Install once:

pip install openaireview
openaireview install-skill

Then in any Claude Code project:

/openaireview paper.pdf
/openaireview https://arxiv.org/abs/2602.18458

Finally, run openaireview serve to see results.

Development

Install with dev dependencies (includes pytest):

uv pip install -e ".[dev]"

Run tests:

pytest tests/

Integration tests that call the API require OPENROUTER_API_KEY and are skipped automatically when it's not set.

Benchmarks

Benchmark data and experiment scripts are in benchmarks/. See benchmarks/REPORT.md for results.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openaireview-0.1.10.tar.gz (44.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openaireview-0.1.10-py3-none-any.whl (50.2 kB view details)

Uploaded Python 3

File details

Details for the file openaireview-0.1.10.tar.gz.

File metadata

  • Download URL: openaireview-0.1.10.tar.gz
  • Upload date:
  • Size: 44.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for openaireview-0.1.10.tar.gz
Algorithm Hash digest
SHA256 b2eb1978b93a24b4324f036e3870c1dbee9791b6e8c66eaaaaad0064ba3860b5
MD5 651784794deb7d78637ad2fb7080132f
BLAKE2b-256 e168bc861a6f80d60f948854ad2a7e8ff25a195e99b2523a1c63a22bcb6f0305

See more details on using hashes here.

Provenance

The following attestation bundles were made for openaireview-0.1.10.tar.gz:

Publisher: publish.yml on ChicagoHAI/OpenAIReview

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openaireview-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: openaireview-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 50.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for openaireview-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 d972baafb4207637ee4309b292386b2d6bd478600980a83e4b826dead69118f3
MD5 4a66dcb5655fd0e5b4d8901c31495aea
BLAKE2b-256 a91a1d57c73419d983a66c49658550860a34545192db2fb7652512dcba404555

See more details on using hashes here.

Provenance

The following attestation bundles were made for openaireview-0.1.10-py3-none-any.whl:

Publisher: publish.yml on ChicagoHAI/OpenAIReview

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page