quantopian / qgrid

An interactive grid for sorting, filtering, and editing DataFrames in Jupyter notebooks
Apache License 2.0
3.04k stars 425 forks source link

REPO IS NO LONGER MAINTAINED AND DOES NOT SUPPORT JUPYTERLAB>=3.0.0 #380

Open pmarcellino opened 1 year ago

pmarcellino commented 1 year ago

I just spent quite a while setting up an environment and troubleshooting different issues, when I realized that this repo is no maintained and does not support any recent version of jupyterlab.

GaryScottMartin commented 1 year ago

I recommend IPYDataGrid (https://github.com/bloomberg/ipydatagrid) as a working alternative to QGrid.

ankostis commented 1 year ago

Nice UX, but much slower to load big dataframes :-(

ankostis commented 1 year ago

There is a new QGrid "fork" (the same codebase just not git-cloned) that works with all latest jupyter machinery, minus ipywidgets-8+:

https://github.com/JohnOmernik/qgrid

It was packaged with all NPM dependencies in wheels, and works out of the box.

vthemelis commented 1 year ago

Nice UX, but much slower to load big dataframes :-(

Is it just the initial loading that is slow for you? I fixed a bug on this recently that made initialising much faster.

https://github.com/bloomberg/ipydatagrid/pull/395

ankostis commented 1 year ago

I believe that QGrid loads dataframe lazily by default, it discovers the shape of rows/columns and when scrolling, it populates cells only when the mouse is at rest. Does ipydatagrid has lazy loading capabilities?

vthemelis commented 1 year ago

I assume that by "loads dataframes lazily" you mean that it doesn't add DOM elements for the rows/columns that are out of view?

If yes, ipydatagrid doesn't actually use the DOM elements to represent its structure but uses a canvas element on which of course it only draws the rows/columns that are currently in view.

Out of interest, what were the symptoms of slowness that you observed? Might be worth an issue on the ipydatagrid repo.

ankostis commented 1 year ago

I takes ~11sec to load 200k rows dataframe, while QGrid loads instantly (and ipyaggrid takes 7sec).

zhihanyue commented 8 months ago

I've created a new repo QgridNext to continue maintaining Qgrid for future Jupyter versions.

QgridNext is now compatible with recent releases of Jupyter:

QgridNext JupyterLab Notebook Voila
v2.0.0 v3 - v4 v5 - v7 v0.2 - v0.5

Now it works as a prebuilt extension (introduced in JupyterLab 3), hence JupyterLab 1/2 are no longer supported. I've reorganized documents, readme, test environments and demos for a fresh start for the new repo. Your feedback, issues and PRs are welcomed and highly appreciated!