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.1.1.tar.gz (12.5 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.1.1-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for extract_openreview_comments-0.1.1.tar.gz
Algorithm Hash digest
SHA256 eda764b2ed453218ed7d96f4d74ac5c8d73f9940a66da83eddfbfc1666745f35
MD5 c01e65d61e81cf09686cfb25ec8926a3
BLAKE2b-256 8efda6d46477794a8efad481ac0787edaef23a57bd2408fe1f2162ed1ad7b1eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for extract_openreview_comments-0.1.1.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.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for extract_openreview_comments-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ac204ff5c7be9ef80a339c2926b93b1e11b1a0aaacc5c0105f4236b659e15129
MD5 7b16c4e7bfd75b75705acb5759949525
BLAKE2b-256 7a87de059c977957f40a2b76becee338563fa615a2650e892cfc9354a9eea2cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for extract_openreview_comments-0.1.1-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