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_Unifying_Graph_and_Sheaf_Neural_Networks.pdf
        ...
        └── 34218_Information-Theoretic_Disentangled_Latent_Modeling_with_Conditional_Diffusion_for_Incomplete_Multi-View_Clustering.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
  • 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.7.tar.gz (18.1 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.7-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: openreview_downloader-0.1.7.tar.gz
  • Upload date:
  • Size: 18.1 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.7.tar.gz
Algorithm Hash digest
SHA256 fad79706f6ee11aaf0624ecf5de1ae5fec7783a15f2493533d7c2cfb4572addc
MD5 84f43570528a4c2a6d71dd380a6558ec
BLAKE2b-256 2579ceffb46f84b6831a39edb8d00651483f42021ba4c772afef7f192ac8007f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openreview_downloader-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 31fbdc8453a9aa914baccf75acc6b3111fe6637fab95e65e5157b98279c34eba
MD5 ac353fa459e9a117df5f934eb209f388
BLAKE2b-256 fbdc4dd7e15e8332afe29f82644dadf8d6efe5e47e26c8844a2b7ba324dcc089

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