{"id":21369,"library":"galaxy-tool-util-models","title":"Galaxy Tool Utility Models","description":"Pydantic models for Galaxy tools, providing type-safe data structures for tool definitions, parameters, inputs, outputs, and workflows. Current version 26.0.0, part of the Galaxy project, released as part of the main Galaxy monorepo with no fixed cadence.","status":"active","version":"26.0.0","language":"python","source_language":"en","source_url":"https://github.com/galaxyproject/galaxy","tags":["galaxy","pydantic","tool-definitions","workflow","bioinformatics"],"install":[{"cmd":"pip install galaxy-tool-util-models","lang":"bash","label":"Install via pip"}],"dependencies":[{"reason":"Core dependency for model definitions","package":"pydantic","optional":false}],"imports":[{"wrong":"from galaxy.tool_util_models import Tool","symbol":"Tool","correct":"from galaxy.tool_util_models import Tool"}],"quickstart":{"code":"from galaxy.tool_util.models import Tool, ToolParameter\n\n# Example: parse a tool definition (assuming raw dict)\nraw_tool = {\n    \"id\": \"example_tool\",\n    \"name\": \"Example Tool\",\n    \"inputs\": [\n        {\n            \"name\": \"input_file\",\n            \"type\": \"data\",\n            \"optional\": False\n        }\n    ]\n}\ntool = Tool(**raw_tool)\nprint(tool.name)\n","lang":"python","description":"Basic usage: import and instantiate Tool model from a dictionary. Models are Pydantic-based and validate data on creation."},"warnings":[{"fix":"Use 'from galaxy.tool_util.models import Tool'.","message":"Import path change: models moved from 'galaxy.tools' to 'galaxy.tool_util.models' in v21.x. Old imports like 'from galaxy.tools import Tool' will fail.","severity":"breaking","affected_versions":"<21.0"},{"fix":"Use 'WorkflowStep' model from the same module for workflow-related tool definitions.","message":"Removal of 'Tool.workflow' attribute. Workflow-specific fields are now in separate WorkflowStep models.","severity":"breaking","affected_versions":">=25.0"},{"fix":"Correct import: 'from galaxy.tool_util.models import ...'","message":"Package name vs import path: install with 'galaxy-tool-util-models' but import from 'galaxy.tool_util.models'. New users often try 'import galaxy_tool_util_models' which fails.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'26.0.0':26 'bioinformat':50 'cadenc':43 'current':24 'data':14 'definit':18,48 'fix':42 'galaxi':1,8,30,38,44 'input':20 'main':37 'model':4,6 'monorepo':39 'output':21 'paramet':19 'part':27,34 'project':31 'provid':10 'pydant':5,45 'releas':32 'safe':13 'structur':15 'tool':2,9,17,47 'tool-definit':46 'type':12 'type-saf':11 'util':3 'version':25 'workflow':23,49","created_at":"2026-04-27T16:59:32.592769+00:00","updated_at":"2026-04-27T16:59:32.592769+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\nImportError: cannot import name 'Tool' from 'galaxy.tool_util_models' (/tmp/tmp02zunm7k/venv/lib/python3.12/site-packages/galaxy/tool_util_models/__init__.py)"},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"26.0.1","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/galaxyproject/galaxy","docs":null,"changelog":null,"pypi":"https://pypi.org/project/galaxy-tool-util-models/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["serialization","data"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}