def run_cell(self, raw_cell, store_history=False, silent=False, shell_futures=True):
    "Run a complete IPython cell.\n\n        Parameters\n        ----------\n        raw_cell : str\n            The code (including IPython code such as %magic functions) to run.\n        store_history : bool\n            If True, the raw and translated cell will be stored in IPython's\n            history. For user code calling back into IPython's machinery, this\n            should be set to False.\n        silent : bool\n            If True, avoid side-effects, such as implicit displayhooks and\n            and logging.  silent=True forces store_history=False.\n        shell_futures : bool\n            If True, the code will share future statements with the interactive\n            shell. It will both be affected by previous __future__ imports, and\n            any __future__ imports in the code will affect the shell. If False,\n            __future__ imports are not shared in either direction.\n\n        Returns\n        -------\n        result : :class:`ExecutionResult`\n        "
    result = None
    try:
        result = self._run_cell(raw_cell, store_history, silent, shell_futures)
    finally:
        self.events.trigger('post_execute')
        if (not silent):
            self.events.trigger('post_run_cell', result)
    return result
Run a complete IPython cell.

Parameters
----------
raw_cell : str
    The code (including IPython code such as %magic functions) to run.
store_history : bool
    If True, the raw and translated cell will be stored in IPython's
    history. For user code calling back into IPython's machinery, this
    should be set to False.
silent : bool
    If True, avoid side-effects, such as implicit displayhooks and
    and logging.  silent=True forces store_history=False.
shell_futures : bool
    If True, the code will share future statements with the interactive
    shell. It will both be affected by previous __future__ imports, and
    any __future__ imports in the code will affect the shell. If False,
    __future__ imports are not shared in either direction.

Returns
-------
result : :class:`ExecutionResult`
def run_cell(self, raw_cell, store_history=False, silent=False, shell_futures=True):
    "Run a complete IPython cell.\n\n        Parameters\n        ----------\n        raw_cell : str\n            The code (including IPython code such as %magic functions) to run.\n        store_history : bool\n            If True, the raw and translated cell will be stored in IPython's\n            history. For user code calling back into IPython's machinery, this\n            should be set to False.\n        silent : bool\n            If True, avoid side-effects, such as implicit displayhooks and\n            and logging.  silent=True forces store_history=False.\n        shell_futures : bool\n            If True, the code will share future statements with the interactive\n            shell. It will both be affected by previous __future__ imports, and\n            any __future__ imports in the code will affect the shell. If False,\n            __future__ imports are not shared in either direction.\n\n        Returns\n        -------\n        result : :class:`ExecutionResult`\n        "
    result = None
    try:
        result = self._run_cell(raw_cell, store_history, silent, shell_futures)
    finally:
        self.events.trigger('post_execute')
        if (not silent):
            self.events.trigger('post_run_cell', result)
    return result