Citation metadata resolver, formatter, verifier, and manuscript citation audit CLI.
Project description
PubChatter
PubChatter is a standalone citation-verification CLI and drop-in agent plugin for resolving scholarly metadata from real sources before citations are written into manuscripts.
It uses public metadata APIs and does not require API keys:
- CrossRef for DOI resolution and general scholarly search
- PubMed E-utilities for biomedical PMID lookup and PubMed search
- Semantic Scholar for citation counts, abstracts, and CS/bio search
- OpenAlex for DOI fallback and open scholarly metadata
Capabilities
- Resolve DOI metadata into structured JSON or formatted citations.
- Resolve PubMed IDs.
- Search across CrossRef, PubMed, and Semantic Scholar.
- Search one source directly with
pubmed,crossref, ors2. - Verify a free-form citation string against real metadata.
- Batch-resolve DOI/PMID lists.
- Format references in
nature,apa,vancouver,bibtex,cell, orsciencestyle. - Audit
.docxmanuscripts for broken inline citation superscripts. - Auto-fix known broken
.docxcitation superscripts for common method names. - Report DOI coverage in manuscript reference lists.
Standalone Install
From PyPI:
python -m pip install pubchatter
From GitHub:
python -m pip install "git+https://github.com/nanogenomic/pubchatter.git"
From a local checkout:
python -m pip install -e .
Then run:
pubchatter --help
python-docx is declared as a dependency so the .docx audit commands work after installation.
Plugin-Style Install
PubChatter can also be used as a drop-in local plugin by placing this directory at:
~/.claude/plugins/pubchatter
For a local executable wrapper:
mkdir -p ~/.local/bin
ln -sf ~/.claude/plugins/pubchatter/cli.py ~/.local/bin/pubchatter
chmod +x ~/.claude/plugins/pubchatter/cli.py
If you prefer the wrapper script used in the original local setup:
#!/usr/bin/env bash
exec python3 ~/.claude/plugins/pubchatter/cli.py "$@"
Examples
Resolve a DOI:
pubchatter doi 10.1038/s41586-021-03819-2
Return JSON:
pubchatter doi 10.1038/s41586-021-03819-2 --json
Format a citation:
pubchatter format 10.1038/s41586-021-03819-2 --style nature
Search broadly:
pubchatter search "peptide binder design deep learning" --max-results 5
Search one source:
pubchatter pubmed "protein protein binding affinity"
pubchatter crossref "AlphaFold protein structure prediction"
pubchatter s2 "discrete diffusion language model"
Verify a citation:
pubchatter verify "Jumper, J. et al. Highly accurate protein structure prediction with AlphaFold. Nature 596, 583-589 (2021). https://doi.org/10.1038/s41586-021-03819-2"
Batch-resolve identifiers:
pubchatter batch dois.txt --style science
Audit a manuscript:
pubchatter check-super manuscript.docx
pubchatter check-super manuscript.docx --json
Fix known broken superscript citations in place:
pubchatter fix-super manuscript.docx
Write the fixed copy to a new file:
pubchatter fix-super manuscript.docx --output manuscript.citation-fixed.docx
Manuscript Citation Workflow
Recommended agent workflow:
- Resolve every known DOI with
pubchatter doi <doi>. - For uncertain references, use
pubchatter search,pubchatter pubmed,pubchatter crossref, orpubchatter s2. - Verify free-form references with
pubchatter verify "<citation>". - Run
pubchatter check-super <file.docx>before submission. - Use
pubchatter fix-super <file.docx> --output <fixed.docx>only after reviewing the reported changes.
Notes
- PubChatter is metadata-first. It should flag uncertainty instead of inventing citation details.
- Some canonical scholarly records do not have DOI metadata, especially OpenReview pages, GitHub software references, and selected arXiv or conference pages. Use their canonical URLs when a DOI is unavailable.
- Citation verification is search-based for free-form strings; always inspect warnings about keyword matches or mismatched authors/years.
License
MIT. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pubchatter-0.1.0.tar.gz.
File metadata
- Download URL: pubchatter-0.1.0.tar.gz
- Upload date:
- Size: 18.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ddaa6b8e4fd9134878c0ffa2e5563d98097ae4a6087a803e7eb7f3dd512164d
|
|
| MD5 |
705880785c23960c2db15a4d4c6a14c2
|
|
| BLAKE2b-256 |
88428e183bdac95c11e7747c9d9e787d3603561552c3f82ec8982de804e837c8
|
File details
Details for the file pubchatter-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pubchatter-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f09a4f66d3312c016109b1cdc30c92b02ab9ca6a4186b184025f2ecbe8819f32
|
|
| MD5 |
d4eb0b5891e0ce7128e5b7b160f0318a
|
|
| BLAKE2b-256 |
67eabb78411019c5c1660807536d1e53c019f5cbd35e1f769fee39eac4a06bda
|