// readme

Systematic review tools

Download PDFs from a BibTeX file

.venv/bin/python -m pip install -r requirements-pdf-download.txt
.venv/bin/python src/download_pdfs.py neurodivergent-sw-eng.bib \
  --output neurodivergent-sw-eng-with-files.bib --pdf-dir ./pdfs

Restrict downloads by source with --source:

.venv/bin/python src/download_pdfs.py papers.bib --output papers-with-files.bib \
  --pdf-dir ./pdfs --source ACM

Use --source ACM Scopus or repeat --source to allow multiple sources. Matching ignores case and surrounding whitespace and accepts any source in an entry’s semicolon-separated set. Inferred ACM sources based on publisher also qualify. Entries with missing/unknown sources are skipped when a filter is specified. Skipped entries remain in the output with their existing metadata and file fields unchanged; they make no requests and do not count as failures. The skipped count is logged. Without --source, all entries are considered. The filter controls eligibility only: an entry with ACM; Scopus still uses ACM browser download rules even when selected through --source Scopus.

Exclude sources with --exclude-source:

.venv/bin/python…