benlubas/molten-nvim

[Bug] Issue regarding the cell execution if we delete the content of the cell at the end of a file

wisebreadloaf opened this issue · 0 comments

  • OS: Arch Linux
  • NeoVim Version: NVIM v0.9.5
  • Python Version: Python 3.11.8
  • Python is installed with: pacman
  • Health checks: shows no errors
============================================================================== molten: require("molten.health").check()

molten-nvim ~

  • OK NeoVim >=0.9
  • OK Python >=3.10
  • OK Python module pynvim found
  • OK Python module jupyter-client found
  • OK Python module cairosvg found
  • OK Python module pnglatex found
  • OK Python module plotly found
  • OK Python module kaleido found
  • OK Python module pyperclip found
  • OK Python module nbformat found
  • OK Python module pillow found
`:checkhealth provider` (the python parts)
Alt text

Description

I think the bug is caused when I create a cell by executing code and then remove lines from the cell in normal mode using the dd command especially at the end of the file the plugin tries to access a line that does not exist in file which causes the error

Error invoking '/home/bored/.local/share/nvim/site/pack/packer/start/molten-nvim/rplugin/python
3/molten:function:MoltenTick' on channel 14 (python3-rplugin-host):                            
error caught in request handler '/home/bored/.local/share/nvim/site/pack/packer/start/molten-nv
im/rplugin/python3/molten:function:MoltenTick [[8]]':                                          
Traceback (most recent call last):                                                             
  File "/home/bored/.local/share/nvim/site/pack/packer/start/molten-nvim/rplugin/python3/molten
/utils.py", line 11, in inner                                                                  
    func(self, *args, **kwargs)                                                                
  File "/home/bored/.local/share/nvim/site/pack/packer/start/molten-nvim/rplugin/python3/molten
/__init__.py", line 872, in function_molten_tick                                               
    m.tick()                                                                                   
  File "/home/bored/.local/share/nvim/site/pack/packer/start/molten-nvim/rplugin/python3/molten
/moltenbuffer.py", line 232, in tick                                                           
    self.update_interface()                                                                    
  File "/home/bored/.local/share/nvim/site/pack/packer/start/molten-nvim/rplugin/python3/molten
/moltenbuffer.py", line 364, in update_interface                                               
    self._show_selected(self.selected_cell)                                                    
  File "/home/bored/.local/share/nvim/site/pack/packer/start/molten-nvim/rplugin/python3/molten
/moltenbuffer.py", line 438, in _show_selected                                                 
    self.outputs[span].show_floating_win(span.end)                                             
  File "/home/bored/.local/share/nvim/site/pack/packer/start/molten-nvim/rplugin/python3/molten
/outputbuffer.py", line 281, in show_floating_win                                              
    win_row = self._buffer_to_window_lineno(anchor.lineno + 1)                                 
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                 
  File "/home/bored/.local/share/nvim/site/pack/packer/start/molten-nvim/rplugin/python3/molten
/outputbuffer.py", line 48, in _buffer_to_window_lineno                                        
    return self.lua.calculate_window_position(lineno)                                          
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                          
  File "/home/bored/.local/lib/python3.11/site-packages/pynvim/api/nvim.py", line 599, in __cal
l__                                                                                            
    return self._nvim.exec_lua(code, *args, **kwargs)                                          
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                          
  File "/home/bored/.local/lib/python3.11/site-packages/pynvim/api/nvim.py", line 344, in exec_
lua                                                                                            
    return self.request('nvim_execute_lua', code, args, **kwargs)                              
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                              
  File "/home/bored/.local/lib/python3.11/site-packages/pynvim/api/nvim.py", line 199, in reque
st                                                                                             
    res = self._session.request(name, *args, **kwargs)                                         
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                         
  File "/home/bored/.local/lib/python3.11/site-packages/pynvim/msgpack_rpc/session.py", line 13
9, in request                                                                                  
    raise self.error_wrapper(err)                                                              
