A simple tool to update bib entries with their official information (e.g., DBLP or the ACL anthology).
See the codeReplace unofficial / arXiv BibTeX entries with official DBLP or ACL Anthology records. Cite keys are kept.
Install from GitHub only. We do not publish or support PyPI (pip install rebiber is a 2021 1.1.3 release).
Requires Python 3.10 or newer. Rebiber 1.4 uses bibtexparser 2 (>=2,<3).
uv tool install git+https://github.com/yuchenlin/rebiber
# or
pip install "rebiber @ git+https://github.com/yuchenlin/rebiber"
Develop from a checkout:
git clone https://github.com/yuchenlin/rebiber.git && cd rebiber
uv sync --extra dev # or: pip install -e ".[dev]"
uv run pytest
-d False is set.Omitting -o overwrites each -i file. Start with --dry-run.
rebiber -i refs.bib --dry-run
rebiber -i refs.bib --dry-run --report changes.txt
rebiber -i refs.bib -o refs.official.bib
rebiber -i refs.bib --used-in paper.tex appendix.tex
rebiber -i refs.bib --live-lookup # opt-in DBLP search after a local miss
rebiber -i *.bib -o ./normalized/
rebiber -i refs.bib --format-only -o pretty.bib
rebiber -i refs.bib --keep author,title,booktitle,journal,year,volume,number,pages,doi --protect-titles
Examples: examples/input.bib → examples/output.bib.
| Flag | Default | Meaning |
|---|---|---|
-i | required | One or more .bib files |
-o | in place | Output file, or a directory if -i has multiple files |
--dry-run | off | Print the change report; do not write .bib |
--report PATH | — | Also write the change report to a file |
--used-in TEX … | all keys | Only replace keys cited in these files (\cite / \citep / \citet / \citealp / \citeyear / \nocite). Unused keys are still pretty-printed and still affected by -r / -s / -st / -d |
--live-lookup | off | On a local miss, search DBLP by title (max 5 hits). Same author/title guards. Respect DBLP rate limits |
--keep FIELDS | keep all | Allowlist of fields (ID / ENTRYTYPE always kept) |
--protect-titles | off | Brace acronyms in titles (BERT, GPT-2, …) |
--format-only | off | Pretty-print only; no DB / DBLP / arXiv rewrite |
--no-check-authors | off | Skip last-name overlap (empty authors still do not match) |
-r | none | Drop fields, e.g. -r url,biburl,timestamp |
-s True | False | Shorten venues via rebiber/abbr.tsv |
-d False | True | Keep duplicate cite keys |
-st True | False | Sort entries by cite key |
-l / -a | packaged | Custom bib_list.txt / abbr.tsv |
-u | — | Refresh packaged dumps from GitHub main |
-v | — | Print version |
Leftover unofficial arXiv entries may still query the arXiv API for year / primaryClass. Use --format-only for a fully offline run.
--no-check-authors). Trailing et al. / et.al. / and others are stripped.16x16 ≠ 32x32), then the letters-only key used by older dumps.@misc with eprint / archivePrefix / primaryClass. Already-published papers are not rewritten because an abstract mentions arXiv.Build a dump JSON:
uv run python -m rebiber.bib2json -i path/to/conf.bib -o path/to/conf.json
@article{lin2020birds,
title={Birds have four legs?! NumerSense: Probing Numerical Commonsense Knowledge of Pre-trained Language Models},
author={Lin, Bill Yuchen and Lee, Seyeon and Khanna, Rahul and Ren, Xiang},
journal={arXiv preprint arXiv:2005.00683},
year={2020}
}
becomes the official EMNLP 2020 @inproceedings (same cite key), with anthology URL and DOI.
Toggle files in rebiber/bib_list.txt. ACL Anthology includes *CL main conferences and workshops. Other dumps are main tracks only (no CVPR/ICCV workshops).
A monthly Action opens a PR with fresh DBLP + anthology data. Years below are what is in this repo, not “whatever DBLP has tomorrow.”
Kept current (monthly job + recent dumps)
| Venue | Years |
|---|---|
| ACL Anthology | current (split acl_1/2/3.json) |
| AAAI | 2010–2026 |
| ACCV | 2022, 2024 |
| AISTATS | 2013–2025 |
| BMVC | 2010–2024 |
| CHI | 2010–2026 |
| CVPR | 2000–2025 |
| ECCV | 2022, 2024 |
| ICASSP | 2015–2025 |
| ICCV | odd years 2003–2025 |
| ICLR | 2013–2025 |
| ICML | 2000–2025 |
| IJCAI | 2011, 2013, 2015–2025 |
| INTERSPEECH | 2016–2025 |
| KDD | 2010–2026 |
| ICRA / IROS | 2020–2025 (main) |
| RSS / CoRL | 2020–2024 (main) |
| JMLR | 2020–2026 |
| TMLR | 2022–2026 |
| WACV | 2022–2026 |
| MLSys | 2019–2025 |
| MICCAI | 2022–2025 (main) |
| NeurIPS | 2000–2025 |
| SIGIR | 2010–2026 |
| UAI | 2010–2025 |
| WWW | 2001–2026 |
Not in the index: COLM (empty DBLP toc). ICLR/ICML/CVPR 2026, RSS/CoRL 2025, ECCV 2026 — not on DBLP yet.
Historical (frozen ~2020): ALENEX, ASONAM, BigData, CIDR, CIKM, COLT, MM, RecSys, SDM, SIGMOD (through 2022; later years are PACMMOD), SODA, STOC, WSDM.
Thanks to Anton Tsitsulin for the original dump collection.
uv run python -m rebiber.download_dblp --confs iclr --start-year 2026
That writes rebiber/data/{conf}{year}.bib.json and appends bib_list.txt when needed. PRs welcome.
In-repo SVGs, refreshed weekly from the GitHub API (no third-party token).
Overall
Maintained
Code review
PyPI
Latest release
Releases this year
(top 24 of 49)
119 followers · starred Jul 2021
40,675 followers · starred Jan 2021
189 followers · starred Feb 2021
242 followers · starred Sep 2021
A simple tool to update bib entries with their official information (e.g., DBLP or the ACL anthology).
See the codeReplace unofficial / arXiv BibTeX entries with official DBLP or ACL Anthology records. Cite keys are kept.
Install from GitHub only. We do not publish or support PyPI (pip install rebiber is a 2021 1.1.3 release).
Requires Python 3.10 or newer. Rebiber 1.4 uses bibtexparser 2 (>=2,<3).
uv tool install git+https://github.com/yuchenlin/rebiber
# or
pip install "rebiber @ git+https://github.com/yuchenlin/rebiber"
Develop from a checkout:
git clone https://github.com/yuchenlin/rebiber.git && cd rebiber
uv sync --extra dev # or: pip install -e ".[dev]"
uv run pytest
-d False is set.Omitting -o overwrites each -i file. Start with --dry-run.
rebiber -i refs.bib --dry-run
rebiber -i refs.bib --dry-run --report changes.txt
rebiber -i refs.bib -o refs.official.bib
rebiber -i refs.bib --used-in paper.tex appendix.tex
rebiber -i refs.bib --live-lookup # opt-in DBLP search after a local miss
rebiber -i *.bib -o ./normalized/
rebiber -i refs.bib --format-only -o pretty.bib
rebiber -i refs.bib --keep author,title,booktitle,journal,year,volume,number,pages,doi --protect-titles
Examples: examples/input.bib → examples/output.bib.
| Flag | Default | Meaning |
|---|---|---|
-i | required | One or more .bib files |
-o | in place | Output file, or a directory if -i has multiple files |
--dry-run | off | Print the change report; do not write .bib |
--report PATH | — | Also write the change report to a file |
--used-in TEX … | all keys | Only replace keys cited in these files (\cite / \citep / \citet / \citealp / \citeyear / \nocite). Unused keys are still pretty-printed and still affected by -r / -s / -st / -d |
--live-lookup | off | On a local miss, search DBLP by title (max 5 hits). Same author/title guards. Respect DBLP rate limits |
--keep FIELDS | keep all | Allowlist of fields (ID / ENTRYTYPE always kept) |
--protect-titles | off | Brace acronyms in titles (BERT, GPT-2, …) |
--format-only | off | Pretty-print only; no DB / DBLP / arXiv rewrite |
--no-check-authors | off | Skip last-name overlap (empty authors still do not match) |
-r | none | Drop fields, e.g. -r url,biburl,timestamp |
-s True | False | Shorten venues via rebiber/abbr.tsv |
-d False | True | Keep duplicate cite keys |
-st True | False | Sort entries by cite key |
-l / -a | packaged | Custom bib_list.txt / abbr.tsv |
-u | — | Refresh packaged dumps from GitHub main |
-v | — | Print version |
Leftover unofficial arXiv entries may still query the arXiv API for year / primaryClass. Use --format-only for a fully offline run.
--no-check-authors). Trailing et al. / et.al. / and others are stripped.16x16 ≠ 32x32), then the letters-only key used by older dumps.@misc with eprint / archivePrefix / primaryClass. Already-published papers are not rewritten because an abstract mentions arXiv.Build a dump JSON:
uv run python -m rebiber.bib2json -i path/to/conf.bib -o path/to/conf.json
@article{lin2020birds,
title={Birds have four legs?! NumerSense: Probing Numerical Commonsense Knowledge of Pre-trained Language Models},
author={Lin, Bill Yuchen and Lee, Seyeon and Khanna, Rahul and Ren, Xiang},
journal={arXiv preprint arXiv:2005.00683},
year={2020}
}
becomes the official EMNLP 2020 @inproceedings (same cite key), with anthology URL and DOI.
Toggle files in rebiber/bib_list.txt. ACL Anthology includes *CL main conferences and workshops. Other dumps are main tracks only (no CVPR/ICCV workshops).
A monthly Action opens a PR with fresh DBLP + anthology data. Years below are what is in this repo, not “whatever DBLP has tomorrow.”
Kept current (monthly job + recent dumps)
| Venue | Years |
|---|---|
| ACL Anthology | current (split acl_1/2/3.json) |
| AAAI | 2010–2026 |
| ACCV | 2022, 2024 |
| AISTATS | 2013–2025 |
| BMVC | 2010–2024 |
| CHI | 2010–2026 |
| CVPR | 2000–2025 |
| ECCV | 2022, 2024 |
| ICASSP | 2015–2025 |
| ICCV | odd years 2003–2025 |
| ICLR | 2013–2025 |
| ICML | 2000–2025 |
| IJCAI | 2011, 2013, 2015–2025 |
| INTERSPEECH | 2016–2025 |
| KDD | 2010–2026 |
| ICRA / IROS | 2020–2025 (main) |
| RSS / CoRL | 2020–2024 (main) |
| JMLR | 2020–2026 |
| TMLR | 2022–2026 |
| WACV | 2022–2026 |
| MLSys | 2019–2025 |
| MICCAI | 2022–2025 (main) |
| NeurIPS | 2000–2025 |
| SIGIR | 2010–2026 |
| UAI | 2010–2025 |
| WWW | 2001–2026 |
Not in the index: COLM (empty DBLP toc). ICLR/ICML/CVPR 2026, RSS/CoRL 2025, ECCV 2026 — not on DBLP yet.
Historical (frozen ~2020): ALENEX, ASONAM, BigData, CIDR, CIKM, COLT, MM, RecSys, SDM, SIGMOD (through 2022; later years are PACMMOD), SODA, STOC, WSDM.
Thanks to Anton Tsitsulin for the original dump collection.
uv run python -m rebiber.download_dblp --confs iclr --start-year 2026
That writes rebiber/data/{conf}{year}.bib.json and appends bib_list.txt when needed. PRs welcome.
In-repo SVGs, refreshed weekly from the GitHub API (no third-party token).
Overall
Maintained
Code review
PyPI
Latest release
Releases this year
(top 24 of 49)
119 followers · starred Jul 2021
40,675 followers · starred Jan 2021
189 followers · starred Feb 2021
242 followers · starred Sep 2021