Skip to main content

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, or s2.
  • Verify a free-form citation string against real metadata.
  • Batch-resolve DOI/PMID lists.
  • Format references in nature, apa, vancouver, bibtex, cell, or science style.
  • Audit .docx manuscripts for broken inline citation superscripts.
  • Auto-fix known broken .docx citation 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:

  1. Resolve every known DOI with pubchatter doi <doi>.
  2. For uncertain references, use pubchatter search, pubchatter pubmed, pubchatter crossref, or pubchatter s2.
  3. Verify free-form references with pubchatter verify "<citation>".
  4. Run pubchatter check-super <file.docx> before submission.
  5. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pubchatter-0.1.0.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pubchatter-0.1.0-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

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

Hashes for pubchatter-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7ddaa6b8e4fd9134878c0ffa2e5563d98097ae4a6087a803e7eb7f3dd512164d
MD5 705880785c23960c2db15a4d4c6a14c2
BLAKE2b-256 88428e183bdac95c11e7747c9d9e787d3603561552c3f82ec8982de804e837c8

See more details on using hashes here.

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

Hashes for pubchatter-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f09a4f66d3312c016109b1cdc30c92b02ab9ca6a4186b184025f2ecbe8819f32
MD5 d4eb0b5891e0ce7128e5b7b160f0318a
BLAKE2b-256 67eabb78411019c5c1660807536d1e53c019f5cbd35e1f769fee39eac4a06bda

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page