{"id":33608408,"url":"https://github.com/chanind/extract-openreview-comments","last_synced_at":"2025-12-30T09:03:26.717Z","repository":{"id":323893456,"uuid":"1095164609","full_name":"chanind/extract-openreview-comments","owner":"chanind","description":"A Python command-line tool to extract OpenReview comments for a paper into markdown format for easy copy/pasting when writing rebuttals.","archived":false,"fork":false,"pushed_at":"2025-11-12T18:06:50.000Z","size":20,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-12T18:23:47.081Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chanind.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-12T17:16:54.000Z","updated_at":"2025-11-12T18:06:54.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/chanind/extract-openreview-comments","commit_stats":null,"previous_names":["chanind/extract-openreview-comments"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/chanind/extract-openreview-comments","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanind%2Fextract-openreview-comments","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanind%2Fextract-openreview-comments/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanind%2Fextract-openreview-comments/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanind%2Fextract-openreview-comments/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chanind","download_url":"https://codeload.github.com/chanind/extract-openreview-comments/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanind%2Fextract-openreview-comments/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27404134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-30T02:00:05.582Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-11-30T18:01:23.676Z","updated_at":"2025-11-30T18:05:31.996Z","avatar_url":"https://github.com/chanind.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Extract OpenReview Comments\n\n[![PyPI version](https://badge.fury.io/py/extract-openreview-comments.svg)](https://badge.fury.io/py/extract-openreview-comments)\n[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA Python command-line tool to extract OpenReview comments for a paper into markdown format for easy copy/pasting when writing rebuttals.\n\n## Features\n\n- 📥 Extract all comments and reviews from any OpenReview forum\n- 📝 Format comments as clean, readable Markdown\n- 🔐 Support for both public and private content (with authentication)\n- 📁 Save to a single file or split into separate files per comment\n- 🔄 Preserves reply threads and nested discussions\n- ⚡ Fast and easy to use\n\n## Installation\n\n```bash\npip install extract-openreview-comments\n```\n\n## Usage\n\n### Basic Usage\n\nExtract comments from a public OpenReview forum:\n\n```bash\nextract-openreview-comments \u003cforum_id\u003e\n```\n\nThis will save all comments to `comments.md` in the current directory.\n\n### With Authentication\n\nFor private content or to access additional information:\n\n```bash\nextract-openreview-comments \u003cforum_id\u003e -u your_email@example.com -p your_password\n```\n\n### Save to Custom File\n\n```bash\nextract-openreview-comments \u003cforum_id\u003e -o my_reviews.md\n```\n\n### Split into Separate Files\n\nSave each comment to a separate file in a directory:\n\n```bash\nextract-openreview-comments \u003cforum_id\u003e --separate-files -d output_directory/\n```\n\n### Finding the Forum ID\n\nThe forum ID is the unique identifier for a paper on OpenReview. You can find it in the URL:\n\n```\nhttps://openreview.net/forum?id=FORUM_ID_HERE\n```\n\nFor example, in `https://openreview.net/forum?id=rJXMpikCZ`, the forum ID is `rJXMpikCZ`.\n\n## Command-Line Options\n\n```\nUsage: extract-openreview-comments [OPTIONS] FORUM_ID\n\nOptions:\n  -u, --username TEXT    OpenReview username (optional for public content)\n  -p, --password TEXT    OpenReview password (optional for public content)\n  -o, --output PATH      Output file path (default: comments.md)\n  -s, --separate-files   Save each comment to a separate file\n  -d, --output-dir PATH  Output directory for separate files (default: comments/)\n  --baseurl TEXT         OpenReview API base URL (default: https://api2.openreview.net)\n  --help                 Show this message and exit.\n```\n\n## Output Format\n\nThe tool generates well-formatted Markdown with:\n\n- Comment metadata (author, date)\n- Review content (summary, strengths, weaknesses, questions)\n- Ratings and confidence scores\n- Nested reply threads\n- Clear section separators\n\nExample output:\n\n```markdown\n# Paper Title\n\n**Total Comments:** 5\n\n---\n\n## Comment by Reviewer_ABC\n\n**Date:** 2024-01-15 10:30:00\n\n**Review:**\n\nThis paper presents an interesting approach to...\n\n**Rating:** 8: Top 50% of accepted papers\n\n**Confidence:** 4: High\n\n### Replies:\n\n## Comment by Authors\n\n**Date:** 2024-01-20 14:00:00\n\n**Response:**\n\nWe thank the reviewer for their feedback...\n\n---\n```\n\n## Development\n\n### Running Tests\n\n```bash\nuv run pytest\n```\n\n### Linting and Formatting\n\n```bash\nuv run ruff check .\nuv run ruff format .\n```\n\n### Type Checking\n\n```bash\nuv run pyright\n```\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Acknowledgments\n\n- Built using the [OpenReview Python API](https://github.com/openreview/openreview-py)\n- CLI powered by [Click](https://click.palletsprojects.com/)\n- Built using [Claude Code](https://claude.ai/code)\n\n## Links\n\n- [GitHub Repository](https://github.com/chanind/extract-openreview-comments)\n- [Issue Tracker](https://github.com/chanind/extract-openreview-comments/issues)\n- [PyPI Package](https://pypi.org/project/extract-openreview-comments/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchanind%2Fextract-openreview-comments","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchanind%2Fextract-openreview-comments","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchanind%2Fextract-openreview-comments/lists"}