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.2.tar.gz (101.6 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.2-py3-none-any.whl (103.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pubnetwork-0.1.2.tar.gz
  • Upload date:
  • Size: 101.6 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.2.tar.gz
Algorithm Hash digest
SHA256 760e2758b3d94e582c9608ca139843fcc51f177cee95b23dcedbf9a8e8be1b87
MD5 19dbb45bbf03e8f2bc3905984815ab47
BLAKE2b-256 3419dba347670c06f711a28f72ba2c22c52710f6ef23885a74ab7690ac89e2a0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pubnetwork-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1ec2689c9760a78c6027d5764b34cd1e4432342e518498caf75ec2d540274f46
MD5 b410064cce24e3397b580cba0c1a6f03
BLAKE2b-256 e04680d3acd1c393ada68e4d03d655d6530f2a985e5963d60533303c46de2de0

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