cursus.core.deps.property_reference

Property Reference module for SageMaker property path handling.

This module provides the PropertyReference class for bridging between definition-time specifications and runtime property references in the SageMaker pipeline context. It handles complex property paths across various SageMaker step types.

class PropertyReference(*, step_name, output_spec)[source]

Bases: BaseModel

Lazy evaluation reference bridging definition-time and runtime.

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'validate_assignment': True}

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

step_name: str
output_spec: OutputDecl
classmethod validate_step_name(v)[source]

Validate step name is not empty.

to_sagemaker_property()[source]

Convert to SageMaker Properties dictionary format at pipeline definition time.

to_runtime_property(step_instances)[source]

Create an actual SageMaker property reference using step instances.

This method navigates the property path to create a proper SageMaker Properties object that can be used at runtime.

Parameters:

step_instances (Dict[str, Any]) – Dictionary mapping step names to step instances

Returns:

SageMaker Properties object for the referenced property

Raises:
  • ValueError – If the step is not found or property path is invalid

  • AttributeError – If any part of the property path is invalid

Return type:

Any