cursus.step_catalog.models

Simple data models for the unified step catalog system.

Following the Code Redundancy Evaluation Guide principles, these models are simple and focused, avoiding over-engineering while supporting all US1-US5 requirements.

class FileMetadata(*, path, file_type, modified_time)[source]

Bases: BaseModel

Simple metadata for component files.

path: Path
file_type: str
modified_time: datetime
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class StepInfo(*, step_name, workspace_id, registry_data=<factory>, file_components=<factory>)[source]

Bases: BaseModel

Essential step information combining registry data with file metadata.

step_name: str
workspace_id: str
registry_data: Dict[str, Any]
file_components: Dict[str, FileMetadata | None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

property config_class: str

Get config class name from registry data.

property sagemaker_step_type: str

Get SageMaker step type from registry data.

property builder_step_name: str

Get builder step name from registry data.

property description: str

Get step description from registry data.

class StepSearchResult(*, step_name, workspace_id, match_score, match_reason, components_available=<factory>)[source]

Bases: BaseModel

Simple search result for step queries.

step_name: str
workspace_id: str
match_score: float
match_reason: str
components_available: List[str]
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].