ipython-rtlogging is a tool that relies only on the Python standard library (except for IPython, Rich) and is used to capture and log the output streams of cells in real-time within IPython or IPython Notebook. It provides an optional solution to tackle the problem of losing cell outputs or not being able to monitor the progress of a running code after reconnecting to the Notebook.
doc.mp4
- ipython
- rich
Install the latest release with:
pip install ipython-rtloggingor download from https://github.com/wilmerwang/ipython-rtlogging and:
cd ipython-rtlogging python3 setup.py installPlease cheack this notebook
Load rt_logging in IPython or IPython Notebook:
In [1]: %load_ext rt_loggingThen can use CLI to monitor the progress of a running code:
# Simaple usage rt_logging # OR Just list the running cell rt_logging -lsThere are some extesion magic method:
In [2]: %%rt_logging? Docstring: :: %rt_logging [--no-stderr] [--no-stdout] [name] [buffering] run the cell, print and redirect stdout, stderr calls. positional arguments: name File Name buffering buffering size, 1 to select line buffering. Same as open(buffering) optional arguments: --no-stderr Dont capture stderr. --no-stdout Dont capture stdout.In [3]: %ls_logging? Docstring: :: %ls_logging [--ll] list the all logging names optional arguments: --ll File Name to LoadIn [4]: %load_logging? Docstring: :: %load_logging [--name NAME] [--top TOP] load and print logging data optional arguments: --name NAME File Names to Load --top TOP top lines to LoadIn [5]: %rm_logging? Docstring: :: %rm_logging [--name NAME] delete logging optional arguments: --name NAME File Name to LoadMIT