lgpage / nbtutor

Visualize Python code execution (line-by-line) in Jupyter Notebook cells.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nbtutor

Visualize Python code execution (line-by-line) in Jupyter Notebook cells. Inspired by Online Python Tutor

Usage Example

PyPI latest release PyPI monthly downloads PyPI wheel Supported versions Supported implementations Conda version Conda downloads

Angular test status Python check status Python test status

Binder

To try out nbtutor, click on the "launch binder" button above and then view the examples.

Install

Note: installing directly off this repo won't work, as we don't ship the built JavaScript and CSS assets. See more about developing below.

pip

pip install nbtutor
jupyter nbextension install --overwrite --py nbtutor
jupyter nbextension enable --py nbtutor

conda

conda install -c conda-forge nbtutor
jupyter nbextension install --overwrite --py nbtutor
jupyter nbextension enable --py nbtutor

Usage (Jupyter Notebook)

First load the nbtutor IPython kernel extension at top of the Notebook by executing the following magic in a CodeCell:

%load_ext nbtutor

Then to visualize the execute of code in a CodeCell add the following magic to the top of the CodeCell and execute it again:

%%nbtutor

Optional Arguments

There are also optional arguments that can be used with the cell magic:

  • Reset the IPython user namespace

    %%nbtutor -r/--reset
  • Suppress the confirmation message from -r/--reset

    %%nbtutor -r/--reset -f/--force
  • Specify the maximum frame depth to visualize (default: 3)

    %%nbtutor -d/--depth N
  • Specify the maximum number of elements to visualize for "sequence" type objects (default: 5)

    %%nbtutor --max_size S
  • Step through all frames (including frames from other cells and other global scopes altogether)

    %%nbtutor --step_all

Notes

  • If you find a problem please feel free to submit a GitHub Issue

Develop

Please see the CONTRIBUTING and DEVELOPMENT.md guides

About

Visualize Python code execution (line-by-line) in Jupyter Notebook cells.

License:Other


Languages

Language:TypeScript 78.0%Language:Python 15.4%Language:HTML 2.6%Language:SCSS 2.1%Language:JavaScript 1.8%Language:CSS 0.1%