Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DataFrames.jl+Pluto.jl integration #2206

Closed
bkamins opened this issue Jul 8, 2022 · 7 comments
Closed

DataFrames.jl+Pluto.jl integration #2206

bkamins opened this issue Jul 8, 2022 · 7 comments
Assignees
Labels
display & PlutoRunner & AbstractPlutoDingetjes.jl frontend Concerning the HTML editor other packages Integration with other Julia packages

Comments

@bkamins
Copy link

bkamins commented Jul 8, 2022

In JuliaData/DataFrames.jl#3096 (comment) there is a question on DataFrames.jl+Pluto.jl integration.

The issue is:

Pluto.jl does some customization if the class in div and table is data-frame. Some of those customization overrides what we selected in [DataFrames.jl]

The question is should we go forward with it (i.e. let Pluto.jl override the settings of DataFrames.jl or this should be somehow synchronized).

On DataFrames.jl side the issue is triggered by the fact that we want to switch to PrettyTables.jl for HTML rendering.

@Pangoraw Pangoraw added other packages Integration with other Julia packages display & PlutoRunner & AbstractPlutoDingetjes.jl labels Jul 12, 2022
@lungben
Copy link
Contributor

lungben commented Jul 26, 2022

I think it would be really cool to have an interactive table display in Pluto for DataFrames as default, with searching, filtering, sorting and pagination.

Some time ago I did some experiments with agGrid (https://github.com/lungben/PlutoGrid.jl ), what looks quite promising.
One issue there is how to deal with large DataFrames - for sorting, filtering, pagination, etc. agGrid needs to have the whole DataFrame in the frontend. Maybe load only a specific amount of data into the table viewer (e.g. 10k lines) and add a button to load more/all data?

@bkamins
Copy link
Author

bkamins commented Jul 26, 2022

VSCode had the same issue (also TerminalPager.jl) - the only solution is paging loading of data frame data into cache AFAICT.

@fonsp fonsp added the frontend Concerning the HTML editor label Sep 1, 2022
@bkamins
Copy link
Author

bkamins commented Sep 1, 2022

@fonsp - when you look at this issue can you please coordinate with @ronisbr (all these changes are related to PrettyTables.jl 2.0 release that is going to happen soon). Thank you!

@bkamins
Copy link
Author

bkamins commented Sep 9, 2022

x-ref JuliaData/DataFrames.jl#3096 (comment) (just to keep track all comments in one place)

@fonsp
Copy link
Owner

fonsp commented Sep 20, 2022

It looks like the PR is fine from Pluto's perspective because, like Ronan mentioned, Pluto does not call the default HTML show method unless you explicitly ask it to (using something like AsMIME.jl). About the CSS styles: all our custom styling is scoped to our custom viewers only, so it will not interfere with PrettyTables.jl.

We designed a custom table viewer because we wanted to improve the default in DataFrames.jl, and because we want to support lazy loading more rows and columns. Lazy loading is still very important, so we will keep our custom viewer for now, but I would be interested to look at the improvements in PrettyTables.jl and bring some of them to Pluto!

@fonsp fonsp closed this as completed Sep 20, 2022
@fonsp
Copy link
Owner

fonsp commented Sep 20, 2022

I understand that it is frustrating right now that all the cool work into PrettyTables.jl and DataFrames.jl will not be visible to Pluto users, but let's try to get some of the nice new features into Pluto soon!

@bkamins
Copy link
Author

bkamins commented Sep 20, 2022

It is fine from DataFrames.jl perspective.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
display & PlutoRunner & AbstractPlutoDingetjes.jl frontend Concerning the HTML editor other packages Integration with other Julia packages
Projects
None yet
Development

No branches or pull requests

5 participants