bridge.services.europe_pmc.europe_pmc_ingestor module

bridge.services.europe_pmc.europe_pmc_ingestor module#

Async client for the Europe PMC API. Fetches a publication by PMID/PMCID/DOI and returns the first matching record. Raises EuropePMCNotFoundError if no record is found.

class bridge.services.europe_pmc.europe_pmc_ingestor.EuropePMCIngestor(pmid=None, pmcid=None, doi=None)[source]#

Bases: Ingestor

Ingest a publication record from Europe PMC using one or more identifiers.

Parameters:
  • pmid (str, optional) – PubMed identifier (e.g., “36173614”).

  • pmcid (str, optional) – PubMed Central identifier (e.g., “PMC9903320”).

  • doi (str, optional) – Digital Object Identifier (e.g., “10.1021/acs.jproteome.2c00457”).

async fetch()[source]#

Fetch the Europe PMC record matching the provided identifiers.

Returns:

The first matching Europe PMC record.

Return type:

dict

Raises:
  • EuropePMCNotFoundError – If no record matches the provided identifiers.

  • httpx.RequestError, httpx.HTTPStatusError – For network/HTTP issues.

exception bridge.services.europe_pmc.europe_pmc_ingestor.EuropePMCNotFoundError[source]#

Bases: Exception

Raised when no Europe PMC record matches the given identifiers.