Skip to main content

Download OpenReview papers by decision.

Project description

PyPI - Version License

OpenReview Paper Downloader

Simple download, listing, and search of oral, spotlight, accepted, or rejected papers from OpenReview into tidy folders by decision.

Despite the name, this works for any OpenReview-hosted conference (NeurIPS, ICLR, ICML, etc.).

Installation

pip install openreview_downloader

Usage

The CLI saves PDFs into downloads/<venue>/<decision>/ with sanitized filenames.

Available decisions:

  • oral – Oral presentations
  • spotlight – Spotlight presentations
  • accepted – All accepted papers
  • rejected – Rejected papers
  • all – Accepted and rejected papers

Authentication

Some OpenReview venues require authenticated API access. If OPENREVIEW_USERNAME and OPENREVIEW_PASSWORD are present in the environment, the CLI uses them automatically and does not prompt.

To save credentials for future runs:

ordl auth

You can also check or clear saved credentials:

ordl auth status
ordl auth logout

When no environment or saved credentials are available, ordl asks for your OpenReview email and password interactively before contacting OpenReview.

Latest ICML example (2026)

OpenReview may require authenticated API access for ICML 2026. Run ordl auth once, or set OPENREVIEW_USERNAME and OPENREVIEW_PASSWORD in your environment.

Download all ICML 2026 spotlight papers:

ordl spotlight --venue-id ICML.cc/2026/Conference

Download Output:

downloads
└── icml2026
    └── spotlight
        ├── 34584_Foundations_of_Equivariant_Deep_Learning.pdf
        ...
        └── 34218_Information-Theoretic_Disentangled_Latent_Modeling_with.pdf

See decision counts without downloading:

ordl --info --venue-id ICML.cc/2026/Conference

Example output:

Fetching accepted submissions for ICML.cc/2026/Conference...
Accepted submissions: 6341
Rejected submissions: 214
ICML 2026
---
Oral: 0
Spotlight: 536
Accepted: 6341
Rejected: 214

Preview accepted ICML 2026 papers:

ordl accepted --list --head 3 --venue-id ICML.cc/2026/Conference

Basic examples (NeurIPS)

Download all NeurIPS oral papers:

ordl oral --venue-id NeurIPS.cc/2025/Conference

Download Output:

downloads
└── neurips2025
    └── oral
        ├── 27970_Deep_Compositional_Phase_Diffusion.pdf
        ...
        └── 28928_Generalized_Linear_Mode_Connectivity.pdf

Download all NeurIPS oral and spotlight papers:

ordl oral,spotlight --venue-id NeurIPS.cc/2025/Conference

Download all accepted NeurIPS papers (any presentation type):

ordl accepted --venue-id NeurIPS.cc/2025/Conference

See decision counts without downloading:

ordl --info --venue-id NeurIPS.cc/2025/Conference

Example output:

Fetching accepted submissions for NeurIPS.cc/2025/Conference...
Accepted submissions: 5286
Rejected submissions: 254
NeurIPS 2025
---
Oral: 77
Spotlight: 687
Accepted: 5286
Rejected: 254

List and preview papers

List all accepted papers without downloading:

ordl accepted --list --venue-id NeurIPS.cc/2025/Conference

List accepted and rejected papers:

ordl all --list --venue-id NeurIPS.cc/2025/Conference

Show only the first 3 accepted papers:

ordl accepted --list --head 3 --venue-id NeurIPS.cc/2025/Conference

Example output:

Fetching accepted submissions for NeurIPS.cc/2025/Conference...
Accepted submissions: 5286
Matched papers: 5286
Showing first: 3
---
29297 [accepted] Time-o1: Time-Series Forecasting Needs Transformed Label Alignment
  authors: Hao Wang, Licheng Pan, Zhichao Chen, Xu Chen, Qingyang Dai, Lei Wang, Haoxuan Li, Zhouchen Lin
  id: RxWILaXuhb
  pdf: downloads/neurips2025/accepted/29297_Time-o1_Time-Series_Forecasting_Needs_Transformed_Label_Alignment.pdf
29260 [accepted] REVE: A Foundation Model for EEG - Adapting to Any Setup with Large-Scale Pretraining on 25,000 Subjects
  authors: Yassine El Ouahidi, Jonathan Lys, Philipp Thölke, Nicolas Farrugia, Bastien Pasdeloup, Vincent Gripon, Karim Jerbi, Giulia Lioi
  id: ZeFMtRBy4Z
  pdf: downloads/neurips2025/accepted/29260_REVE_A_Foundation_Model_for_EEG_-_Adapting_to_Any_Setup_with_Large-Scale_Pretraining_on_25000_Subjects.pdf

If you omit DECISIONS while listing or searching, the CLI defaults to accepted papers and exits without downloading:

ordl --head 20 --venue-id NeurIPS.cc/2025/Conference

Search, grep, and regex workflows

Search over title, authors, abstract, keywords, decision, venue, id, and paper number. --search and --grep are aliases; matching is case-insensitive by default.

Preview accepted papers matching a text query:

ordl accepted --list --search diffusion --head 2 --venue-id NeurIPS.cc/2025/Conference

Example output:

Fetching accepted submissions for NeurIPS.cc/2025/Conference...
Accepted submissions: 5286
Matched papers: 710
Showing first: 2
Text hits shown: 4
---
29119 [accepted] CADGrasp: Learning Contact and Collision Aware General Dexterous Grasping in Cluttered Scenes
  authors: Jiyao Zhang, Zhiyuan Ma, Tianhao Wu, Zeyuan Chen, Hao Dong
  id: CB8jwNE2vV
  pdf: downloads/neurips2025/accepted/29119_CADGrasp_Learning_Contact_and_Collision_Aware_General_Dexterous_Grasping_in_Cluttered_Scenes.pdf
  match: abstract / diffusion: ... high-dimensional representation, we introduce an occupancy-[diffusion] model with voxel-level conditional guidance and force closu...
29103 [accepted] KLASS: KL-Guided Fast Inference in Masked Diffusion Models
  authors: Seo Hyun Kim, Sunwoo Hong, Hojung Jung, Youngrok Park, Se-Young Yun
  id: gOG9Zoyn4R
  pdf: downloads/neurips2025/accepted/29103_KLASS_KL-Guided_Fast_Inference_in_Masked_Diffusion_Models.pdf
  match: title / diffusion: KLASS: KL-Guided Fast Inference in Masked [Diffusion] Models

Preview regex matches and show snippets plus counts:

ordl accepted --list --regex 'diffusion|transformer' --head 2 --venue-id NeurIPS.cc/2025/Conference

Download the same selection by rerunning the same query without --list:

ordl accepted --search diffusion --venue-id NeurIPS.cc/2025/Conference

Download only the first 10 matches:

ordl accepted --search diffusion --head 10 --venue-id NeurIPS.cc/2025/Conference

Require multiple terms or patterns by repeating the flags:

ordl accepted --list --grep diffusion --grep protein --venue-id NeurIPS.cc/2025/Conference

For scripts, agents, and crawlbots, use JSON Lines output while listing:

ordl accepted --list --search diffusion --head 2 --format jsonl --venue-id NeurIPS.cc/2025/Conference

The first JSON line is a summary with the number of matched and shown papers; each following line is one paper record with stable fields such as id, number, decision, title, authors, pdf_path, match_count, and matches.

JSONL keeps progress logs on stderr so stdout can be piped directly into tools:

{"decisions": ["accepted"], "head": 2, "matched_papers": 710, "shown_papers": 2, "type": "summary", "venue_id": "NeurIPS.cc/2025/Conference"}
{"authors": "Jiyao Zhang, Zhiyuan Ma, Tianhao Wu, Zeyuan Chen, Hao Dong", "decision": "accepted", "id": "CB8jwNE2vV", "match_count": 1, "matches": [{"count": 1, "field": "abstract", "query": "diffusion", "snippet": "... high-dimensional representation, we introduce an occupancy-[diffusion] model with voxel-level conditional guidance and force closu..."}], "number": 29119, "pdf_path": "downloads/neurips2025/accepted/29119_CADGrasp_Learning_Contact_and_Collision_Aware_General_Dexterous_Grasping_in_Cluttered_Scenes.pdf", "title": "CADGrasp: Learning Contact and Collision Aware General Dexterous Grasping in Cluttered Scenes", "type": "paper", "venue": "NeurIPS 2025 poster", "venueid": "NeurIPS.cc/2025/Conference"}

Other Conferences (ICLR, ICML, etc.)

Just change the --venue-id to the appropriate OpenReview handle.

ICLR 2025 orals only:

ordl oral --venue-id ICLR.cc/2025/Conference

ICLR 2025 accepted papers (all formats):

ordl accepted --venue-id ICLR.cc/2025/Conference

ICML 2025 oral + spotlight:

ordl oral,spotlight --venue-id ICML.cc/2025/Conference

You can use any other OpenReview venue ID in the same way.

CLI Options

  • DECISIONS (positional) – Comma-separated list of decisions to select (oral, spotlight, accepted, rejected, all)
  • --venue-id – OpenReview venue ID (default: NeurIPS.cc/2025/Conference or env VENUE_ID)
  • --out-dir – Custom output directory (default: downloads/<venue>/)
  • --no-skip-existing – Re-download even if the PDF is already present
  • --info – Print decision counts for the venue and exit
  • --list – List selected papers and exit without downloading
  • --head N – Limit the selection to the first N papers; useful for previews or small downloads
  • --search TEXT / --grep TEXT – Text search across paper metadata; repeat to require multiple terms
  • --regex PATTERN – Regex search across paper metadata; repeat to require multiple patterns
  • --case-sensitive – Make search and regex matching case-sensitive
  • --format text|jsonl – Output format for --list; jsonl is convenient for automation
  • --with-abstract – Include abstract and TLDR in --list output
  • --max-filename-words N – Maximum number of title words to keep in downloaded PDF filenames; extra words are dropped (default: 5)
  • ordl auth – Save OpenReview credentials for future runs
  • ordl auth status – Show whether credentials come from the environment, saved auth, or neither
  • ordl auth logout – Remove saved OpenReview credentials

Development

Install in editable mode with development dependencies:

pip install -e '.[dev]'

Run the tests:

python -m unittest discover -s tests

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

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

openreview_downloader-0.1.8.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

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

openreview_downloader-0.1.8-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file openreview_downloader-0.1.8.tar.gz.

File metadata

  • Download URL: openreview_downloader-0.1.8.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for openreview_downloader-0.1.8.tar.gz
Algorithm Hash digest
SHA256 cb342edfc010cfd75364e8709a85d1a077f5efb00dab8dfe907941c984be0373
MD5 4300c824bfadc7c5be8673d242e1d0c6
BLAKE2b-256 9879ca707d9dae6f1c7a9cb1e185cfe4642195e51e6aaf1838adb7b586b747b5

See more details on using hashes here.

File details

Details for the file openreview_downloader-0.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for openreview_downloader-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 11b5f6d084f7e6f788982f550aa7a3691106526da4efe0a89a6af303bccd19e2
MD5 46d468603c6a179f182f4f3865110a55
BLAKE2b-256 29be24d4895676bd4d50799d36977609d6f89d7731b3a4bd5029b1e10ee30411

See more details on using hashes here.

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