Metadata-Version: 2.4
Name: bibliometria
Version: 0.1.0
Summary: A package for bibliometric analysis of journals
Project-URL: Homepage, https://github.com/VTermus/bibliometria
Author-email: Vladislava Termus <vl.trmus@gmail.com>, Alexandra Pogozheva <sashapogozheva04@gmail.com>
License-Expression: GPL-3.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Requires-Dist: pandas>=1.5
Requires-Dist: rapidfuzz>=3.0
Description-Content-Type: text/markdown

# Bibliometria
A package for bibliometric analysis of journals.

This package provides tools for retrieving journal information and comparing metrics,  
combining the data from SCImago Journal Rank and Web of Science. 

## Installation
```bash
pip install bibliometria
```
```python
import bibliometria as bm
```
```python
# or import the functions directly
from bibliometria import get_sjr, get_wos, title_matches, title_best_match, journal_metrics, journal_info
```

## Usage

### Data
The package contains two built-in datasets with SJR and WoS data that can be downloaded from this repository or via internal loading functions:
```python
import bibliometria as bm

sjr = bm.get_sjr()
>>> pd.DataFrame

wos = bm.get_wos()
>>> pd.DataFrame
```
### Main functions

The package exposes four main functions for working with journal data.

---
##### title_matches
```python
title_matches(title_query, limit=10, score_cutoff=60)
>>> pd.DataFrame
```
Fuzzy-searches a journal by title across SJR and WoS and returns a DataFrame
of the top candidate matches with similarity scores and basic metadata
(title, ISSN/eISSN, SJR, quartiles, etc.).

---
#### title_best_match
```python
title_best_match(title_query) 
>>> pd.Series
```
Returns the single best fuzzy match for a journal title as a pandas Series
with similarity score and metadata, or `None` if no suitable match is found.

---
#### journal_metrics
```python
journal_metrics(query, query_type="title") 
>>> pd.Series
```
Retrieve **core bibliometric indicators** for a journal, using either:

- `query_type="title"` – fuzzy match by journal title, or  
- `query_type="issn"` – exact match by ISSN / eISSN

The returned Series contains a small set of metrics such as:

- `sjr`, `sjr_best_quartile`, `h_index` (from SJR)  
- `wos_quartile`, `wos_jif`, `wos_jif_5_year` (from WoS)

If the journal is not found, an “empty” Series with all fields set to `None` is returned, and a warning is emitted.

---
#### journal_info
```python
journal_info(query, query_type="title") 
>>> pd.DataFrame
```

Return a **single-row DataFrame** with all available fields for a journal from both SJR and WoS,  
merged into one record. Supports the same lookup modes as `journal_metrics`:

- `query_type="title"` – fuzzy title match  
- `query_type="issn"` – exact ISSN / eISSN match

The result also includes a few metadata columns describing the lookup:

- `query`, `query_type`, `source_primary`, `matched_title`, `match_score`

## Interactive examples

You can explore example outputs in the notebook:

[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](
https://github.com/VTermus/bibliometria/blob/main/bibliometria_demo.ipynb
)

## Contribution
This package is in the testing status.
To report a bug or suggest an improvement, you can open an issue or contact us directly.

Authors: Vladislava Termus, Alexandra Pogozheva
