paper_tracker
Trace a seed paper’s citation network.
pypaperretriever.paper_tracker.PaperTracker
PaperTracker(
email: str,
max_upstream_generations: int = 1,
max_downstream_generations: int = 1,
doi: Optional[str] = None,
pmid: Optional[str] = None,
)
Track references and citations for a given paper.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
email
|
str
|
Email address used for API requests. |
required |
max_upstream_generations
|
int
|
Depth of reference traversal. |
1
|
max_downstream_generations
|
int
|
Depth of citation traversal. |
1
|
doi
|
str
|
DOI of the root paper. |
None
|
pmid
|
str
|
PMID of the root paper. |
None
|
Attributes:
Name | Type | Description |
---|---|---|
df |
DataFrame
|
Table describing all tracked papers. |
processed_upstream |
set[str]
|
Papers already expanded upstream. |
processed_downstream |
set[str]
|
Papers already expanded downstream. |
Initialize the PaperTracker with either a DOI or PMID.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
email
|
str
|
Email for API authentication |
required |
max_upstream_generations
|
int
|
Maximum reference depth to track. Defaults to 1. |
1
|
max_downstream_generations
|
int
|
Maximum citation depth to track. Defaults to 1. |
1
|
doi
|
str
|
Digital Object Identifier of the paper. Required if pmid not provided. |
None
|
pmid
|
str
|
PubMed ID of the paper. Required if doi not provided. |
None
|
Raises:
Type | Description |
---|---|
ValueError
|
If neither DOI nor PMID is provided |
Source code in pypaperretriever/paper_tracker.py
go_upstream
Fetch references for a paper.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
doi
|
str
|
DOI of the paper. |
None
|
pmid
|
str
|
PMID of the paper. |
None
|
Returns:
Type | Description |
---|---|
List[Dict[str, Any]]
|
list[dict[str, Any]]: Reference metadata. |
Source code in pypaperretriever/paper_tracker.py
go_downstream
Fetch papers that cite the given paper.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
doi
|
str
|
DOI of the paper. |
None
|
pmid
|
str
|
PMID of the paper. |
None
|
Returns:
Type | Description |
---|---|
List[Dict[str, Any]]
|
list[dict[str, Any]]: Citing paper metadata. |
Source code in pypaperretriever/paper_tracker.py
track_paper
Build the citation network around the root paper.
Returns:
Type | Description |
---|---|
DataFrame
|
pandas.DataFrame: Table containing all tracked papers and relationships. |