def get_outputs_field(solid, handle, resource_defs): check.inst_param(solid, "solid", Solid) check.inst_param(handle, "handle", SolidHandle) check.dict_param(resource_defs, "resource_defs", key_type=str, value_type=ResourceDefinition) # if any outputs have configurable output managers, use those for the schema and ignore all type # materializers output_manager_fields = {} for name, output_def in solid.definition.output_dict.items(): output_manager_output_field = get_output_manager_output_field( solid, output_def, resource_defs) if output_manager_output_field: output_manager_fields[name] = output_manager_output_field if output_manager_fields: return Field(Shape(output_manager_fields)) # otherwise, use any type materializers for the schema type_materializer_fields = {} for name, output_def in solid.definition.output_dict.items(): type_output_field = get_type_output_field(output_def) if type_output_field: type_materializer_fields[name] = type_output_field if type_materializer_fields: return Field(Array(Shape(type_materializer_fields)), is_required=False) return None
def define_resource_dictionary_cls(resource_defs): check.dict_param(resource_defs, 'resource_defs', key_type=str, value_type=ResourceDefinition) fields = {} for resource_name, resource_def in resource_defs.items(): if resource_def.config_schema: fields[resource_name] = Field(Shape({'config': resource_def.config_schema})) return Shape(fields=fields)
def define_resource_dictionary_cls(name, resource_defs): check.str_param(name, 'name') check.dict_param(resource_defs, 'resource_defs', key_type=str, value_type=ResourceDefinition) fields = {} for resource_name, resource_def in resource_defs.items(): if resource_def.config_field: fields[resource_name] = Field(define_resource_cls(name, resource_name, resource_def)) return SystemNamedDict(name=name, fields=fields)
def __new__( cls, pipeline_name, solids, dependency_structure, mode_definition, logger_defs, ignored_solids, ): return super(EnvironmentClassCreationData, cls).__new__( cls, pipeline_name=check.str_param(pipeline_name, "pipeline_name"), solids=check.list_param(solids, "solids", of_type=Solid), dependency_structure=check.inst_param(dependency_structure, "dependency_structure", DependencyStructure), mode_definition=check.inst_param(mode_definition, "mode_definition", ModeDefinition), logger_defs=check.dict_param(logger_defs, "logger_defs", key_type=str, value_type=LoggerDefinition), ignored_solids=check.list_param(ignored_solids, "ignored_solids", of_type=Solid), )
def __new__(cls, pipeline_name, solids, dependency_structure, mode_definition, logger_defs): return super(EnvironmentClassCreationData, cls).__new__( cls, pipeline_name=check.str_param(pipeline_name, 'pipeline_name'), solids=check.list_param(solids, 'solids', of_type=Solid), dependency_structure=check.inst_param( dependency_structure, 'dependency_structure', DependencyStructure ), mode_definition=check.inst_param(mode_definition, 'mode_definition', ModeDefinition), logger_defs=check.dict_param( logger_defs, 'logger_defs', key_type=str, value_type=LoggerDefinition ), )