openreview-dl
Download OpenReview paper reviews and rebuttals as formatted documents (ODT and Markdown).
Features
- Extracts forum ID and venue ID from an OpenReview URL
- Optional credential caching (machine-specific encryption)
- Fetches paper details, reviews, and rebuttals
- Generates a formatted markdown document
- Converts the markdown to an ODT file for easy reading
- Organizes reviews by reviewer with threaded replies
Installation
Using uvx (recommended - no installation needed)
uvx openreview-dl
Using uv
uv tool install openreview-dl
Using pip
pip install openreview-dl
Usage
Run the command and follow the prompts:
openreview-dl
Or with uvx:
uvx openreview-dl
You'll be prompted to:
- Enter the full OpenReview URL (example:
https://openreview.net/forum?id=XXXXXXXXXXXX&referrer=%5BAuthor%20Console%5D(%2Fgroup%3Fid%3DConference.org%2FYYYY%2FMeeting%2FAuthors%23your-submissions)) - Provide your OpenReview username and password
- Optionally cache credentials for future use (stored in
~/.config/openreview-dl/credentials.encwith machine-specific encryption)
The tool will generate:
output/$FORUM_ID.md- Markdown formatted fileoutput/$FORUM_ID.odt- ODT document (can be opened in LibreOffice, Microsoft Word, etc.)
where $FORUM_ID is the paper ID extracted from the URL.
Multi-factor authentication
If your OpenReview account has MFA enabled you will be asked to pick a method after entering your password. emailOtp and totp work anywhere: type the code when prompted. passkey needs a browser, which the tool opens for you on a desktop.
Machines without a browser (SSH sessions, servers, containers)
Log in once on a machine that has a browser and hand the token over:
- On your laptop run
openreview-dl --auth. It logs in (the browser opens for the passkey) and prints a login token that stays valid for up to a week. - On the headless machine run
openreview-dlas usual. Because no browser is available it offers to take a token before falling back to a password login. Paste the token at that prompt (input is hidden).--token TOKENalso works but leaves the token in your shell history.
The token is checked against OpenReview, cached in ~/.config/openreview-dl/token.enc (encrypted like the credentials, file readable only by your user) and reused until it expires. When it has expired, repeat step 1. If OpenReview cannot be reached during the check, the cached token is kept for the next attempt. --wipe-credentials removes it.
Passkey over an SSH port forward
To finish a passkey login from the headless machine itself instead, choose passkey at the MFA prompt. The tool prints the login URL and this hint:
That page posts the token to 127.0.0.1:54321 on the browser's machine, so first
forward the port to this machine (use your usual user@host or ssh alias):
ssh -L 54321:127.0.0.1:54321 you@remote-host
Run that from your laptop, open the URL in your local browser, and finish the passkey prompt. --passkey-port PORT (or OPENREVIEW_DL_PASSKEY_PORT=PORT) fixes the port so a LocalForward line in your ~/.ssh/config covers every login. --no-browser (or OPENREVIEW_DL_NO_BROWSER=1) treats the machine as browserless (token prompt plus this passkey behaviour) when the automatic detection (SSH session, or Linux without a display) misses. Tokens arriving this way are verified to belong to your account before they are used.
Credential Caching
If you choose to cache credentials, they are stored at:
- Linux/macOS:
~/.config/openreview-dl/credentials.enc
The credentials are encrypted using machine-specific keys (hostname-based), so they won't work if copied to another machine. However, this is not fully secure - anyone with access to your user account can potentially decrypt them.
Note
Ensure you have the necessary permissions to access the paper on OpenReview. You must be logged in with an account that has access to the reviews (typically as an author, reviewer, or area chair).
Metadata
Release files for openreview-dl 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| openreview_dl-0.3.1.tar.gz | 63.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| openreview_dl-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 80.1 kB
Release files / openreview_dl-0.3.1.tar.gz
| Download URL | openreview_dl-0.3.1.tar.gz |
|---|---|
| Size | 63.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
54ae43c3980823eb7a22825b83f99982d9db697ca4e262c0f80334683cb08674
|
|
BLAKE2b-256 checksum How to use checksums |
484f9906434c58b29629a07bdf0763b31445f8844a89d97894c5e3eb8ce57cd5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 30, 2026.
Transparency logRelease files / openreview_dl-0.3.1-py3-none-any.whl
| Download URL | openreview_dl-0.3.1-py3-none-any.whl |
|---|---|
| Size | 16.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a24e6a9827bac47056ce52d0d779d207f4e6434d20f9ad33f2ea8e5c637b9a61
|
|
BLAKE2b-256 checksum How to use checksums |
ffa549570776a0efddae51e004ff7b1c83f462d67052972550e46526578a36e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 30, 2026.
Transparency log