(steps, edges, ordered=False)
Based on the state of the steps, it is important to decide an appropriate type for
    a new Pipeline. This method will decide the type, create a new Pipeline of that type and return it.
    #TODO: If multiple independently trained components are composed together in a pipeline,
    should it be of type TrainedPipeline?
    Currently, it will be TrainablePipeline, i.e. it will be forced to train it again.
Based on the state of the steps, it is important to decide an appropriate type for
    a new Pipeline. This method will decide the type, create a new Pipeline of that type and return it.
    #TODO: If multiple independently trained components are composed together in a pipeline,
    should it be of type TrainedPipeline?
    Currently, it will be TrainablePipeline, i.e. it will be forced to train it again.
Based on the state of the steps it is important to decide an appropriate type for a new Pipeline . This method will decide the type create a new Pipeline of that type and return it . #TODO : If multiple independently trained components are composed together in a pipeline should it be of type TrainedPipeline? Currently it will be TrainablePipeline i . e . it will be forced to train it again .
def make_pipeline_graph(steps, edges, ordered=False) -> PlannedPipeline:
    """
    Based on the state of the steps, it is important to decide an appropriate type for
    a new Pipeline. This method will decide the type, create a new Pipeline of that type and return it.
    #TODO: If multiple independently trained components are composed together in a pipeline,
    should it be of type TrainedPipeline?
    Currently, it will be TrainablePipeline, i.e. it will be forced to train it again.
    """
    pipeline_class = _pipeline_graph_class(steps)
    if pipeline_class is TrainedPipeline:
        return TrainedPipeline(steps, edges, ordered=ordered, _lale_trained=True)
    else:
        return pipeline_class(steps, edges, ordered=ordered)
def make_pipeline_graph ( steps , edges , ordered = False ) -> PlannedPipeline : pipeline_class = _pipeline_graph_class ( steps ) if pipeline_class is TrainedPipeline : return TrainedPipeline ( steps , edges , ordered = ordered , _lale_trained = True ) else : return pipeline_class ( steps , edges , ordered = ordered )