scitex_scholar.impact_factor

Impact factor module - Journal-level metrics for Scholar.

Provides two methods: 1. JCR database lookup (fast, requires JCR data) - jcr/ 2. Citation-based estimation (slower, no data needed) - estimation/ (under development)

Data location: src/scitex/scholar/data/impact_factor/ (gitignored)

class scitex_scholar.impact_factor.ImpactFactorEngine(cache_size=1000)[source]

Bases: object

Impact factor service - finds journal metrics from the JCR table.

Reads the JCR rows through ImpactFactorJCREngine, with an LRU cache in front so repeated lookups of the same journal are free.

__init__(cache_size=1000)[source]

Initialize with optional cache size.

_get_jcr_year()[source]

Which JCR edition the numbers came from.

The edition is stamped on every row when the export is loaded, so it is read rather than inferred. Returns “Source Unknown” when no row carries one – rows loaded before the field existed, or an empty table.

Return type:

str

_get_metrics_uncached(journal_name)[source]

Get journal metrics without caching.

Return type:

Optional[Dict]

get_database_info()[source]

Describe where the impact-factor rows live and what is in them.

Return type:

Dict

scitex_scholar.impact_factor.get_journal_metrics(journal_name)[source]

Standalone function to get journal metrics.

Parameters:

journal_name (str) – Name of the journal

Returns:

Dictionary with impact_factor, quartile, and source keys

Return type:

Optional[Dict]

Example

>>> metrics = get_journal_metrics("Nature")
>>> print(metrics["impact_factor"])
64.8