Skip to main content

Publication network analyser — co-author graphs, citation trends, topic clusters from Google Scholar

Project description

PubNet

Visualise your research footprint. PubNet takes a Google Scholar profile and turns it into interactive visualisations — co-author networks, citation trends, topic clusters, journal impact factors, and formatted references — all from a single command.

Try the live demo — no install required.

What PubNet does

Paste any Google Scholar profile URL, and PubNet will:

  • Map your co-author network as an interactive force-directed graph
  • Chart your citation trends over time with a rolling h-index overlay
  • Track your publications per year to show research output
  • Cluster your work into research topics using TF-IDF and k-means
  • Look up journal impact factors from a bundled database of 4,600+ journals
  • Correct venue names via the Crossref API before impact factor lookup
  • Format every publication as a copyable reference in APA, MLA, BibTeX, Vancouver, or Chicago style
  • Export everything as JSON or CSV

PubNet has two interfaces: a CLI that generates self-contained HTML reports you can share, and an interactive web GUI for live exploration with filters, sorting, and cross-linked charts.

Quick start

Option 1: Try it online

Visit pubnetwork.onrender.com and click Analyze. A demo profile loads immediately. To analyse your own profile, paste your Google Scholar URL and click Analyze.

Option 2: Install locally

pip install pubnetwork

Requires Python 3.10+. Then:

# Generate an HTML report
pubnet analyze --scholar-url "https://scholar.google.com/citations?user=ML7X29AAAAAJ"

# Or launch the interactive GUI
pubnet gui

# Or try the bundled demo
pubnet demo

Option 3: Clone and develop

git clone https://github.com/sanjiv856/pubnet.git
cd pubnet
pip install -e ".[dev]"
pytest tests/

CLI reference

pubnet analyze [OPTIONS]

  --scholar-url TEXT           Google Scholar profile URL
  --author-id TEXT             Google Scholar author ID
  --builtin                    Use bundled demo profile
  --format [apa|mla|bibtex|vancouver|chicago]
                               Reference format (default: apa)
  --topics INTEGER             Number of topic clusters (default: 5)
  -o, --output PATH            Output HTML file path
  --no-cache                   Force fresh Scholar fetch
  --crossref / --no-crossref   Crossref venue correction (default: enabled)
  -v, --verbose                Debug logging

pubnet gui                     Launch interactive web GUI at localhost:8050
pubnet demo                    Generate report from bundled demo profile
pubnet cache list              Show cached profiles
pubnet cache clear             Remove all cached data

Profiles are cached to ~/.pubnet/cache/ so repeated analyses don't re-fetch from Scholar.

How it works

Scholar URL → Fetch → Clean/Dedup → Crossref Enrich → Analyse → Render

The core library is a set of pure-function modules shared by both CLI and GUI:

Module What it does
fetch.py Fetches Scholar profiles via SerpAPI or scholarly, with JSON caching
analyze.py Builds co-author graphs, citation trends, topic clusters, summary stats
formatters.py Formats references in APA, MLA, BibTeX, Vancouver, and Chicago styles
journal_if.py Looks up impact factors from a bundled 4,600-journal Scimago database, with OpenAlex API fallback
crossref.py Corrects venue names and retrieves DOIs via the free Crossref REST API
report.py Renders self-contained HTML reports with embedded Plotly charts
gui/ Dash web app with sidebar navigation, filters, and interactive cross-linked charts

Tech stack

Python 3.10+ with scholarly, pydantic, networkx, dash, dash-cytoscape, plotly, scikit-learn, click, jinja2, rapidfuzz, and SerpAPI for cloud deployment.

Tests

pytest tests/

142+ tests covering models, fetcher, analysis, formatters, report rendering, CLI, and GUI components.

License

PolyForm Noncommercial 1.0.0 — free for academic, educational, and non-commercial research use. Commercial use requires a separate license. See LICENSE for details.

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

pubnetwork-0.1.1.tar.gz (101.5 kB view details)

Uploaded Source

Built Distribution

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

pubnetwork-0.1.1-py3-none-any.whl (103.4 kB view details)

Uploaded Python 3

File details

Details for the file pubnetwork-0.1.1.tar.gz.

File metadata

  • Download URL: pubnetwork-0.1.1.tar.gz
  • Upload date:
  • Size: 101.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for pubnetwork-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e2d2e884a03603b73444cdb827fa0a6d76e83373cf92db4cbbe20c6389cd2dd0
MD5 cb6402e6116626d0dc88ff4410270cf4
BLAKE2b-256 01a57daf5fc1f55d702a6d935eee5e49e3eca50c3940d9864ecb3588b4c8d929

See more details on using hashes here.

File details

Details for the file pubnetwork-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pubnetwork-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 103.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for pubnetwork-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 462ca15a4e689a49983015c003f14dc761b3ef6a98148cab489e1951e0fb722e
MD5 024cf9f3592bd103700cf86e79c6ecb8
BLAKE2b-256 aa9bad3019f91e26605701621c86ecaeb15dc239050c786168f97d2a6fbdbbcc

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