class_docstr: PipelineEngine class that computes each term independently.
  
  Parameters
  ----------
  get_loader : callable
      A function that is given a loadable term and returns a PipelineLoader
      to use to retrieve raw data for that term.
  asset_finder : zipline.assets.AssetFinder
      An AssetFinder instance.  We depend on the AssetFinder to determine
      which assets are in the top-level universe at any point in time.
  populate_initial_workspace : callable, optional
      A function which will be used to populate the initial workspace when
      computing a pipeline. See
      :func:`zipline.pipeline.engine.default_populate_initial_workspace`
      for more info.
  default_hooks : list, optional
      List of hooks that should be used to instrument all pipelines executed
      by this engine.
  
  See Also
  --------
  :func:`zipline.pipeline.engine.default_populate_initial_workspace`
class_docstr_tok: ["PipelineEngine","class","that","computes","each","term","independently",".","Parameters","--","--","--","--","--","get_loader",":","callable","A","function","that","is","given","a","loadable","term","and","returns","a","PipelineLoader","to","use","to","retrieve","raw","data","for","that","term",".","asset_finder",":","zipline.assets.AssetFinder","An","AssetFinder","instance",".","We","depend","on","the","AssetFinder","to","determine","which","assets","are","in","the","top-level","universe","at","any","point","in","time",".","populate_initial_workspace",":","callable",",","optional","A","function","which","will","be","used","to","populate","the","initial","workspace","when","computing","a","pipeline",".","See",":","func",":","`","zipline.pipeline.engine.default_populate_initial_workspace","`","for","more","info",".","default_hooks",":","list",",","optional","List","of","hooks","that","should","be","used","to","instrument","all","pipelines","executed","by","this","engine",".","See","Also","--","--","--","--",":","func",":","`","zipline.pipeline.engine.default_populate_initial_workspace","`"]
docstr: Compute values for ``pipeline`` from ``start_date`` to ``end_date``.
  
  Parameters
  ----------
  pipeline : zipline.pipeline.Pipeline
      The pipeline to run.
  start_date : pd.Timestamp
      Start date of the computed matrix.
  end_date : pd.Timestamp
      End date of the computed matrix.
  hooks : list[implements(PipelineHooks)], optional
      Hooks for instrumenting Pipeline execution.
  
  Returns
  -------
  result : pd.DataFrame
      A frame of computed results.
  
      The ``result`` columns correspond to the entries of
      `pipeline.columns`, which should be a dictionary mapping strings to
      instances of :class:`zipline.pipeline.Term`.
  
      For each date between ``start_date`` and ``end_date``, ``result``
      will contain a row for each asset that passed `pipeline.screen`.
      A screen of ``None`` indicates that a row should be returned for
      each asset that existed each day.
docstr_tok: ["Compute","values","for","``","pipeline","``","from","``","start_date","``","to","``","end_date","``",".","Parameters","--","--","--","--","--","pipeline",":","zipline.pipeline.Pipeline","The","pipeline","to","run",".","start_date",":","pd.Timestamp","Start","date","of","the","computed","matrix",".","end_date",":","pd.Timestamp","End","date","of","the","computed","matrix",".","hooks",":","list","[","implements","(","PipelineHooks",")","]",",","optional","Hooks","for","instrumenting","Pipeline","execution",".","Returns","--","--","--","-","result",":","pd.DataFrame","A","frame","of","computed","results",".","The","``","result","``","columns","correspond","to","the","entries","of","`","pipeline.columns","`",",","which","should","be","a","dictionary","mapping","strings","to","instances","of",":","class",":","`","zipline.pipeline.Term","`",".","For","each","date","between","``","start_date","``","and","``","end_date","``",",","``","result","``","will","contain","a","row","for","each","asset","that","passed","`","pipeline.screen","`",".","A","screen","of","``","None","``","indicates","that","a","row","should","be","returned","for","each","asset","that","existed","each","day","."]
code: def run_pipeline(self, pipeline, start_date, end_date, hooks=None):
      """
      Compute values for ``pipeline`` from ``start_date`` to ``end_date``.
  
      Parameters
      ----------
      pipeline : zipline.pipeline.Pipeline
          The pipeline to run.
      start_date : pd.Timestamp
          Start date of the computed matrix.
      end_date : pd.Timestamp
          End date of the computed matrix.
      hooks : list[implements(PipelineHooks)], optional
          Hooks for instrumenting Pipeline execution.
  
      Returns
      -------
      result : pd.DataFrame
          A frame of computed results.
  
          The ``result`` columns correspond to the entries of
          `pipeline.columns`, which should be a dictionary mapping strings to
          instances of :class:`zipline.pipeline.Term`.
  
          For each date between ``start_date`` and ``end_date``, ``result``
          will contain a row for each asset that passed `pipeline.screen`.
          A screen of ``None`` indicates that a row should be returned for
          each asset that existed each day.
      """
      hooks = self._resolve_hooks(hooks)
      with hooks.running_pipeline(pipeline, start_date, end_date):
          return self._run_pipeline_impl(
              pipeline,
              start_date,
              end_date,
              hooks,
          )
  
imports: from abc import ABCMeta, abstractmethod
  from functools import partial
  from six import iteritems, with_metaclass, viewkeys
  from numpy import array, arange
  from pandas import DataFrame, MultiIndex
  from toolz import groupby
  from zipline.lib.adjusted_array import ensure_adjusted_array, ensure_ndarray
  from zipline.errors import NoFurtherDataError
  from zipline.utils.input_validation import expect_types
  from zipline.utils.numpy_utils import as_column, repeat_first_axis, repeat_last_axis
  from zipline.utils.pandas_utils import explode
  from zipline.utils.string_formatting import bulleted_list
  from .domain import Domain, GENERIC
  from .graph import maybe_specialize
  from .hooks import DelegatingHooks
  from .term import AssetExists, InputDates, LoadableTerm
  from zipline.utils.date_utils import compute_date_range_chunks
  from zipline.utils.pandas_utils import categorical_df_concat
label_desc: Use image node_id 3 for calling the SimplePipelineEngine obj's underlying member method code with example usage: obj.run_pipeline(pipeline, start_date, end_date, hooks) and returns: self