Quick Start Guide
This guide will get you up and running with PyEuropePMC in minutes.
Installation
pip install pyeuropepmc
Basic Usage
Simple Search
from pyeuropepmc.search import SearchClient
# Initialize the client
with SearchClient() as client:
# Search for articles about cancer
results = client.search(query="cancer", limit=10)
# Print article titles
for article in results["resultList"]["result"]:
print(article.get("title", "No title"))
Advanced Search with QueryBuilder
from pyeuropepmc.query.query_builder import QueryBuilder
# Build complex queries with type safety
qb = QueryBuilder()
# Simple query
query = qb.keyword("machine learning").build()
print(f"Query: {query}") # "machine learning"
# Complex query with multiple conditions
complex_query = (qb
.keyword("cancer", field="title")
.and_()
.keyword("therapy")
.and_()
.date_range(start_year=2020, end_year=2023)
.and_()
.citation_count(min_count=10)
.build())
print(f"Complex query: {complex_query}")
# "(TITLE:cancer) AND therapy AND (PUB_YEAR:[2020 TO 2023]) AND (CITED:[10 TO *])"
Advanced Search
# Search with filters
with SearchClient() as client:
results = client.search(
query="machine learning",
source="MED",
sort="date",
limit=20,
format="json"
)
# Access article metadata
for article in results["resultList"]["result"]:
print(f"Title: {article.get('title', 'N/A')}")
print(f"Authors: {article.get('authorString', 'N/A')}")
print(f"DOI: {article.get('doi', 'N/A')}")
print(f"Publication Year: {article.get('pubYear', 'N/A')}")
print("---")
Supported Formats
- JSON
- XML
- Dublin Core
Using Context Manager
with SearchClient() as client:
results = client.search("CRISPR", limit=5)
for article in results["resultList"]["result"]:
print(article.get("title", "No title"))
Next Steps
- Read the API Reference for detailed documentation
- Learn about Query Builder for advanced query construction
- Check out Examples for more use cases
- See Advanced Usage for complex scenarios
Getting Help
- Check the FAQ
- Browse Examples
- Visit our GitHub Issues