pynvim.api.common.NvimError: Error executing lua: Vim:E966: Invalid line number: 509           
stack traceback:                                                                               
        [C]: in function 'screenpos'                                                           
        ...site/pack/packer/start/molten-nvim/lua/output_window.lua:9: in function <...site/pac
k/packer/start/molten-nvim/lua/output_window.lua:7>
Error detected while processing function MoltenTick[1]..remote#define#request:                 
line    2:                                                                                     
Error invoking '/home/bored/.local/share/nvim/site/pack/packer/start/molten-nvim/rplugin/python
3/molten:function:MoltenTick' on channel 14 (python3-rplugin-host):                            
error caught in request handler '/home/bored/.local/share/nvim/site/pack/packer/start/molten-nv
im/rplugin/python3/molten:function:MoltenTick [[8]]':                                          
Traceback (most recent call last):                                                             
  File "/home/bored/.local/share/nvim/site/pack/packer/start/molten-nvim/rplugin/python3/molten
/utils.py", line 11, in inner                                                                  
    func(self, *args, **kwargs)                                                                
  File "/home/bored/.local/share/nvim/site/pack/packer/start/molten-nvim/rplugin/python3/molten
/__init__.py", line 872, in function_molten_tick                                               
    m.tick()                                                                                   
  File "/home/bored/.local/share/nvim/site/pack/packer/start/molten-nvim/rplugin/python3/molten
/moltenbuffer.py", line 232, in tick                                                           
    self.update_interface()                                                                    
  File "/home/bored/.local/share/nvim/site/pack/packer/start/molten-nvim/rplugin/python3/molten
/moltenbuffer.py", line 364, in update_interface                                               
    self._show_selected(self.selected_cell)                                                    
  File "/home/bored/.local/share/nvim/site/pack/packer/start/molten-nvim/rplugin/python3/molten
/moltenbuffer.py", line 438, in _show_selected                                                 
    self.outputs[span].show_floating_win(span.end)                                             
  File "/home/bored/.local/share/nvim/site/pack/packer/start/molten-nvim/rplugin/python3/molten
/outputbuffer.py", line 281, in show_floating_win                                              
    win_row = self._buffer_to_window_lineno(anchor.lineno + 1)                                 
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                 
  File "/home/bored/.local/share/nvim/site/pack/packer/start/molten-nvim/rplugin/python3/molten
/outputbuffer.py", line 48, in _buffer_to_window_lineno                                        
    return self.lua.calculate_window_position(lineno)                                          
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                          
  File "/home/bored/.local/lib/python3.11/site-packages/pynvim/api/nvim.py", line 599, in __cal
l__                                                                                            
    return self._nvim.exec_lua(code, *args, **kwargs)                                          
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                          
  File "/home/bored/.local/lib/python3.11/site-packages/pynvim/api/nvim.py", line 344, in exec_
lua                                                                                            
    return self.request('nvim_execute_lua', code, args, **kwargs)                              
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                              
  File "/home/bored/.local/lib/python3.11/site-packages/pynvim/api/nvim.py", line 199, in reque
st                                                                                             
    res = self._session.request(name, *args, **kwargs)                                         
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                         
  File "/home/bored/.local/lib/python3.11/site-packages/pynvim/msgpack_rpc/session.py", line 13
9, in request                                                                                  
    raise self.error_wrapper(err)                                                              
pynvim.api.common.NvimError: Error executing lua: Vim:E966: Invalid line number: 509           
stack traceback:                                                                               
        [C]: in function 'screenpos'                                                           
        ...site/pack/packer/start/molten-nvim/lua/output_window.lua:9: in function <...site/pac

Reproduction Steps

Steps to reproduce the behavior.
Open any python or file and execute multiple lines of code using the MoltenEvaluateVisual, remove one line of code in the code block in normal mode using dd. this will cause an error that I have provided above which comes full screen.

pip freeze from the python3 host program

