=================
Jupyter Notebooks
=================

Jupyter Notebook cells can be executed to load the traffic models
on the sample experiment topology. The configuration of the modeling
parameters is displayed in a number of tabs, as shown below.

.. figure:: images/model-repos-directory.png

The data in tabs populate as per user entries that specify the
repositories, slice bindings, and then finally the models are
loaded to the specific network of the user in `Deploy` tab. The
last tab in the view, `Config`, has some information for the user
to keep track of the deployment stages such as logs and destination
directory information.

`trafgen` Application
---------------------

The application loads a Jupyter Lab Notebook user interface that provides
the interactive configuration capabilities to the experimenter. User's
slice information is retrieved using ``fablib`` so that there is a seamless
integration of traffic deployment on an experiment network topology. Model
bundle files provide the requisite information displayed on this user
interface in order to deploy the experimentation.

The application utilizes Jupyter `widgets` to provide the interactive
menu options, dropdown choices, entry boxes, and setup buttons that are
commonly found in browser applications. For more information, please
see `Jupyter Widgets <https://ipywidgets.readthedocs.io/en/latest/>`_

Application Tabs
----------------

.. toctree::
   :maxdepth: 2

   Repositories Tab <repos>
   Models Tab <models>
   Slice Binding with FABRIC Topology <slice>
   Deploy Tab <deploy>
