Skip to main content

BiblioAudit

DOI CI License: MIT Python 3.9+

BiblioAudit is a command-line tool that checks and verifies citations in BibTeX (.bib) files. It cross-checks references across more than 12 academic databases in parallel to confirm that entries exist, identify missing or broken DOIs, correct publication years and journal names, and locate legal open-access PDFs.

It also includes an automated re-check loop (--loop) that repairs metadata, generates a corrected BibTeX library via doi2bib, and verifies that all corrections pass validation.


Example Output

========================================================================
  BiblioAudit v2.2.0 - Reference Integrity & Verification System
========================================================================
  Cascading Triangulation Matrix: 12 Academic Databases

[*] Reading bibliography: References/sn-bibliography.bib
[*] Found 42 entries. Starting AUDIT...
[*] Processing 42 references (Concurrency limit: 6)...

  [VERIFIED]  (100%) Moskal2014          -> Crossref (DOI)
  [VERIFIED]  (100%) Tiwari2025          -> Crossref (DOI)
  [VERIFIED]  (100%) Spencer2021         -> Crossref (Search)
  [VERIFIED]  (100%) Tiwari_BiblioAudit  -> DataCite (DOI)
  [ATTENTION] ( 75%) Liu2021             -> Crossref (Search)
        └─ Year: BibTeX='2021' vs Record='2025'
  [NOT FOUND] (  0%) NEMA2018            -> Missing in all queried databases

============================================================
                      AUDIT SUMMARY
============================================================
  Total References Audited : 42
  Verified Clean (>90%)    :   35  ( 83.3%)
  Needs Attention          :    4  (  9.5%)
  Not Found                :    3  (  7.1%)
  Total Time Elapsed       : 12.59s
============================================================
[+] Audit CSV report saved to: References/sn-bibliography_report.csv
[+] Corrected BibTeX library saved to: References/sn-bibliography_fixed.bib

Supported Academic Databases

BiblioAudit queries the following scientific databases in parallel:

Database Coverage and Specialization Query Method
Crossref Primary registry for journal articles, conference proceedings, and books DOI, Title, Author
DataCite Research datasets, software records, and Zenodo deposits DOI, Title, Keyword
OpenAlex Global index covering 250M+ scientific publications DOI, Title, Author
Semantic Scholar Multidisciplinary literature and computer science graph DOI, Title, Author
arXiv Preprints in physics, mathematics, and computer science Title, Author
PubMed Biomedical and clinical literature (NLM/NIH) E-utilities Search
Europe PMC Medical physics, clinical research, and European open access REST Search, DOI
DOAJ Peer-reviewed open access journals worldwide Title Search
HAL Open Science European multidisciplinary open archive (CNRS, INRIA, CEA) Field Search
Zenodo Open research code, software citations, and data archives REST Records API
INSPIRE HEP High-energy physics, astrophysics, and quantum field theory Literature Search
NASA ADS Astrophysics, astronomy, and planetary physics literature Search API (optional token)
Unpaywall Legal open-access PDF discovery DOI lookup
OpenCitations Citation metrics and citation network counts COCI DOI index

Installation

From Source

  1. Clone the repository:

    git clone https://github.com/Official-Satyam-Tiwari/Reference-Architect.git
    cd Reference-Architect
    
  2. Install dependencies:

    pip install -r requirements.txt
    

Optional Package Install

To make the biblioaudit command directly available from anywhere in your terminal:

pip install -e .

Usage

Run the tool from your terminal:

python biblioaudit.py [path-to-bib-file-or-folder] [options]

If you do not specify a path, BiblioAudit automatically checks files in the References/ directory.

Options

Option Description Default
-o, --output File path for the CSV report <filename>_audit_report.csv
--fix-bib File path to export corrected BibTeX entries None
--loop Run automated feedback loop: re-audits the corrected file and reports convergence metrics False
-r, --rate Maximum number of concurrent requests 4
-v, --verbose Print field-by-field differences for mismatched citations False
--version Show program version
-h, --help Show command-line help message

Examples

1. Basic Check

Check a bibliography file and print progress to the console:

python biblioaudit.py References/sn-bibliography.bib

2. Automated Re-Check Loop

Audits the original file, repairs citations via doi2bib, immediately re-checks the repaired file, and prints a before-and-after convergence report:

python biblioaudit.py References/sn-bibliography.bib --loop

3. Generate Reports and Corrected BibTeX

Save a detailed CSV report and write official publisher BibTeX records:

python biblioaudit.py References/sn-bibliography.bib -o report.csv --fix-bib fixed.bib

4. Fast Processing with Detailed Field Differences

Increase the request rate and print field-by-field differences for mismatched citations:

python biblioaudit.py References/sn-bibliography.bib --rate 6 --verbose

Project Structure

Reference-Architect/
├── References/              # Directory for your .bib files (ignored by git)
│   └── sn-bibliography.bib
├── biblioaudit.py           # Main runner, engines, and verification logic
├── utility.py               # Text similarity, BibTeX parsing, and CSV exports
├── requirements.txt         # Package dependencies
├── pyproject.toml           # Packaging metadata
├── CITATION.cff             # Citation metadata for GitHub
├── LICENSE                  # MIT License
└── README.md                # Documentation

Citation

If you use BiblioAudit in your research, please cite:

Tiwari, S. (2025). BiblioAudit: Automated Citation Integrity & Verification Tool (Version 2.2.0) [Software]. Zenodo. https://doi.org/10.5281/zenodo.18155557

@software{Tiwari_BiblioAudit_2025,
  author = {Tiwari, Satyam},
  title = {{BiblioAudit: Automated Citation Integrity & Verification Tool}},
  version = {2.2.0},
  year = {2025},
  publisher = {Zenodo},
  doi = {10.5281/zenodo.18155557},
  url = {https://doi.org/10.5281/zenodo.18155557}
}

License

This project is licensed under the MIT License. See the LICENSE file for details.

Metadata

Release files for biblioaudit 2.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for biblioaudit 2.2.0
File Size Uploaded Provenance
biblioaudit-2.2.0.tar.gz 20.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for biblioaudit 2.2.0
File Interpreter ABI Platform
biblioaudit-2.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 40.5 kB

Release files / biblioaudit-2.2.0.tar.gz

Download URL biblioaudit-2.2.0.tar.gz
Size 20.0 kB
Tags Source
SHA-256 checksum
How to use checksums
f0075e35d3eb28cc68e1d4f8e6db09aee9abc7278cb906adae17821c16430c64
BLAKE2b-256 checksum
How to use checksums
25d5f6c54da4e809217eafedb1aeab1a959fb1bc2342fcba7fe7d901ad46c409
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release files / biblioaudit-2.2.0-py3-none-any.whl

Download URL biblioaudit-2.2.0-py3-none-any.whl
Size 20.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dd3854f357df98d3cef5f4f257bc246df9d3135505f08a74786c5d5163eed163
BLAKE2b-256 checksum
How to use checksums
17e168c1161b8399e4d970b53ee651f0318d21d40dc052bd31a22e1a3af2a2e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Security for biblioaudit 2.2.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page