Source code for tooluniverse.pubmed_tool

import requests
from .base_tool import BaseTool
from .tool_registry import register_tool


[docs] @register_tool("PubMedTool") class PubMedTool(BaseTool): """ Search PubMed using NCBI E-utilities (esearch + esummary) and return articles. """
[docs] def __init__(self, tool_config): super().__init__(tool_config) self.esearch_url = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi" self.esummary_url = ( "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi" )
[docs] def run(self, arguments): query = arguments.get("query") limit = int(arguments.get("limit", 10)) api_key = arguments.get("api_key") # optional NCBI API key if not query: return {"error": "`query` parameter is required."} return self._search(query, limit, api_key)