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

Editable dataframe component or AGgrid component #73

Closed
iiLaurens opened this issue Aug 10, 2023 · 5 comments
Closed

Editable dataframe component or AGgrid component #73

iiLaurens opened this issue Aug 10, 2023 · 5 comments

Comments

@iiLaurens
Copy link

This package looks great and I would like to try it. One thing that stops me from using this is the lack of dataframe manipulation. A lot of data in the corporate world is from excel or in tabular format. Being able to copy-paste data as input, and modifying it in place would have great value. Have you considered something like this?

Currently streamlit supports editable dataframes after it was much requested. Also AGGrid supports it, which is natively supported by NiceGUI. Would love to see something similar in this.

@ramedina86
Copy link
Collaborator

Thanks for taking the time to share this.

Yes, editable Dataframe is definitely on the roadmap. Probably 2 or 3 releases away.

I'm particularly interested in knowing what the "deal breakers" for people are, if you have any more I'd really appreciate if you could share them.

@iiLaurens
Copy link
Author

iiLaurens commented Aug 14, 2023

Thanks for taking the time to share this.

Yes, editable Dataframe is definitely on the roadmap. Probably 2 or 3 releases away.

I'm particularly interested in knowing what the "deal breakers" for people are, if you have any more I'd really appreciate if you could share them.

Sure, I can identify some initial deal breakers for me. Take it as constructive criticism, and not as insults. From the looks of it your tech seems superior to streamlit. The point of improvement for me would be:

  • Documentation is on the sparse side. What Streamlit and NiceGUI do well is having mini-demos embedded in their documentation. They document a component and immediately show how it works in an IFrame. This inspires a lot of confidence in knowing that I will be able to find what I need before I commit using a new library. Some of the components could also have more in-depth documentation. E.g. the text element is one of the most basic ones and probably most commonly used. But it is not immediately clear from the components page how to dynamically construct text. Suppose I know the variable username. Then how do I write something that gives me "Hello {{username}}, welcome back to this page!"? And would such a text element automatically update if the variable updates? It's a fundamental feature that somehow took me surprisingly long to figure out, and almost made me wonder if it is possible at all. Don't be afraid to repeat features. Nobody is ever going to read the full documentation, so having some repetitions or reminders or cross links is never a bad thing. As a fellow developer I hate writing documentation myself. But it probably is the single most important thing for adoption. I always say; if a feature is not documented, then it might as well not have existed.
  • Custom components. If you only look at Streamlit's forums for custom components you will quickly discover that their is always demand for custom made solutions. No matter how many components you make, someone will require something unique to their case. I have needed advanced tables with grouping which was solved by an AGGrid plugin. I have needed a 'reordering widget' to reorder a list. I have needed multiselect inputs where people can also type their own input. I have needed collapsible tree folders where people could select files or subdirectories. You will never be able to accomodate everyone, so let the community help you in filling those needs.

@ramedina86
Copy link
Collaborator

Thanks for taking the time to share this and helping to improve this project by sharing your impressions. It's an ambitious project and still very early stages (3 months after release and still in v0.1.x) so of course there's a lot of work to be done.

  • Live controls is a great idea. I'll implement more "try live" features.
  • Support for custom component is almost finished and coming in the next release!

@iiLaurens
Copy link
Author

@ramedina86
I know the topic is closed, but I forgot to mention the excellent project Perspective. AGGrid is good but it is definitely a web-first component. Perspective natively provides features to interface with Python. This way you can avoid having to create your own bindings, which undoubtedly will lead to a bottomless pit of extra feature requests and maintenance. I know that Holoviz Panel supports Perspective already. So may I suggest you consider Perspective too?

@Loewe1000
Copy link

Is the any update on editable Dataframes? 🤗

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants