I would love to use some of the features in AG Grid Enterprise but its too expensive for me to afford. Moreover, I am thinking of deploying an executable dash app to run server-less and the licensing of AG Grid Enterprise seems practically impossible with that deployment strategy.
I’m not entirely happy with the capabilities of Dash DataTable and the community level of AG Grid is not sufficient for what I want. I minimally need an editable table that can do cell selection with copy + paste. A grid with a drag-fill capability would be a dream.
I’ve stumbled upon React.js grids like RevoGrid and Glide Data Grid which both offer a lot of features and both are under MIT licenses. If anyone could port either of these grids over to Dash, it would be much appreciated. I will try in the meantime, but my javascript/React understanding is very minimal. The reflex component Data Editor is based on Glide Data Grid, so I hope it can be ported to Dash.
Questions:
a) define expensive?
b) why/how are you running the dash app serverless / how is licensing of Ag Grid Enterprise practically impossible?
c) can you tell me (perhaps not directly in this channel) what you’re looking to do
a) AG Enterprise is minimally $999, which is something I don’t have the money to justify yet, especially if I don’t commercialize the app. My app is mostly a bootstrapped hobby project, but I think it will have a lot of utility for many in the biology/biotech community space.
b) I have been able to build a windowed (via webview) executable (via pyinstaller). I’m not sure about releasing the app as a via a webserver or sold as a SaaS yet. A couple reasons for this now: 1) one part of the app is computationally intensive analyzing multi-GB data files, 2) the user data may be proprietary and 3) I don’t have any experience doing this and it will be easier for me to have it work all locally for now. My understanding for the AG Grid Enterprise licensing is that each local deployment would warrant a new license, which is too costly even I try to commercialize the app.
c) I’m building a molecular biology tool. There is a lot of tabular data/grid-like data that is inputted, edited, selected, and viewed. The number of rows would be in the 1-1000 range and number of columns in the 4-20 range. I’m using excel as an entry-point to input/edit all the data and dash Data Table to select/view it within the app, but I would like to eliminate excel and have everything done within the app for an enhanced and integrated experience. There are callbacks that I would like to be triggered while editing and selecting data that I can’t do externally with Excel. Moreover, ditching Excel would allow the app to be deployed as a web app/ SaaS more easily if I decide to do that in the future.
I would need a grid that would fulfill these requirements:
Very permissive free license (e.g. MIT, BSD, Apache, not GPL/AGPL)
Smooth and modern feel
Selectable, copy-paste-able, insertable, removable rows/column with single/multi-ranges
Selectable, copy-paste-able cells with single/multi-ranges
Restriction of cell input in terms of data type and values
Nice to have features:
Formulas
Drag to copy
Drag to continue formulas
Predictive/autocompletion
Merged cells
Custom right-click menu
Some comments on various react/dash grid tables:
Dash Data Table → this fulfills some of my requirements but doesn’t seem to be the greatest experience with editing and copy-pasting data.
SpreadGrid → looks great but it doesn’t seem to support copy-paste; not the most aesthetically pleasing
AG Grid Enterprise → no permissive license, expensive
MUI DataGrid Premium → no dash integration, no permissive license, expensive
Mito Spreadsheet → this looks very cool but no permissive license (AGLP3) and I’m uneasy of the data collection of community version, paid tier is too expensive.
Dash Mantine React Table → no paste support even in the non-dash version, not actively supported.
RevoGrid → no dash integration
Glide Data Grid → no dash integration
Reflex Data Editor → based on Glide Data Grid though I’m not sure it supports all its features. Not sure how well reflex will work in a dash app?
Dash Tabulator → not actively supported, no copy-paste support; however, this is based on an old version of react-tabulator, which might now have copy-paste support as its now based on v5.6.1 of Tabulator.
Grist → no dash integration
PrimeReact DataTable → not sure if copy-paste is supported, no dash integration