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 JCR database.

Uses JCR database lookup with caching for performance.

__init__(cache_size=1000)[source]

Initialize with optional cache size.

_get_jcr_year()[source]

Extract JCR year from database or package metadata.

Returns “Source Unknown” if the year can’t be determined. Any underlying error is logged at debug level so callers can distinguish a truly unknown year from a misconfigured DB.

Return type:

str

_get_metrics_uncached(journal_name)[source]

Get journal metrics without caching.

Return type:

Optional[Dict]

get_database_info()[source]

Get information about the impact factor database.

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