tooluniverse.generate_tools module

Minimal tools generator - one tool, one file.

tooluniverse.generate_tools.json_type_to_python(json_type)[source]

Convert JSON type to Python type.

Parameters:

json_type (str | list) – JSON type as string or list of types (e.g., [“array”, “null”])

Returns:

Python type annotation

Return type:

str

tooluniverse.generate_tools.prop_to_python_type(prop)[source]

Convert a JSON schema property to Python type, handling oneOf schemas.

Parameters:

prop (Dict[str, Any]) – JSON schema property dictionary

Returns:

Python type annotation as string (e.g., “str”, “str | list[str]”)

Return type:

str

tooluniverse.generate_tools.validate_generated_code(tool_name, tool_config, generated_file)[source]

Validate that generated code matches the tool configuration.

Parameters:
  • tool_name (str) – Name of the tool

  • tool_config (Dict[str, Any]) – Original tool configuration

  • generated_file (Path) – Path to the generated Python file

Returns:

Tuple of (is_valid, list_of_issues)

Return type:

Tuple[bool, list]

tooluniverse.generate_tools.generate_tool_file(tool_name, tool_config, output_dir)[source]

Generate one file for one tool.

tooluniverse.generate_tools.generate_init(tool_names, output_dir)[source]

Generate __init__.py with all imports.

tooluniverse.generate_tools.main(format_enabled=None, force_regenerate=False, verbose=False)[source]

Generate tools and format the generated files if enabled.

Parameters:
  • format_enabled (bool | None) – If None, decide based on TOOLUNIVERSE_SKIP_FORMAT env var (skip when set to “1”).

  • force_regenerate (bool) – If True, regenerate all tools regardless of changes

  • verbose (bool) – If True, print detailed change information