Modern bibliometric analytics package for x-index, xd-index, ranking, benchmarking, and research evaluation.
Project description
pyxxdi
Modern Python package for bibliometric analytics, research evaluation, and expertise intelligence.
pyxxdi is the Python successor to the earlier R package xxdi, designed for scalable, transparent, and reproducible scientometric workflows.
Overview
pyxxdi provides production-grade tools for evaluating research strength, thematic expertise, institutional diversity, and scholarly performance using modern Python workflows.
The package is built for:
- researchers
- universities
- policy analysts
- ranking teams
- scientometricians
- research intelligence units
Core Focus Areas
- x-index
- xc-index
- xd-index
- xo-index
- xx-index
- xxd-index
- h-index
- g-index
- expertise diversity analytics
- institutional benchmarking
- ranking workflows
- portfolio intelligence
- reproducible research evaluation
Why pyxxdi?
Modern research analytics requires tools that are:
- transparent
- programmable
- scalable
- auditable
- publication-ready
- open-source
pyxxdi aims to provide:
- clean pandas-first APIs
- robust metric implementations
- reproducible workflows
- extensible package architecture
- research-grade outputs
- modern Python tooling
Installation
Basic
pip install pyxxdi
Development
uv sync --extra dev --extra docs --extra viz --extra network
Quick Start
import pyxxdi as px
import pandas as pd
df = pd.read_csv("data.csv")
px.h_index(df, unit="institution")
px.g_index(df, unit="institution")
px.x_index(df)
px.xd_index(df)
px.xo_index(df)
Example Outputs
px.xd_index(df, top_n=10)
| unit | records | xd_index | rank |
|---|---|---|---|
| Inst A | 240 | 18 | 1 |
| Inst B | 221 | 16 | 2 |
Available Metrics
Traditional Citation Metrics
h_index()g_index()
Expertise Metrics
x_index()xc_index()xd_index()xo_index()
Nested / Policy Metrics
xx_index()xxd_index()
xd-index Variants
xd_fractional_index()xd_field_normalized_index()xd_ivw_index()
Important Methodological Note
Fractional, field-normalized, and inverse-variance-weighted variants are recommended for xd-index, not x-index.
Reason:
x-indexoperates on fine-grained keywords- keywords often lack stable field-wide baselines
- broad categories are more suitable for normalization
Planned Modules
pyxxdi.iopyxxdi.cleaningpyxxdi.classifypyxxdi.metricspyxxdi.rankingpyxxdi.trendspyxxdi.portfoliopyxxdi.networkpyxxdi.vizpyxxdi.reportpyxxdi.utils
Development Status
Current Release
v0.2.x beta
Status
- Core metrics implemented
- Tests passing
- Ongoing optimization
- Documentation expansion in progress
Roadmap
Phase 1
Foundation package architecture
Phase 2
Metric engine and expertise indices
Phase 3
Data ingestion, cleaning, classification
Phase 4
Network analytics and collaboration intelligence
Phase 5
Visual dashboards and reporting
Phase 6
Research paper + software citation release
Reproducibility
pyxxdi is built with reproducible research principles:
- versioned outputs
- deterministic calculations
- transparent formulas
- test coverage
- open-source workflows
Contributing
Contributions, bug reports, feature requests, and academic collaborations are welcome.
Citation
A formal CITATION.cff file will be included in the repository.
If using pyxxdi in academic work, please cite the software and related methodological publications.
License
MIT License
Author
Abhirup Nandy
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyxxdi-0.3.0.tar.gz.
File metadata
- Download URL: pyxxdi-0.3.0.tar.gz
- Upload date:
- Size: 124.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df414b6c2dd5a4f890590b35485f75b259ed4c52eae71360f975e3ee2204c7f3
|
|
| MD5 |
6552901dbc36d770bea1c1618fcff1a3
|
|
| BLAKE2b-256 |
42a72ce80ec2be72b1b08532485b69d4b686ff7adfd16b3253a7d109eb1f2b5d
|
Provenance
The following attestation bundles were made for pyxxdi-0.3.0.tar.gz:
Publisher:
publish.yml on abhirupnandy/pyxxdi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyxxdi-0.3.0.tar.gz -
Subject digest:
df414b6c2dd5a4f890590b35485f75b259ed4c52eae71360f975e3ee2204c7f3 - Sigstore transparency entry: 1384686997
- Sigstore integration time:
-
Permalink:
abhirupnandy/pyxxdi@314329f4ae0424076fc56ad47afbf3e8ae789b26 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/abhirupnandy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@314329f4ae0424076fc56ad47afbf3e8ae789b26 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyxxdi-0.3.0-py3-none-any.whl.
File metadata
- Download URL: pyxxdi-0.3.0-py3-none-any.whl
- Upload date:
- Size: 41.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6fcab9c57bb7096f15961fc8368f2d43f591f7fe6aedc8aeb4abdb04ccdf14c
|
|
| MD5 |
fc2e6875fc6635d6848fc3d4824e77e7
|
|
| BLAKE2b-256 |
4950e3a7b170a36c6555504698639f63024dc1e56ba05d300325e3b1236a93fa
|
Provenance
The following attestation bundles were made for pyxxdi-0.3.0-py3-none-any.whl:
Publisher:
publish.yml on abhirupnandy/pyxxdi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyxxdi-0.3.0-py3-none-any.whl -
Subject digest:
b6fcab9c57bb7096f15961fc8368f2d43f591f7fe6aedc8aeb4abdb04ccdf14c - Sigstore transparency entry: 1384687018
- Sigstore integration time:
-
Permalink:
abhirupnandy/pyxxdi@314329f4ae0424076fc56ad47afbf3e8ae789b26 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/abhirupnandy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@314329f4ae0424076fc56ad47afbf3e8ae789b26 -
Trigger Event:
push
-
Statement type: