Skip to main content

A python script to extract the open-review comments for a paper into a markdown file for easy copy/pasting during rebuttals

Project description

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

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

extract_openreview_comments-0.2.0.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

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

extract_openreview_comments-0.2.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file extract_openreview_comments-0.2.0.tar.gz.

File metadata

File hashes

Hashes for extract_openreview_comments-0.2.0.tar.gz
Algorithm Hash digest
SHA256 92d14742cb6545100146de8888891584a7ea490204d6bf41668f6e2a15c5b060
MD5 9bf2436ddcbfeff6f9870c77df8bbdbd
BLAKE2b-256 0568b7c633c61615ba93e1c10ad1b182d9f0236aee2e53e7bae5a95fec8259e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for extract_openreview_comments-0.2.0.tar.gz:

Publisher: ci.yaml on chanind/extract-openreview-comments

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

File details

Details for the file extract_openreview_comments-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for extract_openreview_comments-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3c86573fe46ab4951fec24cd751ff0acf8ee56844986daaea2bdc8c76b5d2299
MD5 4a7fad675237139a39b2b689345c0932
BLAKE2b-256 d1db6bd57bea644412daa7dd6458ccc25c14cd3132df279ebc185356f502348e

See more details on using hashes here.

Provenance

The following attestation bundles were made for extract_openreview_comments-0.2.0-py3-none-any.whl:

Publisher: ci.yaml on chanind/extract-openreview-comments

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