cursus.step_catalog.script_discovery¶
Script file auto-discovery for the unified step catalog system.
This module implements script file discovery from both core package and workspace directories, with workspace prioritization support for interactive runtime testing.
- class ScriptInfo(script_name, step_name, script_path, workspace_id, framework=None)[source]¶
Bases:
objectInformation about a discovered script.
- class ScriptAutoDiscovery(package_root, workspace_dirs=None, priority_workspace_dir=None)[source]¶
Bases:
objectScript file auto-discovery with workspace prioritization support.
Follows the same pattern as ConfigAutoDiscovery and BuilderAutoDiscovery for consistency within the step catalog system.
- discover_script_files(project_id=None)[source]¶
Discover all script files from package and workspaces with prioritization.
- Parameters:
project_id (str | None) – Optional project ID for workspace-specific discovery
- Returns:
Dictionary mapping script names to ScriptInfo objects
- Return type:
- load_script_info(script_name)[source]¶
Load script information for a specific script with workspace-aware discovery.
- Parameters:
script_name (str) – Name of the script to load info for
- Returns:
ScriptInfo object or None if not found
- Return type:
ScriptInfo | None
- discover_scripts_from_dag(dag)[source]¶
Discover scripts referenced in a DAG with intelligent node-to-script mapping.
- Parameters:
dag – PipelineDAG object
- Returns:
Dictionary mapping script names to ScriptInfo objects
- Return type:
- discover_scripts_from_config_instances(loaded_configs)[source]¶
Discover scripts from already-loaded config instances with definitive validation.
This method provides config-based script discovery that eliminates phantom scripts by only discovering scripts that have actual entry points defined in config instances.
- discover_scripts_from_dag_and_configs(dag, loaded_configs)[source]¶
Discover scripts using both DAG nodes and loaded config instances for definitive validation.
This method combines DAG-based filtering with config-based validation to eliminate phantom scripts and provide accurate script discovery.