class_docstr: A Pipeline object represents a collection of named expressions to be
  compiled and executed by a PipelineEngine.
  
  A Pipeline has two important attributes: 'columns', a dictionary of named
  `Term` instances, and 'screen', a Filter representing criteria for
  including an asset in the results of a Pipeline.
  
  To compute a pipeline in the context of a TradingAlgorithm, users must call
  ``attach_pipeline`` in their ``initialize`` function to register that the
  pipeline should be computed each trading day.  The outputs of a pipeline on
  a given day can be accessed by calling ``pipeline_output`` in
  ``handle_data`` or ``before_trading_start``.
  
  Parameters
  ----------
  columns : dict, optional
      Initial columns.
  screen : catalyst.pipeline.term.Filter, optional
      Initial screen.
class_docstr_tok: ["A","Pipeline","object","represents","a","collection","of","named","expressions","to","be","compiled","and","executed","by","a","PipelineEngine",".","A","Pipeline","has","two","important","attributes",":","'columns","'",",","a","dictionary","of","named","`","Term","`","instances",",","and","'screen","'",",","a","Filter","representing","criteria","for","including","an","asset","in","the","results","of","a","Pipeline",".","To","compute","a","pipeline","in","the","context","of","a","TradingAlgorithm",",","users","must","call","``","attach_pipeline","``","in","their","``","initialize","``","function","to","register","that","the","pipeline","should","be","computed","each","trading","day",".","The","outputs","of","a","pipeline","on","a","given","day","can","be","accessed","by","calling","``","pipeline_output","``","in","``","handle_data","``","or","``","before_trading_start","``",".","Parameters","--","--","--","--","--","columns",":","dict",",","optional","Initial","columns",".","screen",":","catalyst.pipeline.term.Filter",",","optional","Initial","screen","."]
docstr: Add a column.
  
  The results of computing `term` will show up as a column in the
  DataFrame produced by running this pipeline.
  
  Parameters
  ----------
  column : catalyst.pipeline.Term
      A Filter, Factor, or Classifier to add to the pipeline.
  name : str
      Name of the column to add.
  overwrite : bool
      Whether to overwrite the existing entry if we already have a column
      named `name`.
docstr_tok: ["Add","a","column",".","The","results","of","computing","`","term","`","will","show","up","as","a","column","in","the","DataFrame","produced","by","running","this","pipeline",".","Parameters","--","--","--","--","--","column",":","catalyst.pipeline.Term","A","Filter",",","Factor",",","or","Classifier","to","add","to","the","pipeline",".","name",":","str","Name","of","the","column","to","add",".","overwrite",":","bool","Whether","to","overwrite","the","existing","entry","if","we","already","have","a","column","named","`","name","`","."]
code: def add(self, term, name, overwrite=False):
      """
      Add a column.
  
      The results of computing `term` will show up as a column in the
      DataFrame produced by running this pipeline.
  
      Parameters
      ----------
      column : catalyst.pipeline.Term
          A Filter, Factor, or Classifier to add to the pipeline.
      name : str
          Name of the column to add.
      overwrite : bool
          Whether to overwrite the existing entry if we already have a column
          named `name`.
      """
      self.validate_column(name, term)
  
      columns = self.columns
      if name in columns:
          if overwrite:
              self.remove(name)
          else:
              raise KeyError("Column '{}' already exists.".format(name))
  
      if not isinstance(term, ComputableTerm):
          raise TypeError(
              "{term} is not a valid pipeline column. Did you mean to "
              "append '.latest'?".format(term=term)
          )
  
      self._columns[name] = term
  
file_path: catalyst/catalyst/pipeline/pipeline.py
imports: from catalyst.errors import UnsupportedPipelineOutput
  from catalyst.utils.input_validation import expect_element, expect_types, optional
  from .graph import ExecutionPlan, TermGraph
  from .filters import Filter
  from .term import AssetExists, ComputableTerm, Term
label_desc: Use image node_id 4 for calling the Pipeline obj's underlying member method code with example usage: obj.add(term, name, overwrite) without return types