manrajgrover / halo

💫 Beautiful spinners for terminal, IPython and Jupyter
MIT License
2.88k stars 147 forks source link

Bug: halo's output doesn't persist as expected inside Jupter Lab #140

Open spencerwooo opened 4 years ago

spencerwooo commented 4 years ago

Description

Currently, halo works as expected inside Jupyter Lab, but it clears the last output after running. Is there a way that I can persist all halo's outputs after the process finishes?

halo

I imported halo with:

from halo import HaloNotebook as Halo

And I used halo in the following manner (same as the gif):

spinner = Halo(text='Some text', spinner='dots')
spinner.start()

# some time-consuming task

spinner.succeed('Loaded!')

Also, if I were to reference halo a second time, it will persist the first output and clearing the second one. Is this expected?

spinner = Halo(text='Some text', spinner='dots')
spinner.start()

# some time-consuming task

spinner.succeed('Loaded!')
spinner.start()
spinner.stop()

halo-2

System settings

``` # Name Version Build Channel _libgcc_mutex 0.1 conda_forge conda-forge _openmp_mutex 4.5 1_llvm conda-forge absl-py 0.9.0 py37_0 conda-forge astor 0.7.1 py_0 conda-forge astroid 2.3.3 py37_1 conda-forge attrs 19.3.0 py_0 conda-forge autopep8 1.5 py_0 conda-forge backcall 0.1.0 py_0 conda-forge bleach 3.1.1 py_0 conda-forge bzip2 1.0.8 h516909a_2 conda-forge c-ares 1.15.0 h516909a_1001 conda-forge ca-certificates 2019.11.28 hecc5488_0 conda-forge cairo 1.16.0 hfb77d84_1002 conda-forge certifi 2019.11.28 py37_0 conda-forge chardet 3.0.4 colorama 0.4.3 cudatoolkit 10.1.243 h6bb024c_0 defaults cursor 1.3.4 cycler 0.10.0 py_2 conda-forge dbus 1.13.6 he372182_0 conda-forge decorator 4.4.1 py_0 conda-forge defusedxml 0.6.0 py_0 conda-forge entrypoints 0.3 py37_1000 conda-forge expat 2.2.9 he1b5a44_2 conda-forge ffmpeg 4.1.3 h167e202_0 conda-forge flake8 3.7.9 py37_0 conda-forge fontconfig 2.13.1 h86ecdb6_1001 conda-forge foolbox 2.4.0 freetype 2.10.0 he983fc9_1 conda-forge future 0.18.2 py37_0 conda-forge gast 0.3.3 py_0 conda-forge gettext 0.19.8.1 hc5be6a0_1002 conda-forge giflib 5.2.1 h516909a_1 conda-forge gitdb2 3.0.2 GitPython 3.0.8 glib 2.58.3 py37h6f030ca_1002 conda-forge gmp 6.2.0 he1b5a44_2 conda-forge gnutls 3.6.5 hd3a4fd2_1002 conda-forge graphite2 1.3.13 hf484d3e_1000 conda-forge grpcio 1.23.0 py37he9ae1f9_0 conda-forge gst-plugins-base 1.14.5 h0935bb2_2 conda-forge gstreamer 1.14.5 h36ae1b5_2 conda-forge h5py 2.10.0 nompi_py37h513d04c_102 conda-forge halo 0.0.29 harfbuzz 2.4.0 h9f30f68_3 conda-forge hdf5 1.10.5 nompi_h3c11f04_1104 conda-forge icu 64.2 he1b5a44_1 conda-forge idna 2.9 importlib_metadata 1.5.0 py37_0 conda-forge ipykernel 5.1.4 py37h5ca1d4c_0 conda-forge ipython 7.12.0 py37h5ca1d4c_0 conda-forge ipython_genutils 0.2.0 py_1 conda-forge ipywidgets 7.5.1 isort 4.3.21 py37_0 conda-forge jasper 1.900.1 h07fcdf6_1006 conda-forge jedi 0.15.2 py37_0 conda-forge jinja2 2.11.1 py_0 conda-forge jpeg 9c h14c3975_1001 conda-forge json5 0.9.0 py_0 conda-forge jsonschema 3.2.0 py37_0 conda-forge jupyter-lsp 0.7.0 jupyter_client 5.3.4 py37_1 conda-forge jupyter_core 4.6.3 py37_0 conda-forge jupyterlab 1.2.6 py_0 conda-forge jupyterlab_code_formatter 1.1.0 py_0 conda-forge jupyterlab_server 1.0.6 py_0 conda-forge keras-applications 1.0.8 py_1 conda-forge keras-preprocessing 1.1.0 py_0 conda-forge kiwisolver 1.1.0 py37hc9558a2_0 conda-forge krb5 1.16.4 h2fd8d38_0 conda-forge lame 3.100 h14c3975_1001 conda-forge lazy-object-proxy 1.4.3 py37h516909a_1 conda-forge ld_impl_linux-64 2.33.1 h53a641e_8 conda-forge libblas 3.8.0 14_openblas conda-forge libcblas 3.8.0 14_openblas conda-forge libclang 9.0.1 default_hde54327_0 conda-forge libcurl 7.68.0 hda55be3_0 conda-forge libedit 3.1.20170329 hf8c457e_1001 conda-forge libffi 3.2.1 he1b5a44_1006 conda-forge libgcc-ng 9.2.0 h24d8f2e_2 conda-forge libgfortran-ng 7.3.0 hdf63c60_5 conda-forge libiconv 1.15 h516909a_1005 conda-forge liblapack 3.8.0 14_openblas conda-forge liblapacke 3.8.0 14_openblas conda-forge libllvm9 9.0.1 hc9558a2_0 conda-forge libopenblas 0.3.7 h5ec1e0e_7 conda-forge libopencv 4.2.0 py37_2 conda-forge libpng 1.6.37 hed695b0_0 conda-forge libprotobuf 3.8.0 h8b12597_0 conda-forge libsodium 1.0.17 h516909a_0 conda-forge libssh2 1.8.2 h22169c7_2 conda-forge libstdcxx-ng 9.2.0 hdf63c60_2 conda-forge libtiff 4.1.0 hc3755c2_3 conda-forge libuuid 2.32.1 h14c3975_1000 conda-forge libuv 1.34.0 h516909a_0 conda-forge libwebp 1.0.2 h56121f0_5 conda-forge libxcb 1.13 h14c3975_1002 conda-forge libxkbcommon 0.10.0 he1b5a44_0 conda-forge libxml2 2.9.10 hee79883_0 conda-forge llvm-openmp 9.0.1 hc9558a2_2 conda-forge log-symbols 0.0.14 lz4-c 1.8.3 he1b5a44_1001 conda-forge markdown 3.2.1 py_0 conda-forge markupsafe 1.1.1 py37h516909a_0 conda-forge matplotlib 3.1.3 py37_0 conda-forge matplotlib-base 3.1.3 py37h250f245_0 conda-forge mccabe 0.6.1 py_1 conda-forge mistune 0.8.4 py37h516909a_1000 conda-forge mkl 2019.5 281 conda-forge mock 3.0.5 py37_0 conda-forge nbconvert 5.6.1 py37_0 conda-forge nbformat 5.0.4 py_0 conda-forge ncurses 6.1 hf484d3e_1002 conda-forge nettle 3.4.1 h1bed415_1002 conda-forge ninja 1.10.0 hc9558a2_0 conda-forge nodejs 13.9.0 h10a4023_0 conda-forge notebook 6.0.3 py37_0 conda-forge nspr 4.25 he1b5a44_0 conda-forge nss 3.47 he751ad9_0 conda-forge numpy 1.18.1 py37h95a1406_0 conda-forge olefile 0.46 py_0 conda-forge opencv 4.2.0 py37_2 conda-forge openh264 1.8.0 hdbcaa40_1000 conda-forge openssl 1.1.1d h516909a_0 conda-forge packaging 20.1 py_0 conda-forge pandoc 2.9.2 0 conda-forge pandocfilters 1.4.2 py_1 conda-forge parso 0.6.1 py_0 conda-forge pcre 8.44 he1b5a44_0 conda-forge pexpect 4.8.0 py37_0 conda-forge pickleshare 0.7.5 py37_1000 conda-forge pillow 7.0.0 py37hefe7db6_0 conda-forge pip 20.0.2 py_2 conda-forge pixman 0.38.0 h516909a_1003 conda-forge pluggy 0.13.0 py37_0 conda-forge prometheus_client 0.7.1 py_0 conda-forge prompt_toolkit 3.0.3 py_0 conda-forge protobuf 3.8.0 py37he1b5a44_2 conda-forge pthread-stubs 0.4 h14c3975_1001 conda-forge ptyprocess 0.6.0 py_1001 conda-forge py-opencv 4.2.0 py37h5ca1d4c_2 conda-forge pycodestyle 2.5.0 py_0 conda-forge pydocstyle 5.0.2 py_0 conda-forge pyflakes 2.1.1 py_0 conda-forge pygments 2.5.2 py_0 conda-forge pylint 2.4.4 py37_0 conda-forge pyparsing 2.4.6 py_0 conda-forge pyqt 5.12.3 py37hcca6a23_1 conda-forge pyrsistent 0.15.7 py37h516909a_0 conda-forge python 3.7.6 h357f687_2 conda-forge python-dateutil 2.8.1 py_0 conda-forge python-jsonrpc-server 0.3.4 py_0 conda-forge python-language-server 0.31.7 py37_0 conda-forge pytorch 1.4.0 py3.7_cuda10.1.243_cudnn7.6.3_0 pytorch pyzmq 18.1.1 py37h1768529_0 conda-forge qt 5.12.5 hd8c4c69_1 conda-forge readline 8.0 hf8c457e_0 conda-forge requests 2.23.0 rope 0.16.0 py_0 conda-forge scipy 1.4.1 py37h921218d_0 conda-forge send2trash 1.5.0 py_0 conda-forge setuptools 45.2.0 py37_0 conda-forge six 1.14.0 py37_0 conda-forge smmap2 2.0.5 snowballstemmer 2.0.0 py_0 conda-forge spinners 0.0.24 sqlite 3.30.1 hcee41ef_0 conda-forge tensorboard 1.13.1 py37_0 conda-forge tensorflow 1.13.1 h5ece82f_5 conda-forge tensorflow-base 1.13.1 py37h5ece82f_5 conda-forge tensorflow-estimator 1.13.0 py_0 defaults termcolor 1.1.0 py_2 conda-forge terminado 0.8.3 py37_0 conda-forge testpath 0.4.4 py_0 conda-forge tk 8.6.10 hed695b0_0 conda-forge torchvision 0.5.0 py37_cu101 pytorch tornado 6.0.3 py37h516909a_4 conda-forge tqdm 4.43.0 py_0 conda-forge traitlets 4.3.3 py37_0 conda-forge typed-ast 1.4.1 py37h516909a_0 conda-forge ujson 1.35 py37h516909a_1001 conda-forge urllib3 1.25.8 wcwidth 0.1.8 py_0 conda-forge webencodings 0.5.1 py_1 conda-forge werkzeug 1.0.0 py_0 conda-forge wheel 0.34.2 py_1 conda-forge widgetsnbextension 3.5.1 wrapt 1.12.0 py37h516909a_0 conda-forge x264 1!152.20180806 h14c3975_0 conda-forge xorg-kbproto 1.0.7 h14c3975_1002 conda-forge xorg-libice 1.0.10 h516909a_0 conda-forge xorg-libsm 1.2.3 h84519dc_1000 conda-forge xorg-libx11 1.6.9 h516909a_0 conda-forge xorg-libxau 1.0.9 h14c3975_0 conda-forge xorg-libxdmcp 1.1.3 h516909a_0 conda-forge xorg-libxext 1.3.4 h516909a_0 conda-forge xorg-libxrender 0.9.10 h516909a_1002 conda-forge xorg-renderproto 0.11.1 h14c3975_1002 conda-forge xorg-xextproto 7.3.0 h14c3975_1002 conda-forge xorg-xproto 7.0.31 h14c3975_1007 conda-forge xz 5.2.4 h14c3975_1001 conda-forge yapf 0.28.0 py_0 conda-forge yaspin 0.16.0 zeromq 4.3.2 he1b5a44_2 conda-forge zipp 2.2.0 py_0 conda-forge zlib 1.2.11 h516909a_1006 conda-forge zstd 1.4.4 h3b9ef0a_1 conda-forge ```