Giter Site home page Giter Site logo

modin-project / modin-spreadsheet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from quantopian/qgrid

21.0 21.0 5.0 53.72 MB

An interactive grid for sorting, filtering, and editing DataFrames in Jupyter notebooks

License: Apache License 2.0

Python 72.99% JavaScript 21.83% CSS 5.18%

modin-spreadsheet's People

Contributors

andyfaff avatar babymastodon avatar blink1073 avatar consideratio avatar devin-petersohn avatar djchou avatar fawce avatar fhgd avatar greenberga avatar henryiii avatar hottwaj avatar itcarroll avatar pyrito avatar rdhyee avatar richafrank avatar richardlin047 avatar richlysakowski avatar sergiuser1 avatar snth avatar ssanderson avatar timshawver avatar tobias-aam avatar toddrme2178 avatar valerieyip avatar willcrichton avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

modin-spreadsheet's Issues

Ignore UserWarnings in widget

Common UserWarnings may be off-putting for newcomers. DataFrame.to_json is a function that defaults to pandas implementation and is called whenever the spreadsheet rows are rendered.

Sorting on the widget also causes a UserWarning.

Should we ignore all UserWarnings in the spreadsheet API?

No module named 'modin_spreadsheet'

Environment

  • Operating System: Windows 10.0.22621
  • Python Version: 3.10.11.final.0
    python 3.10.11 h11da44f_0 intel
  • How did you install modin-spreadsheet: pip install "modin[spreadsheet]"
Python packages:

aiohttp==3.8.5
aiohttp-cors==0.7.0
aiosignal==1.3.1
ansicon==1.89.0
anyio==3.7.1
argon2-cffi==21.3.0
argon2-cffi-bindings==21.2.0
arrow==1.2.3
asn1crypto @ file:///home/conda/feedstock_root/build_artifacts/asn1crypto_1647369152656/work
asttokens==2.2.1
async-lru==2.0.3
async-timeout==4.0.2
attrs==23.1.0
Babel==2.12.1
backcall==0.2.0
beautifulsoup4==4.12.2
bleach==6.0.0
blessed==1.20.0
boto3==1.28.10
botocore==1.31.10
brotlipy @ file:///D:/bld/brotlipy_1666764804378/work
cachetools==5.3.1
certifi==2023.5.7
cffi @ file:///D:/bld/cffi_1671179506518/work
chardet @ file:///D:/bld/chardet_1669990505384/work
charset-normalizer @ file:///home/conda/feedstock_root/build_artifacts/charset-normalizer_1678108872112/work
click==8.1.6
cloudpickle==2.2.1
colorama @ file:///home/conda/feedstock_root/build_artifacts/colorama_1666700638685/work
colorful==0.5.5
comm==0.1.3
conda_package_streaming @ file:///home/conda/feedstock_root/build_artifacts/conda-package-streaming_1685101166527/work
cryptography @ file:///D:/bld/cryptography-split_1685659586775/work
cycler @ file:///home/conda/feedstock_root/build_artifacts/cycler_1635519461629/work
Cython @ file:///D:/bld/cython_1685025169174/work
dask==2023.7.1
debugpy==1.6.7
decorator==5.1.1
defusedxml==0.7.1
distlib==0.3.7
distributed==2023.7.1
dpcpp-llvm-spirv==0.0.0+dev
dpctl==0.14.5+24.g33c241c01
dpnp==0.12.1
exceptiongroup==1.1.2
executing==1.2.0
fastjsonschema==2.18.0
filelock==3.12.2
fqdn==1.5.1
frozenlist==1.4.0
fsspec==2023.6.0
funcsigs==1.0.2
google-api-core==2.11.1
google-auth==2.22.0
googleapis-common-protos==1.59.1
gpustat==1.1
grpcio==1.56.2
idna @ file:///home/conda/feedstock_root/build_artifacts/idna_1663625384323/work
importlib-metadata==6.8.0
ipykernel==6.25.0
ipython==8.14.0
ipython-genutils==0.2.0
ipywidgets==7.0.0
isoduration==20.11.0
jedi==0.18.2
Jinja2==3.1.2
jinxed==1.2.0
jmespath==1.0.1
joblib @ file:///home/conda/feedstock_root/build_artifacts/joblib_1663332044897/work
json5==0.9.14
jsonpatch @ file:///home/conda/feedstock_root/build_artifacts/jsonpatch_1632759296524/work
jsonpointer==2.0
jsonschema==4.18.4
jsonschema-specifications==2023.7.1
jupyter==1.0.0
jupyter-console==6.6.3
jupyter-events==0.6.3
jupyter-lsp==2.2.0
jupyter_client==8.3.0
jupyter_core==5.3.1
jupyter_server==2.7.0
jupyter_server_terminals==0.4.4
jupyterlab==4.0.3
jupyterlab-pygments==0.2.2
jupyterlab-widgets==3.0.8
jupyterlab_server==2.24.0
kiwisolver @ file:///D:/bld/kiwisolver_1666805768319/work
llvmlite==0.40.0
locket==1.0.0
MarkupSafe==2.1.3
matplotlib-inline==0.1.6
menuinst @ file:///D:/bld/menuinst_1666839998718/work
mistune==3.0.1
mkl-fft==1.3.6
mkl-random==1.2.2
mkl-service==2.4.0
mkl-umath==0.1.1
modin==0.23.0
modin-spreadsheet==0.1.2
mpi4py-mpich==3.1.2
msgpack==1.0.5
multidict==6.0.4
nbclient==0.8.0
nbconvert==7.7.3
nbformat==5.9.1
nest-asyncio==1.5.6
notebook==7.0.0
notebook_shim==0.2.3
numba @ file:///D:/bld/numba_1686793785624/work
numba-dpex==0.21.1+1.gffee89509
numpy==1.24.3
nvidia-ml-py==12.535.77
opencensus==0.11.2
opencensus-context==0.1.3
overrides==7.3.1
packaging @ file:///home/conda/feedstock_root/build_artifacts/packaging_1681337016113/work
pandas==2.0.3
pandocfilters==1.5.0
parso==0.8.3
partd==1.4.0
pickleshare==0.7.5
platformdirs @ file:///home/conda/feedstock_root/build_artifacts/platformdirs_1687097136512/work
pluggy @ file:///home/conda/feedstock_root/build_artifacts/pluggy_1667232663820/work
plumbum==1.8.2
pooch @ file:///home/conda/feedstock_root/build_artifacts/pooch_1679580333621/work
prometheus-client==0.17.1
prompt-toolkit==3.0.39
protobuf==4.23.4
psutil==5.9.5
pure-eval==0.2.2
py-spy==0.3.14
pyarrow==12.0.1
pyasn1==0.5.0
pyasn1-modules==0.3.0
pycparser @ file:///home/conda/feedstock_root/build_artifacts/pycparser_1636257122734/work
pydantic==1.10.12
Pygments==2.15.1
pyOpenSSL @ file:///home/conda/feedstock_root/build_artifacts/pyopenssl_1685514481738/work
pyparsing @ file:///home/conda/feedstock_root/build_artifacts/pyparsing_1687132014935/work
PySocks @ file:///D:/bld/pysocks_1648857426124/work
python-dateutil @ file:///home/conda/feedstock_root/build_artifacts/python-dateutil_1626286286081/work
python-json-logger==2.0.7
pytz @ file:///home/conda/feedstock_root/build_artifacts/pytz_1680088766131/work
pywin32==304
pywinpty==2.0.11
PyYAML @ file:///D:/bld/pyyaml_1666772550103/work
pyzmq==25.1.0
qtconsole==5.4.3
QtPy==2.3.1
ray==2.6.1
referencing==0.30.0
requests @ file:///home/conda/feedstock_root/build_artifacts/requests_1684774241324/work
rfc3339-validator==0.1.4
rfc3986-validator==0.1.1
rpds-py==0.9.2
rpyc==4.1.5
rsa==4.9
ruamel.yaml @ file:///D:/bld/ruamel.yaml_1686994025923/work
ruamel.yaml.clib @ file:///D:/bld/ruamel.yaml.clib_1670412994006/work
s3transfer==0.6.1
scikit-learn @ file:///D:/bld/scikit-learn_1685023828887/work
scipy==1.10.1
Send2Trash==1.8.2
six @ file:///home/conda/feedstock_root/build_artifacts/six_1620240208055/work
smart-open==6.3.0
sniffio==1.3.0
sortedcontainers==2.4.0
soupsieve==2.4.1
stack-data==0.6.2
TBB==0.2
tblib==2.0.0
terminado==0.17.1
threadpoolctl @ file:///home/conda/feedstock_root/build_artifacts/threadpoolctl_1643647933166/work
tinycss2==1.2.1
tomli==2.0.1
toolz @ file:///home/conda/feedstock_root/build_artifacts/toolz_1657485559105/work
tornado==6.3.2
traitlets==5.9.0
typing_extensions @ file:///home/conda/feedstock_root/build_artifacts/typing_extensions_1685704949284/work
tzdata==2023.3
unidist==0.4.1
uri-template==1.3.0
urllib3==1.26.16
virtualenv==20.21.0
wcwidth==0.2.6
webcolors==1.13
webencodings==0.5.1
websocket-client==1.6.1
widgetsnbextension==3.0.8
win-inet-pton @ file:///D:/bld/win_inet_pton_1666755058235/work
wincertstore==0.2
yarl==1.9.2
zict==3.0.0
zipp==3.16.2
zstandard==0.19.0

  • Jupyter lab packages (if applicable):
    JupyterLab v4.0.3
    C:\ProgramData\Anaconda3\envs\DS\share\jupyter\labextensions
    jupyterlab_pygments v0.2.2 enabled X (python, jupyterlab_pygments)
    @jupyter-notebook/lab-extension v7.0.0 enabled ok
    @jupyter-widgets/jupyterlab-manager v5.0.8 enabled ok (python, jupyterlab_widgets)

Description of Issue

Error after installing modin-spreadsheet when I followed README to execute jupyter nbextension enable --py --sys-prefix modin_spreadsheet:

Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\Scripts\jupyter-nbextension-script.py", line 9, in
sys.exit(main())
File "C:\ProgramData\Anaconda3\lib\site-packages\jupyter_core\application.py", line 277, in launch_instance
return super().launch_instance(argv=argv, **kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\traitlets\config\application.py", line 1043, in launch_instance
app.start()
File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\nbextensions.py", line 972, in start
super().start()
File "C:\ProgramData\Anaconda3\lib\site-packages\jupyter_core\application.py", line 266, in start
self.subapp.start()
File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\nbextensions.py", line 882, in start
self.toggle_nbextension_python(self.extra_args[0])
File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\nbextensions.py", line 855, in toggle_nbextension_python
return toggle(module,
File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\nbextensions.py", line 470, in enable_nbextension_python
return _set_nbextension_state_python(True, module, user, sys_prefix,
File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\nbextensions.py", line 368, in _set_nbextension_state_python
m, nbexts = _get_nbextension_metadata(module)
File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\nbextensions.py", line 1107, in _get_nbextension_metadata
m = import_item(module)
File "C:\ProgramData\Anaconda3\lib\site-packages\traitlets\utils\importstring.py", line 38, in import_item
return import(parts[0])
ModuleNotFoundError: No module named 'modin_spreadsheet'

Reproduction Steps

  1. pip install "modin[all]"
  2. pip install --upgrade tornado>=6.2.0
  3. pip install --upgrade jupyter-client>=7.4.4
  4. pip install "modin[spreadsheet]"
  5. pip install --upgrade ipywidgets==7.0.0
  6. jupyter nbextension enable --py --sys-prefix modin_spreadsheet

What steps have you taken to resolve this already?

I downgraded ipywidgets, which was suggested by #49.

Voila couldn't render modin-spreadsheet

Environment

  • Operating System: windows
  • Python Version: $ python --version
  • How did you install modin-spreadsheet: pip install modin-spreadsheet
  • Python packages: $ pip freeze or $ conda list (please include modin-spreadsheet, notebook, and jupyterlab versions)
    modin 0.19.0
    modin-spreadsheet 0.1.2
    notebook 6.5.2 py39haa95532_0
    jupyter 1.0.0
    jupyter_client 7.3.4
    jupyter-console 6.6.2
    jupyter_core 5.2.0
    jupyter-server 1.23.4
    jupyterlab 3.5.3
    jupyterlab-pygments 0.1.2
    jupyterlab_server 2.19.0
    jupyterlab-widgets 1.0.0
  • Jupyter lab packages (if applicable): $ jupyter labextension list
    JupyterLab v3.5.3
    C:\ProgramData\Anaconda3\share\jupyter\labextensions
    jupyterlab-plotly v5.9.0 enabled ok
    @jupyter-widgets/jupyterlab-manager v3.0.0 enabled ok (python, jupyterlab_widgets)
    @pyviz/jupyterlab_pyviz v2.0.2 enabled ok (python, pyviz_comms)
    @voila-dashboards/jupyterlab-preview v2.2.0 enabled ok (python, voila)

Description of Issue

  • render the widgets
  • get some error:
[Open Browser Console for more detailed log - Double click to close this message]
Failed to load model class 'ModinSpreadsheetModel' from module 'modin_spreadsheet'
Error: Script error for "modin_spreadsheet"
http://requirejs.org/docs/errors.html#scripterror
   at makeError (http://localhost:8888/voila/static/require.min.js:1:1067)
   at HTMLScriptElement.onScriptError (http://localhost:8888/voila/static/require.min.js:1:13218)

image

Reproduction Steps

  1. Inatsll the Voila
  2. Create a notebook with the code:
import modin_spreadsheet
import pandas as pd
df = pd.DataFrame({'A': [1.2, 'foo', 4], 'B': [3, 4, 5]})
df = df.set_index(pd.Index(['bar', 7, 3.2]))
view = modin_spreadsheet.show_grid(df)
view
  1. Click the button of voila
    image

...

What steps have you taken to resolve this already?

No
...

Anything else?

No
...

Materialize column reordering

Change internal df when column is reordered and record in history.

Column reordering is enabled using the enableColumnReorder grid option.

Repurpose qgrid demo notebooks

Section from README.rst

Running the demo notebooks locally
----------------------------------

There are a couple of demo notebooks in the `qgrid-notebooks <https://github.com/quantopian/qgrid-notebooks/>`_ repository
which will help you get familiar with the functionality that qgrid provides. Here are the steps to clone the
qgrid-notebooks repository and open a demo notebook:

#. Install qgrid by following the instructions in the `Installation`_ section above, if you haven't already

#. Clone the qgrid-notebooks repository from GitHub::

    git clone https://github.com/quantopian/qgrid-notebooks.git

#. Install the dev requirements for the repository and start the notebook server::

    cd qgrid-notebooks
    pip install -r requirements_dev.txt
    jupyter notebook

#. Click on one of the two notebooks (`index.ipynb <https://github.com/quantopian/qgrid-notebooks/blob/master/index.ipynb>`_ or `experimental.ipynb <https://github.com/quantopian/qgrid-notebooks/blob/master/experimental.ipynb>`_) that you see listed in the notebook UI in your browser.

Also

See the `events notebook <https://mybinder.org/v2/gh/quantopian/qgrid-notebooks/master?filepath=events.ipynb>`_ for more examples of using these new API methods.

Don't re-sort when adding filters

Currently, sorts are applied again after a filter is applied. As a performance enhancement, when a more restrictive filter is applied on the df, there is no need to re-sort. This may not be feasible if each additional filter is done on the unfiltered_df rather than the internal df.

We could refactor to apply filters onto the internal df, but this is a trade-off of inefficiency when replaying code and minimizing relevant history code vs. performance of widget.

Cant import Modin.Spreadsheet after installation

Environment

  • Operating System: win 11
  • Python Version: $Python 3.11.9
  • How did you install modin-spreadsheet: (`pip``)
  • Python packages: $ aiofiles==22.1.0 aiosignal==1.3.1 aiosqlite==0.20.0 analytics-python==1.4.post1 anyio==4.3.0 argon2-cffi==23.1.0 argon2-cffi-bindings==21.2.0 arrow==1.3.0 asttokens==2.4.1 async-lru==2.0.4 attrs==23.2.0 Babel==2.15.0 backoff==1.10.0 beautifulsoup4==4.12.3 bleach==6.1.0 certifi==2024.2.2 cffi==1.16.0 chardet==5.2.0 charset-normalizer==3.3.2 click==8.1.7 cloudpickle==3.0.0 cloup==3.0.5 colorama==0.4.6 comm==0.2.2 dask==2024.5.1 dataframe_api_compat==0.2.7 debugpy==1.8.1 decorator==5.1.1 defusedxml==0.7.1 distributed==2024.5.1 entrypoints==0.4 et-xmlfile==1.1.0 executing==2.0.1 fastjsonschema==2.19.1 filelock==3.14.0 fqdn==1.5.1 frozenlist==1.4.1 fsspec==2024.5.0 glcontext==2.5.0 h11==0.14.0 httpcore==1.0.5 httpx==0.27.0 idna==3.7 importlib_metadata==7.1.0 ipykernel==6.29.4 ipysheet==0.7.0 ipython==8.24.0 ipython-genutils==0.2.0 ipywidgets==8.1.2 isoduration==20.11.0 isosurfaces==0.1.2 jedi==0.19.1 Jinja2==3.1.4 json5==0.9.25 jsonpointer==2.4 jsonschema==4.22.0 jsonschema-specifications==2023.12.1 jupyter==1.0.0 jupyter-console==6.6.3 jupyter-events==0.10.0 jupyter-lsp==2.2.5 jupyter-ydoc==0.2.5 jupyter_client==7.4.9 jupyter_core==5.7.2 jupyter_server==2.14.0 jupyter_server_fileid==0.9.2 jupyter_server_terminals==0.5.3 jupyter_server_ydoc==0.8.0 jupyterlab==3.6.7 jupyterlab_pygments==0.3.0 jupyterlab_server==2.27.2 jupyterlab_widgets==3.0.10 locket==1.0.0 manim==0.18.1 ManimPango==0.5.0 mapbox-earcut==1.0.1 markdown-it-py==3.0.0 MarkupSafe==2.1.5 matplotlib-inline==0.1.7 mdurl==0.1.2 mistune==3.0.2 mitoinstaller==0.0.310 mitosheet==0.1.575 moderngl==5.10.0 moderngl-window==2.4.6 modin==0.30.0 modin-spreadsheet==0.1.2 monotonic==1.6 msgpack==1.0.8 multipledispatch==1.0.0 nbclassic==1.1.0 nbclient==0.10.0 nbconvert==7.16.4 nbformat==5.10.4 nest-asyncio==1.6.0 networkx==3.3 notebook==6.5.7 notebook_shim==0.2.4 numpy==1.26.4 openpyxl==3.1.2 overrides==7.7.0 packaging==24.0 pandas==2.2.2 pandocfilters==1.5.1 parso==0.8.4 partd==1.4.2 pillow==10.3.0 platformdirs==4.2.2 plotly==5.22.0 prometheus_client==0.20.0 prompt-toolkit==3.0.43 protobuf==5.27.0 psutil==5.9.8 pure-eval==0.2.2 pyarrow==16.1.0 pycairo==1.26.0 pycparser==2.22 pydub==0.25.1 pyglet==2.0.15 Pygments==2.18.0 pyrr==0.10.3 python-dateutil==2.9.0.post0 python-json-logger==2.0.7 pytz==2024.1 pywin32==306 pywinpty==2.0.13 PyYAML==6.0.1 pyzmq==26.0.3 qtconsole==5.5.2 QtPy==2.4.1 ray==2.20.0 referencing==0.35.1 requests==2.32.2 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 rich==13.7.1 rpds-py==0.18.1 scipy==1.13.0 screeninfo==0.8.1 Send2Trash==1.8.3 six==1.16.0 skia-pathops==0.8.0.post1 sniffio==1.3.1 sortedcontainers==2.4.0 soupsieve==2.5 srt==3.5.3 stack-data==0.6.3 svgelements==1.9.6 tblib==3.0.0 tenacity==8.3.0 termcolor==2.4.0 terminado==0.18.1 tinycss2==1.3.0 toolz==0.12.1 tornado==6.4 tqdm==4.66.4 traitlets==5.14.3 types-python-dateutil==2.9.0.20240316 typing_extensions==4.11.0 tzdata==2024.1 uri-template==1.3.0 urllib3==2.2.1 watchdog==4.0.0 wcwidth==0.2.13 webcolors==1.13 webencodings==0.5.1 websocket-client==1.8.0 widgetsnbextension==4.0.10 y-py==0.6.2 ypy-websocket==0.8.4 zict==3.0.0 zipp==3.19.0

Description of Issue

cant import modin.spreedsheat after pip install modin[all]
modin.spreedsheat doesnt even exist then

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[11], line 1
----> 1 import modin.spreadsheet

ModuleNotFoundError: No module named 'modin.spreadsheet'

this also doesnt work:

# This notebook expects that Modin and Ray are installed, e.g. by `pip install modin[ray]`.
# For all ways to install Modin see official documentation at:
# https://modin.readthedocs.io/en/latest/installation.html
​
​
# modin-spreadsheet is the pip distribution name, modin_spreadsheet is the import name
import modin_spreadsheet
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[8], line 7
      1 # This notebook expects that Modin and Ray are installed, e.g. by `pip install modin[ray]`.
      2 # For all ways to install Modin see official documentation at:
      3 # https://modin.readthedocs.io/en/latest/installation.html
      4 
      5 
      6 # modin-spreadsheet is the pip distribution name, modin_spreadsheet is the import name
----> 7 import modin_spreadsheet

File C:\Python311\Lib\site-packages\modin_spreadsheet\__init__.py:6
      3 except ImportError:
      4     raise ImportError("Please run `pip install modin`")
----> 6 from .grid import (
      7     enable,
      8     disable,
      9     set_defaults,
     10     on,
     11     off,
     12     set_grid_option,
     13     show_grid,
     14     SpreadsheetWidget,
     15 )
     16 from ._version import get_versions
     19 def _jupyter_nbextension_paths():

File C:\Python311\Lib\site-packages\modin_spreadsheet\grid.py:558
    554     else:
    555         return str(x)
--> 558 @widgets.register()
    559 class SpreadsheetWidget(widgets.DOMWidget):
    560     """
    561     The widget class which is instantiated by the ``show_grid`` method. This
    562     class can be constructed directly but that's not recommended because
   (...)
    598 
    599     """
    601     _view_name = Unicode("ModinSpreadsheetView").tag(sync=True)

TypeError: register() missing 1 required positional argument: 'widget' 

Question

have I done my setup wrong? hasthe documentation changed or are the examples outdated?

Issue with Ray=1.2.0

modin_spreadsheet works with Ray=1.1.0 but not Ray=1.2.0
In Jupyter notebook, the kernel dies when spreadsheet = modin_spreadsheet.show_grid(df, show_toolbar=True, grid_options={'forceFitColumns': False}) called
There's no obvious error in the browser console or notebook server log

When running pytest, all tests fail due to Broken Pipe.

More investigation needs to be done

Use repr instead of str for printing column and index

The history cell will output code that might error if it uses columns with number names because of how we format the variable names.

The sort column code snippet is currently:

df.sort_values('{self._sort_field}', ascending={self._sort_ascending}, inplace=True)

This assumes the column name is always a string. To allow columns with numbers as the name, it should be:

df.sort_values({repr(self._sort_field)}, ascending={self._sort_ascending}, inplace=True)

This should be fixed for wherever there is a use of '{variable}' for columns or rows.

Cell edits don't reflect across duplicate widget instances

Environment

  • Operating System: Mac OSX 10.15.7
  • Python Version: 3.8.5
  • How did you install modin-spreadsheet: pip
  • Python packages: modin-spreadsheet 0.1.1

Description of Issue

  • What did you expect to happen?
    If you create a spreadsheet widget and display in two different cells, then edit the cells in one of the widgets. The 2nd widget should update with the same value automatically.

  • What happened instead?
    The 2nd widget doesn't update with the value unless you change the viewport and force a re-render.

Reproduction Steps

  1. Create a spreadsheet widget
  2. Display the widget in two separate cells
  3. Edit the cell value of one of the widgets

What steps have you taken to resolve this already?

Added update_table function to end of edit_cell logic in PR#17

Anything else?

I don't see displaying the same widgets multiple times as a common use case, issue is not high priority.

Filter dropdown freezes on columns converted to mix type

If I have an all number column, then convert a cell value to a string. When I try to dropdown the filter on the column, the whole widget freezes because column is still assumed to be number?

if all(np.isnan(col_series)): is called leading to TypeError

Functionality to filter relevant history

Add button or API to filter history code to only statements that are relevant to final state of the changed df.

History cell and internal history state should be changed.

modin_spreadsheet seems broken with ipywidgets 8.0 and python 3.10

Environment

  • Operating System:

  • Python Version: 3.10.4

  • How did you install modin-spreadsheet: pip

  • Python packages:

    Details
      	```
      	aiohttp==3.8.4
      	aiohttp-cors==0.7.0
      	aiosignal==1.3.1
      	altair==4.2.2
      	anyio==3.6.2
      	appnope==0.1.3
      	argon2-cffi==21.3.0
      	argon2-cffi-bindings==21.2.0
      	asn1crypto==1.5.1
      	asttokens==2.2.1
      	async-timeout==4.0.2
      	attrs==22.2.0
      	autopep8==2.0.0
      	Babel==2.11.0
      	backcall==0.2.0
      	backoff==2.1.2
      	bcrypt==4.0.1
      	beautifulsoup4==4.11.1
      	big==0.6.16
      	black==22.10.0
      	bleach==5.0.1
      	blessed==1.19.1
      	blinker==1.5
      	boto==2.49.0
      	boto3==1.26.80
      	botocore==1.29.80
      	cachetools==5.3.0
      	certifi==2022.12.7
      	cffi==1.15.1
      	cfgv==3.3.1
      	charset-normalizer==2.1.1
      	click==8.0.4
      	cloudpickle==2.2.0
      	colorful==0.5.4
      	contourpy==1.0.6
      	cryptography==39.0.1
      	cycler==0.11.0
      	dask==2022.10.2
      	db-dtypes==1.0.5
      	debugpy==1.6.3
      	decorator==5.1.1
      	defusedxml==0.7.1
      	distlib==0.3.6
      	distributed==2022.10.2
      	entrypoints==0.4
      	exceptiongroup==1.1.0
      	execnet==1.9.0
      	executing==1.2.0
      	fabric==2.7.1
      	fastjsonschema==2.16.2
      	filelock==3.9.0
      	fonttools==4.38.0
      	frozenlist==1.3.3
      	fsspec==2023.1.0
      	gitdb==4.0.10
      	GitPython==3.1.31
      	google-api-core==2.11.0
      	google-auth==2.16.1
      	google-cloud-bigquery==3.6.0
      	google-cloud-core==2.3.2
      	google-crc32c==1.5.0
      	google-resumable-media==2.4.1
      	googleapis-common-protos==1.58.0
      	gpustat==1.0.0
      	grpcio==1.51.3
      	grpcio-status==1.51.3
      	HeapDict==1.0.1
      	identify==2.5.17
      	idna==3.4
      	importlib-metadata==6.0.0
      	iniconfig==2.0.0
      	invoke==1.7.3
      	ipdb==0.13.9
      	ipycytoscape==1.3.3
      	ipykernel==6.16.0
      	ipython==8.7.0
      	ipython-genutils==0.2.0
      	ipywidgets==8.0.4
      	isort==5.10.1
      	jedi==0.18.2
      	Jinja2==3.1.2
      	jmespath==1.0.1
      	json5==0.9.10
      	jsonschema==4.17.0
      	jupyter==1.0.0
      	jupyter-client==7.3.4
      	jupyter-console==6.4.4
      	jupyter-core==4.11.1
      	jupyter-server==1.23.0
      	jupyterlab==3.5.0
      	jupyterlab-pygments==0.2.2
      	jupyterlab-widgets==3.0.3
      	jupyterlab_server==2.16.3
      	kiwisolver==1.4.4
      	locket==1.0.0
      	lz4==4.0.2
      	markdown-it-py==2.2.0
      	MarkupSafe==2.1.1
      	matplotlib==3.6.2
      	matplotlib-inline==0.1.6
      	mdurl==0.1.2
      	mistune==2.0.4
      	-e git+ssh://[email protected]/mvashishtha/modin.git@6eba2774220c64bcfdf8b036d543df5486f1e157#egg=modin
      	modin-spreadsheet @ git+https://github.com/modin-project/modin-spreadsheet.git@49ffd89f683f54c311867d602c55443fb11bf2a5
      	monotonic==1.6
      	mpi4py-mpich==3.1.2
      	msgpack==1.0.4
      	multidict==6.0.4
      	mypy-extensions==0.4.3
      	nbclassic==0.4.8
      	nbclient==0.7.0
      	nbconvert==7.2.3
      	nbformat==5.7.0
      	nest-asyncio==1.5.6
      	nodeenv==1.7.0
      	notebook==6.5.2
      	notebook_shim==0.2.2
      	numpy==1.24.2
      	nvidia-ml-py==11.495.46
      	opencensus==0.11.0
      	opencensus-context==0.1.3
      	oscrypto==1.3.0
      	packaging==23.0
      	pandas==1.5.3
      	pandocfilters==1.5.0
      	paramiko==2.11.0
      	parso==0.8.3
      	partd==1.3.0
      	pathlib2==2.3.7.post1
      	pathspec==0.10.2
      	pexpect==4.8.0
      	pickleshare==0.7.5
      	Pillow==9.4.0
      	platformdirs==2.5.3
      	pluggy==1.0.0
      	plumbum==1.8.1
      	ponder @ file:///Users/maheshvashishtha/software_sources/soda/dist/ponder-0.0.3-py3-none-any.whl
      	pre-commit==3.0.4
      	prettytable==3.4.1
      	prometheus-client==0.13.1
      	prompt-toolkit==3.0.36
      	proto-plus==1.22.2
      	protobuf==3.20.3
      	psutil==5.9.4
      	ptyprocess==0.7.0
      	pure-eval==0.2.2
      	py==1.11.0
      	py-spy==0.3.14
      	pyarrow==10.0.1
      	pyasn1==0.4.8
      	pyasn1-modules==0.2.8
      	pycodestyle==2.10.0
      	pycparser==2.21
      	pycryptodomex==3.17
      	pydantic==1.10.2
      	pydeck==0.8.0
      	Pygments==2.13.0
      	PyJWT==2.6.0
      	Pympler==1.0.1
      	PyNaCl==1.5.0
      	pyOpenSSL==23.0.0
      	pyparsing==3.0.9
      	pyrsistent==0.19.2
      	pytest==7.2.1
      	pytest-runtime-xfail==1.0.3
      	pytest-xdist==3.2.0
      	python-dateutil==2.8.2
      	pytz==2022.7.1
      	pytz-deprecation-shim==0.1.0.post0
      	PyYAML==6.0
      	pyzmq==24.0.1
      	qgrid==1.3.1
      	qtconsole==5.4.0
      	QtPy==2.3.0
      	ray==2.1.0
      	redis==3.5.3
      	requests==2.28.2
      	rich==13.3.2
      	rpyc==4.1.5
      	rsa==4.9
      	s3transfer==0.6.0
      	segment==0.2.0
      	segment-analytics-python==2.2.1
      	semver==2.13.0
      	Send2Trash==1.8.0
      	six==1.16.0
      	smart-open==6.2.0
      	smmap==5.0.0
      	sniffio==1.3.0
      	snowflake-connector-python==3.0.0
      	sortedcontainers==2.4.0
      	soupsieve==2.3.2.post1
      	spectate==1.0.1
      	sqlglot==11.2.3
      	sqlparse==0.4.3
      	stack-data==0.6.2
      	streamlit==1.19.0
      	tblib==1.7.0
      	terminado==0.17.0
      	tinycss2==1.2.1
      	toml==0.10.2
      	tomli==2.0.1
      	toolz==0.12.0
      	tornado==6.1
      	traitlets==5.7.0
      	typing_extensions==4.5.0
      	tzdata==2022.7
      	tzlocal==4.2
      	unidist==0.2.2
      	urllib3==1.26.14
      	validators==0.20.0
      	virtualenv==20.16.6
      	wcwidth==0.2.5
      	webencodings==0.5.1
      	websocket-client==1.4.2
      	widgetsnbextension==4.0.5
      	yarl==1.8.2
      	zict==2.2.0
      	zipp==3.15.0
      		```
    
  • Jupyter lab packages (if applicable): $ jupyter labextension list

     JupyterLab v3.5.0
     /Users/maheshvashishtha/opt/anaconda3/envs/ponder-product-testing/share/jupyter/labextensions
             jupyter-cytoscape v1.3.3 enabled OK
             jupyterlab_pygments v0.2.2 enabled OK (python, jupyterlab_pygments)
             @jupyter-widgets/jupyterlab-manager v5.0.3 enabled OK (python, jupyterlab_widgets)
     
     /usr/local/share/jupyter/labextensions
             jupyterlab-plotly v5.6.0 enabled OK
     
    

Description of Issue

I'm trying to use modin-spreadsheet. Following the README instructions, I tried jupyter nbextension enable --py --sys-prefix modin_spreadsheet and jupyter nbextension enable --py --sys-prefix widgetsnbextension. The latter worked but the first gives

Enabling notebook extension modin_spreadsheet/extension...
      - Validating: problems found:
        - require?  X modin_spreadsheet/extension

then running the notebook fails with an error starting with Failed to load model class 'ModinSpreadsheetModel' from module 'modin_spreadsheet'.

Details
[Open Browser Console for more detailed log - Double click to close this message]
Failed to load model class 'ModinSpreadsheetModel' from module 'modin_spreadsheet'
Error: No version of module modin_spreadsheet is registered
    at f.loadClass (http://localhost:8888/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/134.bcbea9feb6e7c4da7530.js?v=bcbea9feb6e7c4da7530:1:74856)
    at f.loadModelClass (http://localhost:8888/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/150.3e1e5adfd821b9b96340.js?v=3e1e5adfd821b9b96340:1:10729)
    at f._make_model (http://localhost:8888/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/150.3e1e5adfd821b9b96340.js?v=3e1e5adfd821b9b96340:1:7517)
    at f.new_model (http://localhost:8888/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/150.3e1e5adfd821b9b96340.js?v=3e1e5adfd821b9b96340:1:5137)
    at f.handle_comm_open (http://localhost:8888/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/150.3e1e5adfd821b9b96340.js?v=3e1e5adfd821b9b96340:1:3894)
    at _handleCommOpen (http://localhost:8888/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/134.bcbea9feb6e7c4da7530.js?v=bcbea9feb6e7c4da7530:1:73393)
    at b._handleCommOpen (http://localhost:8888/static/lab/jlab_core.e37d4bbc8c984154bc26.js?v=e37d4bbc8c984154bc26:2:1001251)
    at async b._handleMessage (http://localhost:8888/static/lab/jlab_core.e37d4bbc8c984154bc26.js?v=e37d4bbc8c984154bc26:2:1003241)

Reproduction Steps

  1. pp install modin
  2. pip install git+https://github.com/modin-project/modin-spreadsheet.git@49ffd89f683f54c311867d602c55443fb11bf2a5
  3. jupyter nbextension enable --py --sys-prefix widgetsnbextension
  4. jupyter nbextension enable --py --sys-prefix modin_spreadsheet
  5. jupyter notebook
  6. run jupyter cell:
    import modin.pandas as pd
    import modin_spreadsheet
    
    df = pd.DataFrame([1, 2])
    modin_spreadsheet.show_grid(df)

What steps have you taken to resolve this already?

First when I googled the error I saw something about ipywidgets so I tried to install ipywidgets 7.0. That worked, except ipywidgets 7.0 didn't work in python 3.10 because it had some from collections import that were invalid, so I had to switch to python 3.8, and then I was able to show_grid with modin_spreadsheet (I think? now I can't reproduce this in a python 3.8 environment, and I don't know what's wrong.). But I should be able to use python 3.10 and ipywidgets 7.0 and run the nbextension enable commands.

Tutorial example doesn't actually render spreadsheet on OVH cloud

Environment

  • Operating System: Linux jupyter-modin-2dproject-2dmodin-2dhw4zx31y 4.15.0-128-generic quantopian#131-Ubuntu SMP Wed Dec 9 06:57:35 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
  • Python Version: $ python --version = Python 3.7.10
  • How did you install modin-spreadsheet: it was a consequence of pip installing the requirements.txt file.
  • Python packages: $ pip freeze or $ conda list (please include modin-spreadsheet, notebook, and jupyterlab versions)
aiobotocore==1.3.0
aiohttp==3.7.4.post0
aiohttp-cors==0.7.0
aioitertools==0.7.1
aioredis==1.3.1
alembic @ file:///home/conda/feedstock_root/build_artifacts/alembic_1613901514078/work
anyio @ file:///home/conda/feedstock_root/build_artifacts/anyio_1612745536224/work/dist
argon2-cffi @ file:///home/conda/feedstock_root/build_artifacts/argon2-cffi_1602546578258/work
async-generator==1.10
async-timeout==3.0.1
attrs @ file:///home/conda/feedstock_root/build_artifacts/attrs_1605083924122/work
Babel @ file:///home/conda/feedstock_root/build_artifacts/babel_1605182336601/work
backcall @ file:///home/conda/feedstock_root/build_artifacts/backcall_1592338393461/work
backports.functools-lru-cache==1.6.1
bleach @ file:///home/conda/feedstock_root/build_artifacts/bleach_1612213472466/work
blessings==1.7
blinker==1.4
botocore==1.20.49
brotlipy==0.7.0
cachetools==4.2.2
certifi==2020.12.5
certipy==0.1.3
cffi @ file:///home/conda/feedstock_root/build_artifacts/cffi_1613413867554/work
chardet @ file:///home/conda/feedstock_root/build_artifacts/chardet_1610093487176/work
click==8.0.1
colorama==0.4.4
colorful==0.5.4
cryptography @ file:///home/conda/feedstock_root/build_artifacts/cryptography_1612993734132/work
decorator==4.4.2
defusedxml==0.6.0
entrypoints @ file:///home/conda/feedstock_root/build_artifacts/entrypoints_1602701733603/work/dist/entrypoints-0.3-py2.py3-none-any.whl
filelock==3.0.12
fsspec==2021.5.0
google-api-core==1.29.0
google-auth==1.30.1
googleapis-common-protos==1.53.0
gpustat==0.6.0
grpcio==1.38.0
hiredis==2.0.0
idna @ file:///home/conda/feedstock_root/build_artifacts/idna_1593328102638/work
importlib-metadata @ file:///home/conda/feedstock_root/build_artifacts/importlib-metadata_1610355166636/work
ipykernel @ file:///home/conda/feedstock_root/build_artifacts/ipykernel_1613852948592/work/dist/ipykernel-5.5.0-py3-none-any.whl
ipython @ file:///home/conda/feedstock_root/build_artifacts/ipython_1612487002309/work
ipython-genutils==0.2.0
ipywidgets @ file:///home/conda/feedstock_root/build_artifacts/ipywidgets_1609995587151/work
jedi @ file:///home/conda/feedstock_root/build_artifacts/jedi_1610146791823/work
Jinja2 @ file:///home/conda/feedstock_root/build_artifacts/jinja2_1612119311452/work
jmespath==0.10.0
json5 @ file:///home/conda/feedstock_root/build_artifacts/json5_1600692310011/work
jsonschema==3.2.0
jupyter==1.0.0
jupyter-client @ file:///home/conda/feedstock_root/build_artifacts/jupyter_client_1610375432619/work
jupyter-console==6.4.0
jupyter-core @ file:///home/conda/feedstock_root/build_artifacts/jupyter_core_1612125257337/work
jupyter-offlinenotebook @ file:///home/conda/feedstock_root/build_artifacts/jupyter-offlinenotebook_1610833110941/work
jupyter-resource-usage @ file:///home/conda/feedstock_root/build_artifacts/jupyter-resource-usage_1608550684149/work
jupyter-server @ file:///home/conda/feedstock_root/build_artifacts/jupyter_server_1613709403212/work
jupyter-telemetry @ file:///home/conda/feedstock_root/build_artifacts/jupyter_telemetry_1605173804246/work
jupyterhub @ file:///home/conda/feedstock_root/build_artifacts/jupyterhub-feedstock_1607688225833/work
jupyterlab @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_1612296988614/work
jupyterlab-pygments @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_pygments_1601375948261/work
jupyterlab-server @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_server_1613760084674/work
jupyterlab-widgets @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_widgets_1609173350931/work
Mako @ file:///home/conda/feedstock_root/build_artifacts/mako_1610659158978/work
MarkupSafe @ file:///home/conda/feedstock_root/build_artifacts/markupsafe_1610127564475/work
mistune @ file:///home/conda/feedstock_root/build_artifacts/mistune_1610112870915/work
modin @ file:///home/jovyan
modin-spreadsheet==0.1.2
msgpack==1.0.2
multidict==5.1.0
nbclassic @ file:///home/conda/feedstock_root/build_artifacts/nbclassic_1610352513187/work
nbclient @ file:///home/conda/feedstock_root/build_artifacts/nbclient_1612903843315/work
nbconvert @ file:///home/conda/feedstock_root/build_artifacts/nbconvert_1605401831777/work
nbformat @ file:///home/conda/feedstock_root/build_artifacts/nbformat_1611005694671/work
nest-asyncio @ file:///home/conda/feedstock_root/build_artifacts/nest-asyncio_1605195931949/work
notebook @ file:///home/conda/feedstock_root/build_artifacts/notebook_1610575319689/work
nteract-on-jupyter==2.1.3
numpy==1.20.3
nvidia-ml-py3==7.352.0
oauthlib==3.0.1
opencensus==0.7.13
opencensus-context==0.1.2
packaging @ file:///home/conda/feedstock_root/build_artifacts/packaging_1612459636436/work
pamela==1.0.0
pandas==1.2.4
pandocfilters==1.4.2
parso @ file:///home/conda/feedstock_root/build_artifacts/parso_1607618318316/work
pexpect==4.8.0
pickleshare @ file:///home/conda/feedstock_root/build_artifacts/pickleshare_1602535628301/work
prometheus-client @ file:///home/conda/feedstock_root/build_artifacts/prometheus_client_1605543085815/work
prompt-toolkit @ file:///home/conda/feedstock_root/build_artifacts/prompt-toolkit_1613068548426/work
protobuf==3.17.2
psutil @ file:///home/conda/feedstock_root/build_artifacts/psutil_1610127094245/work
ptyprocess @ file:///home/conda/feedstock_root/build_artifacts/ptyprocess_1609419310487/work/dist/ptyprocess-0.7.0-py2.py3-none-any.whl
py-spy==0.3.7
pyasn1==0.4.8
pyasn1-modules==0.2.8
pycparser @ file:///home/conda/feedstock_root/build_artifacts/pycparser_1593275161868/work
pycurl==7.43.0.6
Pygments @ file:///home/conda/feedstock_root/build_artifacts/pygments_1613412098605/work
PyJWT @ file:///home/conda/feedstock_root/build_artifacts/pyjwt_1610910308735/work
pyOpenSSL @ file:///home/conda/feedstock_root/build_artifacts/pyopenssl_1608055815057/work
pyparsing==2.4.7
pyrsistent @ file:///home/conda/feedstock_root/build_artifacts/pyrsistent_1610146801408/work
PySocks @ file:///home/conda/feedstock_root/build_artifacts/pysocks_1610291444829/work
python-dateutil==2.8.1
python-editor==1.0.4
python-json-logger @ file:///home/conda/feedstock_root/build_artifacts/python-json-logger_1602545356084/work
pytz @ file:///home/conda/feedstock_root/build_artifacts/pytz_1612179539967/work
PyYAML==5.4.1
pyzmq @ file:///home/conda/feedstock_root/build_artifacts/pyzmq_1613478743724/work
qtconsole==5.1.0
QtPy==1.9.0
ray==1.1.0
redis==3.5.3
requests @ file:///home/conda/feedstock_root/build_artifacts/requests_1608156231189/work
rsa==4.7.2
ruamel.yaml @ file:///home/conda/feedstock_root/build_artifacts/ruamel.yaml_1610291373612/work
ruamel.yaml.clib @ file:///home/conda/feedstock_root/build_artifacts/ruamel.yaml.clib_1610146839777/work
s3fs==2021.5.0
Send2Trash==1.5.0
six @ file:///home/conda/feedstock_root/build_artifacts/six_1590081179328/work
sniffio @ file:///home/conda/feedstock_root/build_artifacts/sniffio_1610318316464/work
SQLAlchemy @ file:///home/conda/feedstock_root/build_artifacts/sqlalchemy_1612225082967/work
terminado @ file:///home/conda/feedstock_root/build_artifacts/terminado_1609794176029/work
testpath==0.4.4
tornado @ file:///home/conda/feedstock_root/build_artifacts/tornado_1610094704591/work
traitlets @ file:///home/conda/feedstock_root/build_artifacts/traitlets_1602771532708/work
typing-extensions @ file:///home/conda/feedstock_root/build_artifacts/typing_extensions_1602702424206/work
urllib3 @ file:///home/conda/feedstock_root/build_artifacts/urllib3_1611695416663/work
wcwidth @ file:///home/conda/feedstock_root/build_artifacts/wcwidth_1600965781394/work
webencodings==0.5.1
widgetsnbextension @ file:///home/conda/feedstock_root/build_artifacts/widgetsnbextension_1603129364725/work
wrapt==1.12.1
yarl==1.6.3
zipp @ file:///home/conda/feedstock_root/build_artifacts/zipp_1603668650351/work
jovyan@jupyter-modin-2dproject-2dmodin-2dkus8igqq:~/examples/spreadsheet$```

* Jupyter lab packages (if applicable): `$ jupyter labextension list`
```jovyan@jupyter-modin-2dproject-2dmodin-2dkus8igqq:~/examples/spreadsheet$ jupyter labextension list
JupyterLab v3.0.7
/srv/conda/envs/notebook/share/jupyter/labextensions
        jupyter-offlinenotebook v0.2.1 enabled OK
        @jupyter-widgets/jupyterlab-manager v3.0.0 enabled OK (python, jupyterlab_widgets)
        @jupyter-server/resource-usage v0.5.0 enabled OK (python, jupyter-resource-usage)

jovyan@jupyter-modin-2dproject-2dmodin-2dkus8igqq:~/examples/spreadsheet$```

### Description of Issue

* I created a binder to see the Mondin spreadsheet in action in a hosted cloud environment.  I created this binder: https://hub-binder.mybinder.ovh/user/modin-project-modin-hw4zx31y/notebooks/examples/spreadsheet/tutorial.ipynb

* The crucial Notebook cell where the spreadsheet should be rendered does not in fact render the spreadsheet.  Even when I call `display(spreadsheet)`

Nothing happens.

### Reproduction Steps

1. Visit Mondin homepage, http://modin.org/
2. Click on binder icon (https://mybinder.org/v2/gh/modin-project/modin/master)
3. Wait for the build to finish.
4. Follow instructions regarding the installation of modin and ray from requirements.txt
5. Start walking through the notebook

### What steps have you taken to resolve this already?

When the naken "spreadsheet" instance in the notebook cell did nothing, I tried calling "display(spreadsheet)" but that made no difference.

### Anything else?

Here is the log of the installation script:

```jovyan@jupyter-modin-2dproject-2dmodin-2dkus8igqq:~$ ls
asv_bench           commitlint.config.js  examples        modin         requirements-dev.txt  stress_tests
ci                  docker                LICENSE         NOTICE        scripts               versioneer.py
CODE_OF_CONDUCT.md  docs                  LICENSE_HEADER  README.md     setup.cfg
CODEOWNERS          environment-dev.yml   MANIFEST.in     requirements  setup.py
jovyan@jupyter-modin-2dproject-2dmodin-2dkus8igqq:~$ cd examples/spreadsheet/
jovyan@jupyter-modin-2dproject-2dmodin-2dkus8igqq:~/examples/spreadsheet$ ls
requirements.txt  tutorial.ipynb
jovyan@jupyter-modin-2dproject-2dmodin-2dkus8igqq:~/examples/spreadsheet$ pip install -r requirements.txt
Collecting git+https://github.com/modin-project/modin (from -r requirements.txt (line 3))
  Cloning https://github.com/modin-project/modin to /tmp/pip-req-build-8fuh2x_p
  Running command git clone -q https://github.com/modin-project/modin /tmp/pip-req-build-8fuh2x_p
Collecting s3fs
  Downloading s3fs-2021.5.0-py3-none-any.whl (24 kB)
Collecting ray==1.1.0
  Downloading ray-1.1.0-cp37-cp37m-manylinux2014_x86_64.whl (48.5 MB)
     |████████████████████████████████| 48.5 MB 27.5 MB/s
Collecting modin-spreadsheet
  Downloading modin_spreadsheet-0.1.2-py2.py3-none-any.whl (1.8 MB)
     |████████████████████████████████| 1.8 MB 29.0 MB/s
Requirement already satisfied: pandas==1.2.4 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from modin==0.9.1+68.g6475c9e->-r requirements.txt (line 3)) (1.2.4)
Requirement already satisfied: packaging in /srv/conda/envs/notebook/lib/python3.7/site-packages (from modin==0.9.1+68.g6475c9e->-r requirements.txt (line 3)) (20.9)
Requirement already satisfied: numpy>=1.16.5 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from modin==0.9.1+68.g6475c9e->-r requirements.txt (line 3)) (1.20.3)
Collecting colorama
  Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting gpustat
  Downloading gpustat-0.6.0.tar.gz (78 kB)
     |████████████████████████████████| 78 kB 16.7 MB/s
Collecting msgpack<2.0.0,>=1.0.0
  Downloading msgpack-1.0.2-cp37-cp37m-manylinux1_x86_64.whl (273 kB)
     |████████████████████████████████| 273 kB 48.7 MB/s
Collecting redis>=3.5.0
  Downloading redis-3.5.3-py2.py3-none-any.whl (72 kB)
     |████████████████████████████████| 72 kB 1.5 MB/s
Collecting colorful
  Downloading colorful-0.5.4-py2.py3-none-any.whl (201 kB)
     |████████████████████████████████| 201 kB 68.6 MB/s
Requirement already satisfied: requests in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ray==1.1.0->-r requirements.txt (line 2)) (2.25.1)
Collecting opencensus
  Downloading opencensus-0.7.13-py2.py3-none-any.whl (127 kB)
     |████████████████████████████████| 127 kB 65.4 MB/s
Collecting pyyaml
  Downloading PyYAML-5.4.1-cp37-cp37m-manylinux1_x86_64.whl (636 kB)
     |████████████████████████████████| 636 kB 51.0 MB/s
Collecting aiohttp
  Downloading aiohttp-3.7.4.post0-cp37-cp37m-manylinux2014_x86_64.whl (1.3 MB)
     |████████████████████████████████| 1.3 MB 53.9 MB/s
Collecting py-spy>=0.2.0
  Downloading py_spy-0.3.7-py2.py3-none-manylinux1_x86_64.whl (3.1 MB)
     |████████████████████████████████| 3.1 MB 52.8 MB/s
Requirement already satisfied: jsonschema in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ray==1.1.0->-r requirements.txt (line 2)) (3.2.0)
Requirement already satisfied: prometheus-client>=0.7.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ray==1.1.0->-r requirements.txt (line 2)) (0.9.0)
Collecting aioredis
  Downloading aioredis-1.3.1-py3-none-any.whl (65 kB)
     |████████████████████████████████| 65 kB 8.3 MB/s
Collecting filelock
  Downloading filelock-3.0.12-py3-none-any.whl (7.6 kB)
Collecting protobuf>=3.8.0
  Downloading protobuf-3.17.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.0 MB)
     |████████████████████████████████| 1.0 MB 58.9 MB/s
Collecting click>=7.0
  Downloading click-8.0.1-py3-none-any.whl (97 kB)
     |████████████████████████████████| 97 kB 18.4 MB/s
Collecting aiohttp-cors
  Downloading aiohttp_cors-0.7.0-py3-none-any.whl (27 kB)
Collecting grpcio>=1.28.1
  Downloading grpcio-1.38.0-cp37-cp37m-manylinux2014_x86_64.whl (4.2 MB)
     |████████████████████████████████| 4.2 MB 51.8 MB/s
Requirement already satisfied: pytz>=2017.3 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pandas==1.2.4->modin==0.9.1+68.g6475c9e->-r requirements.txt (line 3)) (2021.1)
Requirement already satisfied: python-dateutil>=2.7.3 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pandas==1.2.4->modin==0.9.1+68.g6475c9e->-r requirements.txt (line 3)) (2.8.1)
Requirement already satisfied: importlib-metadata in /srv/conda/envs/notebook/lib/python3.7/site-packages (from click>=7.0->ray==1.1.0->-r requirements.txt (line 2)) (3.4.0)
Requirement already satisfied: six>=1.5.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from grpcio>=1.28.1->ray==1.1.0->-r requirements.txt (line 2)) (1.15.0)
Requirement already satisfied: notebook>=6.0.3 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from modin-spreadsheet->-r requirements.txt (line 4)) (6.2.0)
Collecting jupyter>=1.0.0
  Downloading jupyter-1.0.0-py2.py3-none-any.whl (2.7 kB)
Requirement already satisfied: ipywidgets>=7.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from modin-spreadsheet->-r requirements.txt (line 4)) (7.6.3)
Requirement already satisfied: widgetsnbextension~=3.5.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (3.5.1)
Requirement already satisfied: jupyterlab-widgets>=1.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (1.0.0)
Requirement already satisfied: ipykernel>=4.5.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (5.5.0)
Requirement already satisfied: traitlets>=4.3.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (5.0.5)
Requirement already satisfied: ipython>=4.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (7.20.0)
Requirement already satisfied: nbformat>=4.2.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (5.1.2)
Requirement already satisfied: tornado>=4.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipykernel>=4.5.1->ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (6.1)
Requirement already satisfied: jupyter-client in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipykernel>=4.5.1->ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (6.1.11)
Requirement already satisfied: jedi>=0.16 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0->ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (0.18.0)
Requirement already satisfied: setuptools>=18.5 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0->ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (49.6.0.post20210108)
Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0->ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (3.0.16)
Requirement already satisfied: pygments in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0->ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (2.8.0)
Requirement already satisfied: pexpect>4.3 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0->ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (4.8.0)
Requirement already satisfied: backcall in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0->ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (0.2.0)
Requirement already satisfied: decorator in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0->ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (4.4.2)
Requirement already satisfied: pickleshare in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0->ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (0.7.5)
Requirement already satisfied: parso<0.9.0,>=0.8.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jedi>=0.16->ipython>=4.0.0->ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (0.8.1)
Collecting jupyter-console
  Downloading jupyter_console-6.4.0-py3-none-any.whl (22 kB)
Collecting qtconsole
  Downloading qtconsole-5.1.0-py3-none-any.whl (119 kB)
     |████████████████████████████████| 119 kB 51.5 MB/s
Requirement already satisfied: nbconvert in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter>=1.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (6.0.7)
Requirement already satisfied: jupyter-core in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbformat>=4.2.0->ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (4.7.1)
Requirement already satisfied: ipython-genutils in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbformat>=4.2.0->ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (0.2.0)
Requirement already satisfied: pyrsistent>=0.14.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jsonschema->ray==1.1.0->-r requirements.txt (line 2)) (0.17.3)
Requirement already satisfied: attrs>=17.4.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jsonschema->ray==1.1.0->-r requirements.txt (line 2)) (20.3.0)
Requirement already satisfied: Send2Trash>=1.5.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=6.0.3->modin-spreadsheet->-r requirements.txt (line 4)) (1.5.0)
Requirement already satisfied: jinja2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=6.0.3->modin-spreadsheet->-r requirements.txt (line 4)) (2.11.3)
Requirement already satisfied: terminado>=0.8.3 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=6.0.3->modin-spreadsheet->-r requirements.txt (line 4)) (0.9.2)
Requirement already satisfied: argon2-cffi in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=6.0.3->modin-spreadsheet->-r requirements.txt (line 4)) (20.1.0)
Requirement already satisfied: pyzmq>=17 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=6.0.3->modin-spreadsheet->-r requirements.txt (line 4)) (22.0.3)
Requirement already satisfied: ptyprocess>=0.5 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pexpect>4.3->ipython>=4.0.0->ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (0.7.0)
Requirement already satisfied: wcwidth in /srv/conda/envs/notebook/lib/python3.7/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython>=4.0.0->ipywidgets>=7.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (0.2.5)
Collecting fsspec==2021.05.0
  Downloading fsspec-2021.5.0-py3-none-any.whl (111 kB)
     |████████████████████████████████| 111 kB 73.8 MB/s
Collecting aiobotocore>=1.0.1
  Downloading aiobotocore-1.3.0.tar.gz (48 kB)
     |████████████████████████████████| 48 kB 7.6 MB/s
Collecting botocore<1.20.50,>=1.20.49
  Downloading botocore-1.20.49-py2.py3-none-any.whl (7.4 MB)
     |████████████████████████████████| 7.4 MB 62.9 MB/s
Collecting wrapt>=1.10.10
  Downloading wrapt-1.12.1.tar.gz (27 kB)
Collecting aioitertools>=0.5.1
  Downloading aioitertools-0.7.1-py3-none-any.whl (20 kB)
Requirement already satisfied: typing-extensions>=3.6.5 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from aiohttp->ray==1.1.0->-r requirements.txt (line 2)) (3.7.4.3)
Requirement already satisfied: chardet<5.0,>=2.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from aiohttp->ray==1.1.0->-r requirements.txt (line 2)) (4.0.0)
Collecting async-timeout<4.0,>=3.0
  Downloading async_timeout-3.0.1-py3-none-any.whl (8.2 kB)
Collecting yarl<2.0,>=1.0
  Downloading yarl-1.6.3-cp37-cp37m-manylinux2014_x86_64.whl (294 kB)
     |████████████████████████████████| 294 kB 59.3 MB/s
Collecting multidict<7.0,>=4.5
  Downloading multidict-5.1.0-cp37-cp37m-manylinux2014_x86_64.whl (142 kB)
     |████████████████████████████████| 142 kB 68.3 MB/s
Requirement already satisfied: urllib3<1.27,>=1.25.4 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from botocore<1.20.50,>=1.20.49->aiobotocore>=1.0.1->s3fs->-r requirements.txt (line 1)) (1.26.3)
Collecting jmespath<1.0.0,>=0.7.1
  Downloading jmespath-0.10.0-py2.py3-none-any.whl (24 kB)
Requirement already satisfied: idna>=2.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from yarl<2.0,>=1.0->aiohttp->ray==1.1.0->-r requirements.txt (line 2)) (2.10)
Collecting hiredis
  Downloading hiredis-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl (85 kB)
     |████████████████████████████████| 85 kB 10.7 MB/s
Requirement already satisfied: cffi>=1.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from argon2-cffi->notebook>=6.0.3->modin-spreadsheet->-r requirements.txt (line 4)) (1.14.5)
Requirement already satisfied: pycparser in /srv/conda/envs/notebook/lib/python3.7/site-packages (from cffi>=1.0.0->argon2-cffi->notebook>=6.0.3->modin-spreadsheet->-r requirements.txt (line 4)) (2.20)
Collecting nvidia-ml-py3>=7.352.0
  Downloading nvidia-ml-py3-7.352.0.tar.gz (19 kB)
Requirement already satisfied: psutil in /srv/conda/envs/notebook/lib/python3.7/site-packages (from gpustat->ray==1.1.0->-r requirements.txt (line 2)) (5.8.0)
Collecting blessings>=1.6
  Downloading blessings-1.7-py3-none-any.whl (18 kB)
Requirement already satisfied: zipp>=0.5 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from importlib-metadata->click>=7.0->ray==1.1.0->-r requirements.txt (line 2)) (3.4.0)
Requirement already satisfied: MarkupSafe>=0.23 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jinja2->notebook>=6.0.3->modin-spreadsheet->-r requirements.txt (line 4)) (1.1.1)
Requirement already satisfied: bleach in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert->jupyter>=1.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (3.3.0)
Requirement already satisfied: jupyterlab-pygments in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert->jupyter>=1.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (0.1.2)
Requirement already satisfied: testpath in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert->jupyter>=1.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (0.4.4)
Requirement already satisfied: pandocfilters>=1.4.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert->jupyter>=1.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (1.4.2)
Requirement already satisfied: entrypoints>=0.2.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert->jupyter>=1.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (0.3)
Requirement already satisfied: nbclient<0.6.0,>=0.5.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert->jupyter>=1.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (0.5.2)
Requirement already satisfied: mistune<2,>=0.8.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert->jupyter>=1.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (0.8.4)
Requirement already satisfied: defusedxml in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert->jupyter>=1.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (0.6.0)
Requirement already satisfied: async-generator in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbclient<0.6.0,>=0.5.0->nbconvert->jupyter>=1.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (1.10)
Requirement already satisfied: nest-asyncio in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbclient<0.6.0,>=0.5.0->nbconvert->jupyter>=1.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (1.4.3)
Requirement already satisfied: webencodings in /srv/conda/envs/notebook/lib/python3.7/site-packages (from bleach->nbconvert->jupyter>=1.0.0->modin-spreadsheet->-r requirements.txt (line 4)) (0.5.1)
Collecting google-api-core<2.0.0,>=1.0.0
  Downloading google_api_core-1.29.0-py2.py3-none-any.whl (93 kB)
     |████████████████████████████████| 93 kB 3.1 MB/s
Collecting opencensus-context==0.1.2
  Downloading opencensus_context-0.1.2-py2.py3-none-any.whl (4.4 kB)
Collecting googleapis-common-protos<2.0dev,>=1.6.0
  Downloading googleapis_common_protos-1.53.0-py2.py3-none-any.whl (198 kB)
     |████████████████████████████████| 198 kB 21.7 MB/s
Collecting google-auth<2.0dev,>=1.25.0
  Downloading google_auth-1.30.1-py2.py3-none-any.whl (146 kB)
     |████████████████████████████████| 146 kB 43.2 MB/s
Collecting rsa<5,>=3.1.4
  Downloading rsa-4.7.2-py3-none-any.whl (34 kB)
Collecting cachetools<5.0,>=2.0.0
  Downloading cachetools-4.2.2-py3-none-any.whl (11 kB)
Collecting pyasn1-modules>=0.2.1
  Downloading pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)
     |████████████████████████████████| 155 kB 47.9 MB/s
Requirement already satisfied: pyparsing>=2.0.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from packaging->modin==0.9.1+68.g6475c9e->-r requirements.txt (line 3)) (2.4.7)
Collecting pyasn1<0.5.0,>=0.4.6
  Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)
     |████████████████████████████████| 77 kB 11.3 MB/s
Requirement already satisfied: certifi>=2017.4.17 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from requests->ray==1.1.0->-r requirements.txt (line 2)) (2020.12.5)
Collecting qtpy
  Downloading QtPy-1.9.0-py2.py3-none-any.whl (54 kB)
     |████████████████████████████████| 54 kB 6.2 MB/s
Building wheels for collected packages: aiobotocore, wrapt, gpustat, nvidia-ml-py3
  Building wheel for aiobotocore (setup.py) ... done
  Created wheel for aiobotocore: filename=aiobotocore-1.3.0-py3-none-any.whl size=45779 sha256=ec1b0773ef183f84905b3b59b743ae3523a29ebe26163ad15d033d709173a1a0
  Stored in directory: /home/jovyan/.cache/pip/wheels/46/81/f1/c47c29199f73c49ecca9464f77aa181d267d33c8316d563980
  Building wheel for wrapt (setup.py) ... done
  Created wheel for wrapt: filename=wrapt-1.12.1-cp37-cp37m-linux_x86_64.whl size=71003 sha256=e61bc02f0cb191474572dc6a5aadaaf5f805123250afdb236b7a3aa56ff024e2
  Stored in directory: /home/jovyan/.cache/pip/wheels/62/76/4c/aa25851149f3f6d9785f6c869387ad82b3fd37582fa8147ac6
  Building wheel for gpustat (setup.py) ... done
  Created wheel for gpustat: filename=gpustat-0.6.0-py3-none-any.whl size=12617 sha256=d322053e73e7c3bcea70730afb817a10f1b8ef652fc51cb938e61a162ff28449
  Stored in directory: /home/jovyan/.cache/pip/wheels/e6/67/af/f1ad15974b8fd95f59a63dbf854483ebe5c7a46a93930798b8
  Building wheel for nvidia-ml-py3 (setup.py) ... done
  Created wheel for nvidia-ml-py3: filename=nvidia_ml_py3-7.352.0-py3-none-any.whl size=19191 sha256=9f4a3ba518fb6d88046f76505b67b7e145e36db3ab9673edac1db76bc9fbf191
  Stored in directory: /home/jovyan/.cache/pip/wheels/df/99/da/c34f202dc8fd1dffd35e0ecf1a7d7f8374ca05fbcbaf974b83
Successfully built aiobotocore wrapt gpustat nvidia-ml-py3
Installing collected packages: pyasn1, rsa, pyasn1-modules, protobuf, multidict, cachetools, yarl, qtpy, jmespath, googleapis-common-protos, google-auth, async-timeout, wrapt, qtconsole, opencensus-context, nvidia-ml-py3, jupyter-console, hiredis, google-api-core, botocore, blessings, aioitertools, aiohttp, redis, pyyaml, py-spy, opencensus, msgpack, jupyter, grpcio, gpustat, fsspec, filelock, colorful, colorama, click, aioredis, aiohttp-cors, aiobotocore, s3fs, ray, modin-spreadsheet
Successfully installed aiobotocore-1.3.0 aiohttp-3.7.4.post0 aiohttp-cors-0.7.0 aioitertools-0.7.1 aioredis-1.3.1 async-timeout-3.0.1 blessings-1.7 botocore-1.20.49 cachetools-4.2.2 click-8.0.1 colorama-0.4.4 colorful-0.5.4 filelock-3.0.12 fsspec-2021.5.0 google-api-core-1.29.0 google-auth-1.30.1 googleapis-common-protos-1.53.0 gpustat-0.6.0 grpcio-1.38.0 hiredis-2.0.0 jmespath-0.10.0 jupyter-1.0.0 jupyter-console-6.4.0 modin-spreadsheet-0.1.2 msgpack-1.0.2 multidict-5.1.0 nvidia-ml-py3-7.352.0 opencensus-0.7.13 opencensus-context-0.1.2 protobuf-3.17.2 py-spy-0.3.7 pyasn1-0.4.8 pyasn1-modules-0.2.8 pyyaml-5.4.1 qtconsole-5.1.0 qtpy-1.9.0 ray-1.1.0 redis-3.5.3 rsa-4.7.2 s3fs-2021.5.0 wrapt-1.12.1 yarl-1.6.3
jovyan@jupyter-modin-2dproject-2dmodin-2dkus8igqq:~/examples/spreadsheet$```

Change spreadsheet default options

Provides better defaults so that modin_spreadsheet.show_grid only needs the dataframe most of the time. Will help make modin.spreadsheet.from_dataframe less verbose.

test_date_index fails on certain modin versions

Environment

  • Operating System: OSX
  • Python Version: $ python --version 3.8.5
  • How did you install modin-spreadsheet: (pip, conda, or other (please explain))
  • Python packages: $ pip freeze or $ conda list (please include modin-spreadsheet, notebook, and jupyterlab versions)
  • Jupyter lab packages (if applicable): $ jupyter labextension list

Description of Issue

test_date_index fails on certain modin issues:
0.8.1, 0.8.2, 0.9.1 works
0.8.3, 0.9.0 does not work

Reproduction Steps

pytest -k test_date_index

What steps have you taken to resolve this already?

Tried the modin versions above

Anything else?

problem appears to come from & operator between filtered panda dataframes with the same index for all rows. (combined_condition = combined_condition & c on line 1476 of grid.py) In versions that fail, the result of the & has excess rows (e.g. a 4 row dataframe becomes 16 rows)
...

Add direct support for edit cell with objects e.g. Timestamp

Right now if you edit a date column, the history will look like:

# Edit cell
df.loc[(1, 'Date')]=Timestamp('2013-01-15 00:00:00')
unfiltered_df.loc[(1, 'Date')]=Timestamp('2013-01-15 00:00:00')

If you call spreadsheet.apply_history(), Timestamp is not defined, so it doesn't work. Would need to change history to include the import name or import objects to be supported.

Issue new release

We have recently pushed some changes that have fixed modin-spreadsheet so that things aren't breaking. We should build a new release ASAP.

Cell Edits through API don't always reflect in UI

Code to reproduce:
def create_df():
return pd.DataFrame(
{
"A": 1.0,
"Date": pd.Timestamp("20130102"),
"C": pd.Series(1, index=list(range(4)), dtype="float32"),
"D": np.array([3] * 4, dtype="int32"),
"E": pd.Categorical(["test", "train", "foo", "bar"]),
"F": ["foo", "bar", "buzz", "fox"],
}
)

df = create_df()
spreadsheet = SpreadsheetWidget(df=df)

spreadsheet._handle_view_msg_helper(
{
"row_index": 2,
"column": "A",
"unfiltered_index": 3,
"value": 3,
"type": "edit_cell",
}
)

Fix test_nans()

Environment

  • Operating System:
  • Python Version: $ python --version
  • How did you install modin-spreadsheet: (pip, conda, or other (please explain))
  • Python packages: $ pip freeze or $ conda list (please include modin-spreadsheet, notebook, and jupyterlab versions)
  • Jupyter lab packages (if applicable): $ jupyter labextension list

Description of Issue

pytest does not pass test_nans
Error from pytest:
FAILED modin_spreadsheet/tests/test_grid.py::test_nans - TypeError: unsupported operand type(s) for +: 'int' and 'str'
Error from traceback:
modin_spreadsheet/grid.py:1130: TypeError

Reproduction Steps

  1. pytest

Update requirements.txt

Add modin version and update notebook and pandas version

Potentially remove pandas since it's a modin dependency

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.