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.2.tar.gz (14.2 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.2-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for extract_openreview_comments-0.1.2.tar.gz
Algorithm Hash digest
SHA256 3e8cf33425d82891104a59121d87c9d8a6e5f2f4c620d429119d923c63a41196
MD5 43ecebab109155bddddd0c58a568e5ae
BLAKE2b-256 8f6641bd702d99ca02920a32f756c6ebb6e93688e1efa8b218851019f910e525

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for extract_openreview_comments-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0738897136090106152c20dfcf1b09266c961dcb7ce779a07e63607701e7fba1
MD5 68fe92f195634dece936b24a07a99a6c
BLAKE2b-256 f782b0df7fd81c3a0a9ece11cc37c2aa6c2d3246fef2bf4047d30684c811b097

See more details on using hashes here.

Provenance

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