pyEuropePMC

Advanced topics

These pages document the internals and less common utilities of pyEuropePMC: the cache layer, progress reporting for batch downloads, search logging for systematic reviews, and schema coverage checks for XML parsing.

Page Covers
Caching internals CacheConfig and CacheBackend reference, cache keys, the disk layer, ArtifactStore
Progress callbacks download_fulltext_batch(progress_callback=...), ProgressInfo, parallel downloads
Search logging pyeuropepmc.utils.search_logging: query logs, PRISMA counts, archiving and signing
Schema coverage validation FullTextXMLParser.validate_schema_coverage()

Where other topics are covered

Task Where to look
Turn on response caching Caching
Fetch every page of a result set SearchClient.search_all(query, page_size=100, max_results=None); see Search
Build queries in code QueryBuilder
Search several sources at once Multi-source search
Change the pause between requests The rate_limit_delay argument of each client: seconds to wait after each request, default 1.0
Download many articles in parallel FullTextClient.download_fulltext_batch_parallel(); see Parallel downloads
Put results into a pandas DataFrame to_dataframe(), which needs pip install "pyeuropepmc[analytics]"; see Analytics and visualization
Follow citations and references ArticleClient.get_citations(source, article_id) and ArticleClient.get_references(source, article_id); for citation graphs, see Citation graph walking