Skip to main content

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

Project description

PubNet

Publication network analyser for researchers. Given a Google Scholar profile, PubNet fetches your publications and generates interactive visualisations: co-author networks, citation trends, topic clusters, journal impact factors, and formatted references.

Features

  • Co-author network graph - interactive force-directed graph showing collaboration patterns
  • Citation trends - yearly citation counts with rolling h-index overlay
  • Publications per year - output volume over time
  • Topic clusters - TF-IDF + k-means clustering of research themes
  • Journal impact factors - Scimago CSV lookup with OpenAlex API fallback
  • Crossref enrichment - corrects venue names and adds DOIs via free Crossref API
  • Reference formatting - APA, MLA, BibTeX, Vancouver, Chicago with copy-to-clipboard
  • Two interfaces - CLI (self-contained HTML report) and Dash GUI (live interactive exploration)

Install

pip install pubnetwork

Or for development:

git clone https://github.com/sanjiv856/pubnet.git
cd pubnet
pip install -e .

Requires Python 3.10+.

Quick start

Demo (bundled profile)

pubnet demo

Generates sanjiv_kumar_pubnet.html using the bundled Scholar profile.

Analyse a Scholar profile

pubnet analyze --scholar-url "https://scholar.google.com/citations?user=ML7X29AAAAAJ"

Or by author ID:

pubnet analyze --author-id ML7X29AAAAAJ

Interactive GUI

pubnet gui

Opens a Dash web app at http://localhost:8050 with sidebar navigation, filters, and interactive charts.

CLI options

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

Architecture

Fetch (scholarly) -> Clean/Dedup (rapidfuzz) -> Crossref Enrich -> Analyse -> Render

Core library with pure-function analysis modules shared by both CLI and GUI:

Module Purpose
fetch.py Scholar fetcher with JSON cache
analyze.py Co-author graph, citation trends, topic clusters, stats
formatters.py APA/MLA/BibTeX/Vancouver/Chicago references
journal_if.py Scimago CSV + OpenAlex API impact factors
crossref.py Free Crossref API for venue correction
report.py Jinja2 HTML report renderer
gui/ Dash interactive app

Cache management

pubnet cache list    # Show cached profiles
pubnet cache clear   # Remove all cached data

Profiles are cached to ~/.pubnet/cache/ to avoid repeated Scholar fetches.

Tech stack

Python 3.10+ with scholarly, pydantic, networkx, dash, dash-cytoscape, plotly, scikit-learn, click, jinja2, rapidfuzz.

Tests

pip install -e .
pytest tests/

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.0.tar.gz (99.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.0-py3-none-any.whl (101.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pubnetwork-0.1.0.tar.gz
  • Upload date:
  • Size: 99.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.0.tar.gz
Algorithm Hash digest
SHA256 aa21088b710d6c8d2251d3207d03b6d319462cb9ac1b4e47a2f04ea160ca2469
MD5 04fadac02a162ed09a9baf092771307e
BLAKE2b-256 06fe9e4bad58b848ae092fb1850e13399e3a058e36c3573a432065afac00754f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pubnetwork-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 101.5 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0519ef97b4648d75af4168f6b1d9428f3de59537c91f53c3251c1fa869ad8683
MD5 d5c19d458c985dbef8972e239a295291
BLAKE2b-256 966f9050a75a4d8827b2280cbdd5251f6acfce3ca6f01cadcf90c76da73d917c

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