biblioflow

Python-native bibliographic metadata and bibliometrics workflows.

biblioflow

biblioflow is a Python-native toolkit for bibliographic metadata, bibliometrics, science mapping, and literature-review data workflows. It is inspired by the R bibliometrics ecosystem, especially bibliometrix, while keeping Pythonic names, plain data objects, and lightweight packaging.

Core library

biblioflow provides ingestion, normalization, validation, descriptive analysis, matrices, networks, mapping helpers, exports, and a CLI. Supported source workflows include BibTeX, RIS, Scopus CSV, Web of Science plain text, OpenAlex JSON/API, and Crossref JSON/API.

Web application

biblioflow-web packages a FastAPI backend with a React frontend bundled into the Python wheel for browser-based workflows.

Notebook application

biblioflow-nb provides an ipywidgets application for Jupyter notebooks and Google Colab while delegating computation to the core library.

Repository packages

Package Distribution name Main entry point Purpose
Core library biblioflow import biblioflow as bf Bibliographic data loading, normalization, analysis, matrices, networks, mapping, and export.
Web app biblioflow-web biblioflow-web FastAPI application that serves API routes and bundled React assets.
Notebook app biblioflow-nb import biblioflow_nb as bfn Jupyter/Colab widget application that mirrors the web workflow.

Minimal Python workflow

import biblioflow as bf

records = bf.load("data/scopus_export.bib", source="scopus")
summary = bf.analyze(records)
network = bf.network(records, kind="co_occurrence", unit="keywords_all")
bf.export(network, "keyword-network.graphml", format="graphml")

Prefer the source= keyword in new code:

dataset = bf.load("data/scopus_export.csv", source="scopus")
dataset = bf.load("data/savedrecs.txt", source="wos")

What biblioflow focuses on

  • File-based bibliographic ingestion for common export formats and major providers, including Web of Science, Scopus, OpenAlex, Crossref, PubMed, BibTeX, and RIS.
  • Canonical metadata records with raw-record traceability.
  • Structured validation warnings instead of silent data loss.
  • Pythonic APIs for bibliometric summaries, matrix construction, network construction, and science-mapping helpers.
  • Browser and notebook applications that reuse the same core library instead of reimplementing analysis logic.

Naming policy

The project name is biblioflow for the PyPI package, Python import package, and command-line interface. The web and notebook applications are published as biblioflow-web and biblioflow-nb. Do not document or add a hyphenated biblio-flow alias.