Interactive scripting¶
GRR Colab is an alternative GRR API that allows you to work with GRR interactively. It is represented as IPython extension and can be used with IPython itself, Jupyter or Colaboratory.
Extension API¶
The GRR Colab offers two APIs.
Python API allows to work with multiple clients simultaneously since each client is represented as a usual Python object. All functions return Protobuf objects for non-trivial values. In order to start a flow you just call a single method. Python API does not have a state so you have to always specify absolute paths.
Magic API has a state and that’s why it allows to work with a single client only since you have to select a client first. The magic commands have Bash-like syntax and return Pandas dataframes for non-trivial values. The state allows you to work with relative paths also.
More details about both APIs you can find here in the Jupyter notebook demo.
Enabling GRR IPython extension¶
First, install grr-colab
Python package. On successful installation you
should be able to import grr_colab
from Python (or IPython) terminal. Python
API should be already available for you.
In order to enable Magic API grr_colab.ipython_extension
must be loaded. You
may do this in two ways:
- If you want the extension to be loaded on the IPython kernel start, open
IPython config file and add
grr_colab.ipython_extension
toc.InteractiveShellApp.extensions
list. Then Magic API should be available right after creating new Jupyter notebook or starting new IPython session. - If you want to enable the extension for the current session only, run
%load_ext grr_colab.ipython_extension
command in you Jupyter notebook or IPython terminal.