Skip to main content

Extract OpenReview Comments

PyPI version Python 3.11+ License: MIT

A Python command-line tool to extract OpenReview comments for a paper into markdown format for easy copy/pasting when writing rebuttals.

Features

  • 📥 Extract all comments and reviews from any OpenReview forum
  • 📝 Format comments as clean, readable Markdown
  • 🔐 Support for both public and private content (with authentication)
  • 📁 Save to a single file or split into separate files per comment
  • 🔄 Preserves reply threads and nested discussions
  • ⚡ Fast and easy to use

Installation

pip install extract-openreview-comments

Usage

Basic Usage

Extract comments from a public OpenReview forum:

extract-openreview-comments <forum_id>

This will save all comments to comments.md in the current directory.

With Authentication

For private content or to access additional information:

extract-openreview-comments <forum_id> -u your_email@example.com -p your_password

Save to Custom File

extract-openreview-comments <forum_id> -o my_reviews.md

Split into Separate Files

Save each comment to a separate file in a directory:

extract-openreview-comments <forum_id> --separate-files -d output_directory/

Finding the Forum ID

The forum ID is the unique identifier for a paper on OpenReview. You can find it in the URL:

https://openreview.net/forum?id=FORUM_ID_HERE

For example, in https://openreview.net/forum?id=rJXMpikCZ, the forum ID is rJXMpikCZ.

Command-Line Options

Usage: extract-openreview-comments [OPTIONS] FORUM_ID

Options:
  -u, --username TEXT    OpenReview username (optional for public content)
  -p, --password TEXT    OpenReview password (optional for public content)
  -o, --output PATH      Output file path (default: comments.md)
  -s, --separate-files   Save each comment to a separate file
  -d, --output-dir PATH  Output directory for separate files (default: comments/)
  --baseurl TEXT         OpenReview API base URL (default: https://api2.openreview.net)
  --help                 Show this message and exit.

Output Format

The tool generates well-formatted Markdown with:

  • Comment metadata (author, date)
  • Review content (summary, strengths, weaknesses, questions)
  • Ratings and confidence scores
  • Nested reply threads
  • Clear section separators

Example output:

# Paper Title

**Total Comments:** 5

---

## Comment by Reviewer_ABC

**Date:** 2024-01-15 10:30:00

**Review:**

This paper presents an interesting approach to...

**Rating:** 8: Top 50% of accepted papers

**Confidence:** 4: High

### Replies:

## Comment by Authors

**Date:** 2024-01-20 14:00:00

**Response:**

We thank the reviewer for their feedback...

---

Development

Running Tests

uv run pytest

Linting and Formatting

uv run ruff check .
uv run ruff format .

Type Checking

uv run pyright

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Links

Metadata

Release files for extract-openreview-comments 0.2.1

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

Source distribution (sdist)

Source distribution for extract-openreview-comments 0.2.1
File Size Uploaded
extract_openreview_comments-0.2.1.tar.gz 15.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for extract-openreview-comments 0.2.1
File Interpreter ABI Platform
extract_openreview_comments-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 25.6 kB

Release files / extract_openreview_comments-0.2.1.tar.gz

Download URL extract_openreview_comments-0.2.1.tar.gz
Size 15.7 kB
Tags Source
SHA-256 checksum
How to use checksums
e9ced4223f457570a564157d733551f721dc39a9544fa6bad66b30e974af94c3
BLAKE2b-256 checksum
How to use checksums
c9968911e84f6294c34c1eb44bf819f541faccd720e35a0c62ab75c94bbe7c93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 24, 2026.

Transparency log

Release files / extract_openreview_comments-0.2.1-py3-none-any.whl

Download URL extract_openreview_comments-0.2.1-py3-none-any.whl
Size 9.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c9aae3c3f72be052dac1d443d0a2fff714e5acf28235c9662c3a3092a9579d7a
BLAKE2b-256 checksum
How to use checksums
474dc80bf3fac8b5dce02a5f00ee3c66cd06a6caa8e710fec67dd04d8124ed14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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