Metadata-Version: 2.4
Name: biblium
Version: 2.19.1
Summary: Comprehensive Python library for bibliometric analysis of scientific literature
Author-email: Lan Umek <lan.umek@fu.uni-lj.si>
License-Expression: MIT
Project-URL: Homepage, https://github.com/lan-umek/biblium
Project-URL: Documentation, https://github.com/lan-umek/biblium#readme
Project-URL: Repository, https://github.com/lan-umek/biblium
Project-URL: Issues, https://github.com/lan-umek/biblium/issues
Keywords: bibliometrics,scientometrics,citation analysis,scopus,web of science,openalex,pubmed,network analysis,topic modeling
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: X11 Applications
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Text Processing :: General
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas>=1.5.0
Requires-Dist: numpy>=1.23.0
Requires-Dist: openpyxl>=3.0.0
Requires-Dist: xlsxwriter>=3.0.0
Requires-Dist: matplotlib>=3.6.0
Requires-Dist: seaborn>=0.12.0
Requires-Dist: pillow>=9.0.0
Requires-Dist: wordcloud>=1.9.0
Requires-Dist: adjustText>=0.8
Requires-Dist: squarify>=0.4.0
Requires-Dist: networkx>=2.8.0
Requires-Dist: nltk>=3.8.0
Requires-Dist: scikit-learn>=1.2.0
Requires-Dist: scipy>=1.10.0
Requires-Dist: statsmodels>=0.14.0
Requires-Dist: python-docx>=0.8.0
Requires-Dist: python-pptx>=0.6.0
Requires-Dist: reportlab>=4.0.0
Requires-Dist: requests>=2.28.0
Requires-Dist: tqdm>=4.65.0
Requires-Dist: thefuzz>=0.20.0
Requires-Dist: rapidfuzz>=3.0.0
Requires-Dist: beautifulsoup4>=4.12.0
Requires-Dist: lxml>=4.9.0
Provides-Extra: llm
Requires-Dist: openai>=1.0.0; extra == "llm"
Requires-Dist: anthropic>=0.18.0; extra == "llm"
Requires-Dist: huggingface_hub>=0.19.0; extra == "llm"
Provides-Extra: nlp
Requires-Dist: gensim>=4.3.0; extra == "nlp"
Requires-Dist: spacy>=3.5.0; extra == "nlp"
Requires-Dist: sentence-transformers>=2.2.0; extra == "nlp"
Requires-Dist: bertopic>=0.15.0; extra == "nlp"
Requires-Dist: textblob>=0.17.0; extra == "nlp"
Requires-Dist: pyLDAvis>=3.4.0; extra == "nlp"
Requires-Dist: transformers>=4.30.0; extra == "nlp"
Provides-Extra: geo
Requires-Dist: geopandas>=0.12.0; extra == "geo"
Requires-Dist: folium>=0.14.0; extra == "geo"
Requires-Dist: geopy>=2.3.0; extra == "geo"
Requires-Dist: pycountry>=22.0.0; extra == "geo"
Requires-Dist: shapely>=2.0.0; extra == "geo"
Provides-Extra: interactive
Requires-Dist: bokeh>=3.0.0; extra == "interactive"
Requires-Dist: plotly>=5.0.0; extra == "interactive"
Requires-Dist: pyvis>=0.3.0; extra == "interactive"
Requires-Dist: holoviews>=1.15.0; extra == "interactive"
Provides-Extra: ml
Requires-Dist: xgboost>=1.7.0; extra == "ml"
Requires-Dist: lightgbm>=3.3.0; extra == "ml"
Requires-Dist: umap-learn>=0.5.0; extra == "ml"
Requires-Dist: prince>=0.8.0; extra == "ml"
Provides-Extra: network
Requires-Dist: python-igraph>=0.10.0; extra == "network"
Requires-Dist: python-louvain>=0.16; extra == "network"
Provides-Extra: extra
Requires-Dist: upsetplot>=0.8.0; extra == "extra"
Requires-Dist: venn>=0.1.3; extra == "extra"
Requires-Dist: matplotlib-venn>=0.11.0; extra == "extra"
Requires-Dist: powerlaw>=1.5.0; extra == "extra"
Requires-Dist: psutil>=5.9.0; extra == "extra"
Requires-Dist: pyyaml>=6.0.0; extra == "extra"
Requires-Dist: ratelimit>=2.2.0; extra == "extra"
Provides-Extra: full
Requires-Dist: biblium[extra,geo,interactive,llm,ml,network,nlp]; extra == "full"
Dynamic: license-file

# biblium

**biblium** is a Python library (and a desktop GUI) for bibliometric and scientometric analysis of
Scopus, Web of Science, OpenAlex, PubMed, Dimensions, Lens.org and COBISS exports.

[![PyPI](https://img.shields.io/pypi/v/biblium.svg)](https://pypi.org/project/biblium/)
[![Tests](https://github.com/lan-umek/biblium/actions/workflows/tests.yml/badge.svg)](https://github.com/lan-umek/biblium/actions/workflows/tests.yml)

## Installation

```bash
pip install biblium                 # core
pip install "biblium[network]"      # + igraph / louvain partitions
pip install "biblium[full]"         # everything (LLM, NLP, geo, interactive plots, ML)
```

Python 3.10 or newer is required.

## Quick start

```python
from biblium import BiblioStats

bib = BiblioStats(f_name="scopus_export.csv", db="scopus")      # res_folder=None: nothing is written to disk
bib.get_main_info()
bib.count_sources(); bib.get_sources_stats()

# 2.19 indicators
bib.citation_css(by_year=True)                 # Characteristic Scores and Scales
bib.percentile_indicators("Source title")      # PP(top 10 %), PP(top 1 %), MNCS
bib.reference_age()                            # Price index, citing half-life
bib.concentration("Authors", plot=True)        # Lorenz curve, Gini, Theil
bib.rpys_patterns()                            # RPYS + hot papers / sleeping beauties / life cycles
bib.dual_map(plot=True)                        # citing vs cited disciplines (ASJC)
bib.extract_terms()                            # VOSviewer-style terms with relevance scores
print(bib.methods_text("en"))                  # reproducible "Methods" paragraph with references
```

Pass `res_folder="results"` to save every table (xlsx) and figure (png/svg/pdf) automatically.

## Group analysis

```python
from biblium import BiblioGroupAnalysis
grp = BiblioGroupAnalysis(f_name="scopus_export.csv", db="scopus", group_matrix=groups)
grp.association_tests(permutations=999)
```

## Desktop application

```bash
biblium-gui
```

The Tkinter application exposes the whole library in ~90 panels (data loading and API harvesting,
counts and statistics, bibliometric laws, networks, thematic maps and evolution, topic models,
group analysis, PRISMA, metadata completion, journal rankings, funding, RPYS, dual-map overlay,
snowballing, term extraction, reports).

## Citing

Umek, L. (2026). Biblium: a Python library for comparative bibliometric analysis. *Scientometrics*.
https://doi.org/10.1007/s11192-026-05636-8

## License

MIT
