tooluniverse.generate_tools module¶
Minimal tools generator - one tool, one file.
- tooluniverse.generate_tools.sanitize_param_name(name)[source]¶
Convert an API parameter name to a valid Python identifier.
Handles dots (query.cond -> query_cond), hyphens (from-date -> from_date), and Python reserved keywords (for -> for_, in -> in_).
- tooluniverse.generate_tools.json_type_to_python(json_type)[source]¶
Convert JSON type to Python type.
- tooluniverse.generate_tools.prop_to_python_type(prop)[source]¶
Convert a JSON schema property to Python type, handling oneOf schemas.
- tooluniverse.generate_tools.validate_generated_code(tool_name, tool_config, generated_file)[source]¶
Validate that generated code matches the tool configuration.
- 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, output_dir=None)[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
output_dir (Path | None) – Directory to write wrapper files into. When None the installed package’s own
tools/sub-directory is used (Path(__file__).parent / "tools").