Sources#

One planner per remote corpus. Each produces a list of download tasks.

Task model#

class litsync.sources.Task[source]#

Bases: object

Task(source: ‘str’, filename: ‘str’, url: ‘str’, dest: ‘Path’, rel_path: ‘str’, md5_url: ‘Optional[str]’ = None, immutable: ‘bool’ = True, extract: ‘bool’ = False)

source: str#
filename: str#
url: str#
dest: Path#
rel_path: str#
md5_url: str | None = None#
immutable: bool = True#
extract: bool = False#
__init__(source, filename, url, dest, rel_path, md5_url=None, immutable=True, extract=False)#
Parameters:
Return type:

None

PubMed#

class litsync.sources.pubmed.PubMedSource[source]#

Bases: object

PubMed baseline + daily update files. Files are immutable and have .md5 sidecars.

SUFFIX = '.xml.gz'#
__init__(cfg, http)[source]#
Parameters:
plan()[source]#
Return type:

list[Task]

PMC#

class litsync.sources.pmc.PmcSource[source]#

Bases: object

PMC OA bulk: baseline + daily incremental .tar.gz per group/format.

__init__(cfg, http)[source]#
Parameters:
plan()[source]#
Return type:

list[Task]

openFDA#

class litsync.sources.fda.FdaSource[source]#

Bases: object

openFDA bulk snapshots from the download manifest.

__init__(cfg, http)[source]#
Parameters:
plan()[source]#
Return type:

list[Task]

ClinicalTrials.gov#

class litsync.sources.clinicaltrials.ClinicalTrialsSource[source]#

Bases: object

ClinicalTrials.gov full public XML dump.

__init__(cfg, http)[source]#
Parameters:
plan()[source]#
Return type:

list[Task]