biblioaudit 2.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- biblioaudit-2.2.0.dist-info/METADATA +213 -0
- biblioaudit-2.2.0.dist-info/RECORD +8 -0
- biblioaudit-2.2.0.dist-info/WHEEL +5 -0
- biblioaudit-2.2.0.dist-info/entry_points.txt +2 -0
- biblioaudit-2.2.0.dist-info/licenses/LICENSE +21 -0
- biblioaudit-2.2.0.dist-info/top_level.txt +2 -0
- biblioaudit.py +1121 -0
- utility.py +312 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: biblioaudit
|
|
3
|
+
Version: 2.2.0
|
|
4
|
+
Summary: Automated reference integrity and citation verification tool
|
|
5
|
+
Author-email: Satyam Tiwari <satyam.tiwari@doctoral.uj.edu.pl>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/Official-Satyam-Tiwari/Reference-Architect
|
|
8
|
+
Project-URL: Bug Tracker, https://github.com/Official-Satyam-Tiwari/Reference-Architect/issues
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Topic :: Scientific/Engineering
|
|
12
|
+
Classifier: Topic :: Text Processing :: Markup :: LaTeX
|
|
13
|
+
Requires-Python: >=3.9
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
License-File: LICENSE
|
|
16
|
+
Requires-Dist: bibtexparser
|
|
17
|
+
Requires-Dist: aiohttp
|
|
18
|
+
Requires-Dist: pandas
|
|
19
|
+
Requires-Dist: xmltodict
|
|
20
|
+
Requires-Dist: doi2bib
|
|
21
|
+
Dynamic: license-file
|
|
22
|
+
|
|
23
|
+
# BiblioAudit
|
|
24
|
+
|
|
25
|
+
[](https://doi.org/10.5281/zenodo.18155557)
|
|
26
|
+
[](https://github.com/Official-Satyam-Tiwari/Reference-Architect/actions)
|
|
27
|
+
[](https://opensource.org/licenses/MIT)
|
|
28
|
+
[](https://www.python.org/downloads/)
|
|
29
|
+
|
|
30
|
+
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.
|
|
31
|
+
|
|
32
|
+
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.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Example Output
|
|
37
|
+
|
|
38
|
+
```text
|
|
39
|
+
========================================================================
|
|
40
|
+
BiblioAudit v2.2.0 - Reference Integrity & Verification System
|
|
41
|
+
========================================================================
|
|
42
|
+
Cascading Triangulation Matrix: 12 Academic Databases
|
|
43
|
+
|
|
44
|
+
[*] Reading bibliography: References/sn-bibliography.bib
|
|
45
|
+
[*] Found 42 entries. Starting AUDIT...
|
|
46
|
+
[*] Processing 42 references (Concurrency limit: 6)...
|
|
47
|
+
|
|
48
|
+
[VERIFIED] (100%) Moskal2014 -> Crossref (DOI)
|
|
49
|
+
[VERIFIED] (100%) Tiwari2025 -> Crossref (DOI)
|
|
50
|
+
[VERIFIED] (100%) Spencer2021 -> Crossref (Search)
|
|
51
|
+
[VERIFIED] (100%) Tiwari_BiblioAudit -> DataCite (DOI)
|
|
52
|
+
[ATTENTION] ( 75%) Liu2021 -> Crossref (Search)
|
|
53
|
+
└─ Year: BibTeX='2021' vs Record='2025'
|
|
54
|
+
[NOT FOUND] ( 0%) NEMA2018 -> Missing in all queried databases
|
|
55
|
+
|
|
56
|
+
============================================================
|
|
57
|
+
AUDIT SUMMARY
|
|
58
|
+
============================================================
|
|
59
|
+
Total References Audited : 42
|
|
60
|
+
Verified Clean (>90%) : 35 ( 83.3%)
|
|
61
|
+
Needs Attention : 4 ( 9.5%)
|
|
62
|
+
Not Found : 3 ( 7.1%)
|
|
63
|
+
Total Time Elapsed : 12.59s
|
|
64
|
+
============================================================
|
|
65
|
+
[+] Audit CSV report saved to: References/sn-bibliography_report.csv
|
|
66
|
+
[+] Corrected BibTeX library saved to: References/sn-bibliography_fixed.bib
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Supported Academic Databases
|
|
72
|
+
|
|
73
|
+
BiblioAudit queries the following scientific databases in parallel:
|
|
74
|
+
|
|
75
|
+
| Database | Coverage and Specialization | Query Method |
|
|
76
|
+
|---|---|---|
|
|
77
|
+
| **Crossref** | Primary registry for journal articles, conference proceedings, and books | DOI, Title, Author |
|
|
78
|
+
| **DataCite** | Research datasets, software records, and Zenodo deposits | DOI, Title, Keyword |
|
|
79
|
+
| **OpenAlex** | Global index covering 250M+ scientific publications | DOI, Title, Author |
|
|
80
|
+
| **Semantic Scholar** | Multidisciplinary literature and computer science graph | DOI, Title, Author |
|
|
81
|
+
| **arXiv** | Preprints in physics, mathematics, and computer science | Title, Author |
|
|
82
|
+
| **PubMed** | Biomedical and clinical literature (NLM/NIH) | E-utilities Search |
|
|
83
|
+
| **Europe PMC** | Medical physics, clinical research, and European open access | REST Search, DOI |
|
|
84
|
+
| **DOAJ** | Peer-reviewed open access journals worldwide | Title Search |
|
|
85
|
+
| **HAL Open Science** | European multidisciplinary open archive (CNRS, INRIA, CEA) | Field Search |
|
|
86
|
+
| **Zenodo** | Open research code, software citations, and data archives | REST Records API |
|
|
87
|
+
| **INSPIRE HEP** | High-energy physics, astrophysics, and quantum field theory | Literature Search |
|
|
88
|
+
| **NASA ADS** | Astrophysics, astronomy, and planetary physics literature | Search API (optional token) |
|
|
89
|
+
| **Unpaywall** | Legal open-access PDF discovery | DOI lookup |
|
|
90
|
+
| **OpenCitations** | Citation metrics and citation network counts | COCI DOI index |
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Installation
|
|
95
|
+
|
|
96
|
+
### From Source
|
|
97
|
+
|
|
98
|
+
1. Clone the repository:
|
|
99
|
+
```bash
|
|
100
|
+
git clone https://github.com/Official-Satyam-Tiwari/Reference-Architect.git
|
|
101
|
+
cd Reference-Architect
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
2. Install dependencies:
|
|
105
|
+
```bash
|
|
106
|
+
pip install -r requirements.txt
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Optional Package Install
|
|
110
|
+
|
|
111
|
+
To make the `biblioaudit` command directly available from anywhere in your terminal:
|
|
112
|
+
```bash
|
|
113
|
+
pip install -e .
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Usage
|
|
119
|
+
|
|
120
|
+
Run the tool from your terminal:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
python biblioaudit.py [path-to-bib-file-or-folder] [options]
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
If you do not specify a path, BiblioAudit automatically checks files in the `References/` directory.
|
|
127
|
+
|
|
128
|
+
### Options
|
|
129
|
+
|
|
130
|
+
| Option | Description | Default |
|
|
131
|
+
|---|---|---|
|
|
132
|
+
| `-o`, `--output` | File path for the CSV report | `<filename>_audit_report.csv` |
|
|
133
|
+
| `--fix-bib` | File path to export corrected BibTeX entries | None |
|
|
134
|
+
| `--loop` | Run automated feedback loop: re-audits the corrected file and reports convergence metrics | `False` |
|
|
135
|
+
| `-r`, `--rate` | Maximum number of concurrent requests | `4` |
|
|
136
|
+
| `-v`, `--verbose` | Print field-by-field differences for mismatched citations | `False` |
|
|
137
|
+
| `--version` | Show program version | |
|
|
138
|
+
| `-h`, `--help` | Show command-line help message | |
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Examples
|
|
143
|
+
|
|
144
|
+
### 1. Basic Check
|
|
145
|
+
|
|
146
|
+
Check a bibliography file and print progress to the console:
|
|
147
|
+
```bash
|
|
148
|
+
python biblioaudit.py References/sn-bibliography.bib
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### 2. Automated Re-Check Loop
|
|
152
|
+
|
|
153
|
+
Audits the original file, repairs citations via `doi2bib`, immediately re-checks the repaired file, and prints a before-and-after convergence report:
|
|
154
|
+
```bash
|
|
155
|
+
python biblioaudit.py References/sn-bibliography.bib --loop
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 3. Generate Reports and Corrected BibTeX
|
|
159
|
+
|
|
160
|
+
Save a detailed CSV report and write official publisher BibTeX records:
|
|
161
|
+
```bash
|
|
162
|
+
python biblioaudit.py References/sn-bibliography.bib -o report.csv --fix-bib fixed.bib
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### 4. Fast Processing with Detailed Field Differences
|
|
166
|
+
|
|
167
|
+
Increase the request rate and print field-by-field differences for mismatched citations:
|
|
168
|
+
```bash
|
|
169
|
+
python biblioaudit.py References/sn-bibliography.bib --rate 6 --verbose
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Project Structure
|
|
175
|
+
|
|
176
|
+
```text
|
|
177
|
+
Reference-Architect/
|
|
178
|
+
├── References/ # Directory for your .bib files (ignored by git)
|
|
179
|
+
│ └── sn-bibliography.bib
|
|
180
|
+
├── biblioaudit.py # Main runner, engines, and verification logic
|
|
181
|
+
├── utility.py # Text similarity, BibTeX parsing, and CSV exports
|
|
182
|
+
├── requirements.txt # Package dependencies
|
|
183
|
+
├── pyproject.toml # Packaging metadata
|
|
184
|
+
├── CITATION.cff # Citation metadata for GitHub
|
|
185
|
+
├── LICENSE # MIT License
|
|
186
|
+
└── README.md # Documentation
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Citation
|
|
192
|
+
|
|
193
|
+
If you use BiblioAudit in your research, please cite:
|
|
194
|
+
|
|
195
|
+
> Tiwari, S. (2025). BiblioAudit: Automated Citation Integrity & Verification Tool (Version 2.2.0) [Software]. Zenodo. https://doi.org/10.5281/zenodo.18155557
|
|
196
|
+
|
|
197
|
+
```bibtex
|
|
198
|
+
@software{Tiwari_BiblioAudit_2025,
|
|
199
|
+
author = {Tiwari, Satyam},
|
|
200
|
+
title = {{BiblioAudit: Automated Citation Integrity & Verification Tool}},
|
|
201
|
+
version = {2.2.0},
|
|
202
|
+
year = {2025},
|
|
203
|
+
publisher = {Zenodo},
|
|
204
|
+
doi = {10.5281/zenodo.18155557},
|
|
205
|
+
url = {https://doi.org/10.5281/zenodo.18155557}
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## License
|
|
212
|
+
|
|
213
|
+
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
biblioaudit.py,sha256=K_ZiMlfsCkFa0xbyiE7VROAQGkX-sku_lqvvJs-dMbc,56757
|
|
2
|
+
utility.py,sha256=gNpmlKd6jmeKmYbBSCE-akw9YBh6BomeDduBCpjcLuQ,12906
|
|
3
|
+
biblioaudit-2.2.0.dist-info/licenses/LICENSE,sha256=TqvJtqe0wiUT34lhhmZdDIW7YyL8_Wg2lA5c7wWgMmo,1075
|
|
4
|
+
biblioaudit-2.2.0.dist-info/METADATA,sha256=YiU4367BK9dXt5s7aG-sxhHlwVw_CFGtqEtaDEL_uUw,8333
|
|
5
|
+
biblioaudit-2.2.0.dist-info/WHEEL,sha256=a-udL2m4V_6Yn8b-uKzWb12RjRxwwMo6ohYFM24tpaY,91
|
|
6
|
+
biblioaudit-2.2.0.dist-info/entry_points.txt,sha256=ABGy8wt2jnxBw4P1_Hvzit788CqVGO4qdJfEjhGvYB0,49
|
|
7
|
+
biblioaudit-2.2.0.dist-info/top_level.txt,sha256=P-o08gV3TXcWrAbYDAJXryFaR6iAF_J-1qjUHHsKNVY,20
|
|
8
|
+
biblioaudit-2.2.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025-2026 Satyam Tiwari
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|