Exemple #1
0
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)
Exemple #3
0
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)
Exemple #4
0
 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
         ),
     )