tooluniverse.openalex_tool module

class tooluniverse.openalex_tool.OpenAlexTool[source]

Bases: BaseTool

Tool to retrieve literature from OpenAlex based on search keywords.

__init__(tool_config)[source]
run(arguments)[source]

Main entry point for the tool.

search_literature(search_keywords, max_results=10, year_from=None, year_to=None, open_access=None)[source]

Search for literature using OpenAlex API.

Parameters

search_keywords (str): Keywords to search for in title, abstract, and content. max_results (int): Maximum number of results to return (default: 10). year_from (int): Start year for publication date filter (optional). year_to (int): End year for publication date filter (optional). open_access (bool): Filter for open access papers only (optional).

Returns

list: List of dictionaries containing paper information.

_extract_paper_info(work)[source]

Extract relevant information from a work object returned by OpenAlex API.

Parameters

work (dict): Work object from OpenAlex API response.

Returns

dict: Formatted paper information.

get_paper_by_doi(doi)[source]

Retrieve a specific paper by its DOI.

Parameters

doi (str): DOI of the paper to retrieve.

Returns

dict: Paper information or None if not found.

get_papers_by_author(author_name, max_results=10)[source]

Retrieve papers by a specific author.

Parameters

author_name (str): Name of the author to search for. max_results (int): Maximum number of results to return.

Returns

list: List of papers by the author.

class tooluniverse.openalex_tool.OpenAlexRESTTool[source]

Bases: BaseTool

Generic JSON-config driven OpenAlex REST tool.

Notes: - OpenAlex strongly encourages providing a contact email via the mailto query param. - This tool returns a consistent wrapper: {status, data, url} (plus error fields on failure).

__init__(tool_config)[source]
static _normalize_openalex_id(value)[source]
static _normalize_doi(value)[source]
_build_url_and_params(arguments)[source]
run(arguments)[source]

Execute the tool.

The default BaseTool implementation accepts an optional arguments mapping to align with most concrete tool implementations which expect a dictionary of inputs.

Parameters:
  • arguments (dict, optional) – Tool-specific arguments

  • stream_callback (callable, optional) – Callback for streaming responses

  • use_cache (bool, optional) – Whether result caching is enabled

  • validate (bool, optional) – Whether parameter validation was performed

Note

These additional parameters (stream_callback, use_cache, validate) are passed from run_one_function() to provide context about the execution. Tools can use these for optimization or special handling.

For backward compatibility, tools that don’t accept these parameters will still work - they will only receive the arguments parameter.