- absl-py==1.4.0
- accelerate==0.27.2
- aiofiles==23.2.1
- aiohttp==3.9.1
- aioice==0.9.0
- aiortc==1.8.0
- aiosignal==1.3.1
- altair==5.2.0
- annotated-types==0.6.0
- antlr4-python3-runtime==4.9.3
- anyio==4.3.0
- apparmor==3.1.7
- appdirs==1.4.4
- argcomplete==2.0.0
- argon2-cffi==23.1.0
- argon2-cffi-bindings==21.2.0
- array-record==0.5.0
- arrow==1.3.0
- asgiref==3.7.2
- astroid==2.4.2
- asttokens==2.4.1
- astunparse==1.6.3
- async-lru==2.0.4
- asyncio==3.4.3
- attrs==23.2.0
- audioread==3.0.1
- autocommand==2.2.2
- Automat==22.10.0
- av==11.0.0
- awscli==1.32.45
- Babel==2.14.0
- backoff==2.2.1
- bcrypt==4.1.2
- beartype==0.17.2
- beautifulsoup4==4.8.2
- bidict==0.22.1
- bitsandbytes==0.42.0
- black==24.3.0
- bleach==6.1.0
- blessed==1.20.0
- blinker==1.7.0
- boto3==1.34.25
- botocore==1.34.45
- Brlapi==0.8.5
- btrfsutil==6.7.1
- build==1.0.3
- cachetools==5.3.3
- caer==2.0.8
- cairocffi==1.6.1
- CairoSVG==2.7.1
- certifi==2024.2.2
- cffi==1.16.0
- chardet==3.0.4
- charset-normalizer==3.3.2
- chroma-hnswlib==0.7.3
- chromadb==0.4.22
- classifier-free-guidance-pytorch==0.5.3
- click==8.1.7
- clip @ git+https://github.com/openai/CLIP.git@a1d071733d7111c9c014f024669f959182114e33
- cloudinary==1.39.0
- cloudpickle==3.0.0
- cmake==3.28.3
- cohere==5.2.4
- colorama==0.4.4
- coloredlogs==15.0.1
- CoLT5-attention==0.10.19
- comm==0.2.2
- constantly==23.10.4
- contourpy==1.2.0
- crit==3.18
- croniter==1.4.1
- cryptography==42.0.5
- cssselect2==0.7.0
- ctranslate2==4.0.0
- curl_cffi==0.6.2
- cvzone==1.6.1
- cycler==0.12.1
- dalle3==0.1.0
- dataclasses-json==0.6.3
- dataclasses-json-speakeasy==0.5.11
- datasets==2.18.0
- dateutils==0.6.12
- dbus-python==1.3.2
- debugpy==1.8.1
- decorator==5.1.1
- deepdiff==6.7.1
- defusedxml==0.7.1
- Deprecated==1.2.14
- diffusers @ git+https://github.com/huggingface/diffusers@c09bb588d39bfdfe6614a43698297418dbf46d77
- dill==0.3.7
- dirtyjson==1.0.8
- distro==1.9.0
- dm-tree==0.1.8
- dnspython==2.6.1
- docker-pycreds==0.4.0
- docopt==0.6.2
- docutils==0.16
- duckduckgo_search==5.3.0
- editor==1.6.5
- effdet==0.4.1
- einops==0.7.0
- einops-exts==0.0.4
- einx==0.1.3
- emoji==2.10.1
- et-xmlfile==1.1.0
- etils==1.6.0
- evdev==1.6.1
- executing==2.0.0
- faiss-cpu==1.8.0
- fastapi==0.110.0
- fastavro==1.9.4
- faster-whisper==1.0.0
- fastjsonschema==2.19.1
- ffmpy==0.3.2
- filelock==3.13.1
- filetype==1.2.0
- flake8==7.0.0
- Flask==3.0.1
- Flask-Cors==4.0.0
- Flask-SocketIO==5.3.6
- flatbuffers==23.5.26
- fonttools==4.49.0
- fqdn==1.5.1
- frozendict==2.4.0
- frozenlist==1.4.1
- fsspec==2024.2.0
- ftfy==6.1.3
- fuzzywuzzy==0.18.0
- gast==0.5.4
- gemini-torch==0.2.0
- ggl==1.1.0
- gitdb==4.0.11
- GitPython==3.1.42
- google-ai-generativelanguage==0.4.0
- google-api-core==2.16.2
- google-auth==2.27.0
- google-auth-oauthlib==1.0.0
- google-cloud-core==2.4.1
- google-cloud-storage==2.14.0
- google-crc32c==1.5.0
- google-generativeai==0.3.2
- google-pasta==0.2.0
- google-resumable-media==2.7.0
- googleapis-common-protos==1.62.0
- googletrans==3.0.0
- gradio==4.21.0
- gradio_client==0.12.0
- greenlet==3.0.3
- grpcio==1.62.0
- grpcio-status==1.62.0
- grpcio-tools==1.60.0
- h11==0.14.0
- h2==3.2.0
- h5py==3.10.0
- hpack==3.0.0
- hrtx==0.0.8
- hstspreload==2024.2.1
- httpcore==1.0.4
- httptools==0.6.1
- httpx==0.27.0
- huggingface-hub==0.21.4
- humanfriendly==10.0
- hyperframe==5.2.0
- hyperlink==21.0.0
- idna==2.10
- ifaddr==0.2.0
- ilua==0.2.1
- imageio==2.34.0
- img2pdf==0.5.1
- importlib-metadata==6.11.0
- importlib_resources==6.3.0
- imutils==0.5.4
- incremental==22.10.0
- inflect==7.0.0
- iniconfig==2.0.0
- inquirer==3.2.1
- inquirerpy==0.3.4
- iopath==0.1.10
- ipykernel==6.29.3
- ipython==8.22.2
- ipywidgets==8.1.2
- isoduration==20.11.0
- isort==4.3.21
- itsdangerous==2.1.2
- jaraco.context==4.3.0
- jaraco.functools==4.0.0
- jaraco.text==3.12.0
- jax==0.4.24
- jaxlib==0.4.24
- jedi==0.19.1
- Jinja2==3.1.3
- jmespath==1.0.1
- joblib==1.3.2
- json5==0.9.22
- jsonpatch==1.33
- jsonpath-python==1.0.6
- jsonpointer==2.4
- jsonschema==4.21.1
- jsonschema-specifications==2023.12.1
- jupyter==1.0.0
- jupyter-console==6.6.3
- jupyter-events==0.9.1
- jupyter-lsp==2.2.4
- jupyter_client==8.6.1
- jupyter_core==5.7.2
- jupyter_server==2.13.0
- jupyterlab==4.1.5
- jupyterlab_pygments==0.3.0
- jupyterlab_server==2.25.4
- jupyterlab_widgets==3.0.10
- kagglehub==0.1.9
- kaleido==0.2.1
- keras==2.15.0
- keras-core==0.1.7
- keras-cv==0.8.2
- kiwisolver==1.4.5
- kubernetes==29.0.0
- langchain==0.1.3
- langchain-community==0.0.17
- langchain-core==0.1.18
- langchain-experimental==0.0.49
- langdetect==1.0.9
- langsmith==0.0.83
- layoutparser==0.3.4
- lazy-object-proxy==1.4.3
- lazy_loader==0.3
- Levenshtein==0.25.0
- LibAppArmor==3.1.7
- libclang==16.0.6
- libcst==1.1.0
- librosa==0.10.1
- lightning-cloud==0.5.61
- lightning-utilities==0.10.1
- lion-pytorch==0.1.2
- lit==17.0.6.dev0
- llama-index==0.9.41
- llvmlite==0.42.0
- local-attention==1.9.0
- loguru==0.7.2
- louis==3.29.0
- lxml==5.1.0
- mambabyte==0.0.2
- Markdown==3.5.2
- markdown-it-py==3.0.0
- MarkupSafe==2.1.5
- marshmallow==3.20.2
- matplotlib==3.8.3
- matplotlib-inline==0.1.6
- mccabe==0.7.0
- mdurl==0.1.2
- mediapipe==0.10.11
- minerl-navigate==1.1.0
- mistune==3.0.2
- ml-dtypes==0.2.0
- mmh3==4.1.0
- moddb==0.10.0
- monotonic==1.6
- more-itertools==10.2.0
- mpmath==1.3.0
- msg-parser==1.2.0
- msgpack==1.0.7
- multidict==6.0.4
- multiprocess==0.70.15
- mypy==1.8.0
- mypy-extensions==1.0.0
- namex==0.0.7
- nbclient==0.10.0
- nbconvert==7.16.2
- nbformat==5.10.2
- nest_asyncio==1.5.9
- netsnmp-python==1.0a1
- networkx==3.2.1
- nftables==0.1
- nltk==3.8.1
- notebook==7.1.2
- notebook_shim==0.2.4
- numba==0.59.0
- numexpr==2.9.0
- numpy==1.25.2
- nvidia-cublas-cu11==11.10.3.66
- nvidia-cublas-cu12==12.1.3.1
- nvidia-cuda-cupti-cu11==11.7.101
- nvidia-cuda-cupti-cu12==12.1.105
- nvidia-cuda-nvrtc-cu11==11.7.99
- nvidia-cuda-nvrtc-cu12==12.1.105
- nvidia-cuda-runtime-cu11==11.7.99
- nvidia-cuda-runtime-cu12==12.1.105
- nvidia-cudnn-cu11==8.5.0.96
- nvidia-cudnn-cu12==8.9.2.26
- nvidia-cufft-cu11==10.9.0.58
- nvidia-cufft-cu12==11.0.2.54
- nvidia-curand-cu11==10.2.10.91
- nvidia-curand-cu12==10.3.2.106
- nvidia-cusolver-cu11==11.4.0.1
- nvidia-cusolver-cu12==11.4.5.107
- nvidia-cusparse-cu11==11.7.4.91
- nvidia-cusparse-cu12==12.1.0.106
- nvidia-nccl-cu11==2.14.3
- nvidia-nccl-cu12==2.19.3
- nvidia-nvjitlink-cu12==12.3.101
- nvidia-nvtx-cu11==11.7.91
- nvidia-nvtx-cu12==12.1.105
- oauthlib==3.2.2
- olefile==0.47
- omegaconf==2.3.0
- onnx==1.15.0
- onnxruntime==1.15.1
- open-clip-torch==2.24.0
- openai==0.28.0
- openai-whisper @ git+https://github.com/openai/whisper.git@ba3f3cd54b0e5b8ce1ab3de13e32122d0d5f98ab
- opencv-contrib-python==4.9.0.80
- opencv-python==4.9.0.80
- opencv-python-headless==4.9.0.80
- openpyxl==3.1.2
- opentelemetry-api==1.22.0
- opentelemetry-exporter-otlp-proto-common==1.22.0
- opentelemetry-exporter-otlp-proto-grpc==1.22.0
- opentelemetry-instrumentation==0.43b0
- opentelemetry-instrumentation-asgi==0.43b0
- opentelemetry-instrumentation-fastapi==0.43b0
- opentelemetry-proto==1.22.0
- opentelemetry-sdk==1.22.0
- opentelemetry-semantic-conventions==0.43b0
- opentelemetry-util-http==0.43b0
- opt-einsum==3.3.0
- ordered-set==4.1.0
- orjson==3.10.0
- outcome==1.3.0.post0
- overrides==7.7.0
- packaging==23.2
- pandas==2.2.1
- pandocfilters==1.5.1
- parso==0.8.3
- pathspec==0.12.1
- pathtools==0.1.2
- pdf2image==1.17.0
- pdfminer.six==20221105
- pdfplumber==0.10.3
- peft==0.4.0
- pendulum==3.0.0
- pexpect==4.9.0
- pfzy==0.3.4
- pikepdf==8.11.2
- pillow==10.2.0
- pipx==1.4.3
- platformdirs==4.2.0
- playwright==1.43.0
- plotly==5.21.0
- pluggy==1.4.0
- ply==3.11
- pnglatex==1.1
- pooch==1.8.1
- portalocker==2.8.2
- posthog==3.3.4
- prettytable==3.10.0
- prometheus_client==0.20.0
- promise==2.3
- prompt-toolkit==3.0.43
- proto-plus==1.23.0
- protobuf==4.25.3
- psutil==5.9.8
- ptyprocess==0.7.0
- PuLP==2.8.0
- pulsar-client==3.4.0
- pure-eval==0.2.2
- pwquality==1.4.5
- pyarrow==15.0.1
- pyarrow-hotfix==0.6
- pyasn1==0.5.1
- pyasn1-modules==0.3.0
- PyAudio==0.2.14
- pybase64==1.3.2
- pycairo==1.26.0
- pycocotools==2.0.7
- pycodestyle==2.11.1
- pycparser==2.21
- pydantic==2.6.4
- pydantic_core==2.16.3
- pydeck==0.8.1b0
- pydub==0.25.1
- pyee==11.1.0
- pyflakes==3.2.0
- Pygments==2.17.2
- PyGObject==3.46.0
- PyJWT==2.8.0
- pylibsrtp==0.10.0
- PyMuPDF==1.23.17
- PyMuPDFb==1.23.9
- PyMySQL==1.1.0
- pynvim==0.5.0
- pyOpenSSL==24.1.0
- pypandoc==1.12
- pyparsing==3.1.2
- pypdf==4.0.1
- PyPDF2==3.0.1
- pypdfium2==4.26.0
- pyperclip==1.8.2
- PyPika==0.48.9
- pyproject_hooks==1.0.0
- PyQt5==5.15.10
- PyQt5-Qt5==5.15.2
- PyQt5-sip==12.13.0
- pyrate-limiter==3.4.1
- pyrsistent==0.19.3
- PySocks==1.7.1
- pytesseract==0.3.10
- pytest==8.0.2
- python-dateutil==2.9.0.post0
- python-docx==1.1.0
- python-dotenv==1.0.1
- python-engineio==4.8.2
- python-iso639==2024.1.2
- python-json-logger==2.0.7
- python-Levenshtein==0.25.0
- python-magic==0.4.27
- python-multipart==0.0.9
- python-pptx==0.6.23
- python-socketio==5.11.0
- python-xlib==0.33
- pytorch-lightning==2.1.3
- pytube==15.0.0
- pytz==2024.1
- pyxdg==0.28
- PyYAML==6.0.1
- pyzmq==25.1.2
- qdrant-client==1.7.1
- qtconsole==5.5.1
- QtPy==2.4.1
- quran==1.0.0
- ranger-fm==1.9.3
- rapidfuzz==3.6.1
- ratelimit==2.2.1
- readchar==4.0.5
- referencing==0.33.0
- regex==2023.12.25
- replicate==0.24.0
- reportlab==4.0.9
- requests==2.31.0
- requests-oauthlib==1.3.1
- rfc3339-validator==0.1.4
- rfc3986==1.5.0
- rfc3986-validator==0.1.1
- rich==13.7.0
- rotary-embedding-torch==0.5.3
- rpds-py==0.18.0
- rsa==4.7.2
- ruamel.yaml==0.18.5
- ruamel.yaml.clib==0.2.8
- ruff==0.3.2
- runs==1.2.0
- s3transfer==0.10.0
- s5-pytorch==0.1.9
- safetensors==0.4.1
- scikit-learn==1.4.0
- scipy==1.9.3
- selenium==4.19.0
- semantic-version==2.10.0
- Send2Trash==1.8.2
- sentence-transformers==2.3.1
- sentencepiece==0.2.0
- sentry-sdk==1.40.5
- setproctitle==1.3.3
- shellingham==1.5.4
- simple-websocket==1.0.0
- six==1.15.0
- skypilot==0.4.1
- smmap==5.0.1
- sniffio==1.3.1
- sortedcontainers==2.4.0
- sounddevice==0.4.6
- soundfile==0.12.1
- soupsieve==2.5
- soxr==0.3.7
- SpeechRecognition==3.10.1
- SQLAlchemy==2.0.25
- stack-data==0.6.3
- starlette==0.36.3
- starsessions==1.3.0
- streamlit==1.32.2
- streamlit-webrtc==0.47.6
- swarms==2.4.0
- sympy==1.12
- tabula==1.0.5
- tabula-py==2.9.0
- tabulate==0.9.0
- tenacity==8.2.3
- tensorboard==2.15.2
- tensorboard-data-server==0.7.2
- tensorflow==2.15.0.post1
- tensorflow-datasets==4.9.4
- tensorflow-estimator==2.15.0
- tensorflow-gan==2.1.0
- tensorflow-hub==0.15.0
- tensorflow-io-gcs-filesystem==0.35.0
- tensorflow-metadata==1.14.0
- tensorflow-probability==0.24.0
- termcolor==2.4.0
- terminado==0.18.1
- threadpoolctl==3.2.0
- tiktoken==0.6.0
- time-machine==2.13.0
- timm==0.9.16
- tinycss2==1.2.1
- tokenizers==0.15.2
- tokenmonster==1.1.12
- toml==0.10.1
- tomli==2.0.1
- tomlkit==0.12.0
- toolz==0.12.1
- torch==2.2.0
- torchaudio==2.0.2
- torchdata==0.6.1
- torchdiffeq==0.2.3
- TorchFix==0.4.0
- torchmetrics==1.0.3
- torchshow==0.5.1
- torchtext==0.15.2
- torchvision==0.17.0
- tornado==6.4
- tqdm==4.66.2
- traitlets==5.14.2
- transformers==4.38.2
- trio==0.25.0
- trio-websocket==0.11.1
- triton==2.2.0
- trl==0.4.7
- trove-classifiers==2024.3.6
- Twisted==24.3.0
- txZMQ==1.0.0
- typer==0.9.0
- types-python-dateutil==2.8.19.20240106
- types-requests==2.31.0.6
- types-urllib3==1.26.25.14
- typing==3.7.4.3
- typing-inspect==0.9.0
- typing_extensions==4.10.0
- tzdata==2024.1
- uc-micro-py==1.0.3
- ueberzug @ file:///home/bored/ueberzug
- undetected-chromedriver==3.5.5
- unstructured==0.12.3
- unstructured-client==0.17.0
- unstructured-inference==0.7.23
- unstructured.pytesseract==0.3.12
- uri-template==1.3.0
- urllib3==1.26.18
- userpath==1.9.2
- utils==1.0.2
- uvicorn==0.28.0
- uvloop==0.19.0
- validate-pyproject==0.13.post1.dev0+gb752273.d20230520
- vector_quantize_pytorch==1.14.1
- wandb==0.15.9
- watchdog==4.0.0
- watchfiles==0.21.0
- wcwidth==0.2.13
- webcolors==1.13
- webencodings==0.5.1
- websocket-client==1.7.0
- websockets==11.0.3
- Werkzeug==3.0.1
- wget==3.2
- whisper==1.1.10
- widgetsnbextension==4.0.10
- wrapt==1.12.1
- wsproto==1.2.0
- xlrd==2.0.1
- XlsxWriter==3.1.9
- xmod==1.8.1
- xxhash==3.4.1
- yarl==1.9.4
- zetascale==2.2.6
- zipp==3.17.0
- zope.interface==6.3

Expected Behavior

deleting content inside a cell in normal mode shouldnt cause this error.