adsfolio.api.metrics

Metrics API wrapper for ADS.

Provides access to citation metrics, indicators, and histograms.

class adsfolio.api.metrics.MetricsAPI(client)[source]

Bases: object

Metrics API for retrieving citation and usage statistics.

Examples

>>> api = MetricsAPI(client)
>>> metrics = api.get_metrics(["2020ApJ...900..100S"])
>>> print(metrics.indicators["h"])
Parameters:

client (BaseClient)

HISTOGRAM_TYPES: ClassVar[list[str]] = ['publications', 'reads', 'downloads', 'citations']
TYPES: ClassVar[list[str]] = ['basic', 'citations', 'indicators', 'histograms', 'timeseries']
basic(bibcodes)[source]

Get basic stats only.

Parameters:

bibcodes (list[str])

Return type:

adsfolio.api.metrics.MetricsResult

citations(bibcodes)[source]

Get citation stats only.

Parameters:

bibcodes (list[str])

Return type:

adsfolio.api.metrics.MetricsResult

get_metrics(bibcodes, types=None, histograms=None)[source]

Get metrics for a set of bibcodes.

Parameters:
  • bibcodes (list[str]) – List of bibcodes to get metrics for.

  • types (list[str], optional) – Types of metrics to retrieve. Default: all types. Options: “basic”, “citations”, “indicators”, “histograms”, “timeseries”.

  • histograms (list[str], optional) – Specific histograms to retrieve if “histograms” in types. Options: “publications”, “reads”, “downloads”, “citations”.

Returns:

Metrics data for the bibcodes.

Return type:

MetricsResult

Examples

>>> metrics = api.get_metrics(bibcodes, types=["basic", "indicators"])
>>> print(f"h-index: {metrics.indicators['h']}")
h_index(bibcodes)[source]

Get h-index for bibcodes.

Parameters:

bibcodes (list[str])

Return type:

int

indicators(bibcodes)[source]

Get bibliometric indicators (h-index, etc.).

Parameters:

bibcodes (list[str])

Return type:

adsfolio.api.metrics.MetricsResult

class adsfolio.api.metrics.MetricsResult(skipped_bibcodes, basic_stats=None, basic_stats_refereed=None, citation_stats=None, citation_stats_refereed=None, indicators=None, indicators_refereed=None, histograms=None, time_series=None)[source]

Bases: object

Container for metrics data.

Parameters:
  • skipped_bibcodes (list[str])

  • basic_stats (dict | None)

  • basic_stats_refereed (dict | None)

  • citation_stats (dict | None)

  • citation_stats_refereed (dict | None)

  • indicators (dict | None)

  • indicators_refereed (dict | None)

  • histograms (dict | None)

  • time_series (dict | None)

basic_stats: dict | None = None

Basic publication and usage statistics.

basic_stats_refereed: dict | None = None

Basic stats for refereed papers only.

citation_stats: dict | None = None

Citation statistics.

citation_stats_refereed: dict | None = None

Citation stats for refereed papers.

classmethod from_response(data)[source]

Create MetricsResult from API response.

Parameters:

data (dict)

Return type:

adsfolio.api.metrics.MetricsResult

histograms: dict | None = None

Publication, reads, downloads, citation histograms.

indicators: dict | None = None

Bibliometric indicators (h-index, g-index, etc.).

indicators_refereed: dict | None = None

Indicators for refereed papers.

skipped_bibcodes: list[str]

Bibcodes for which no metrics were found.

time_series: dict | None = None

Time series for indicators.