[ANN] DashTable.jl: Web-app based interactive table component

DashTable.jl provides an interactive table component designed by Plotly for viewing, editing, and exploring large datasets. Now all data scientists and analysts using Julia can view their data in an interactive table in a web-app based dashboard. This component was written from scratch in React.js specifically for the Dash community. Its API was designed to be ergonomic, and its behaviour is completely customizable through its properties. DataTable is rendered with standard, semantic HTML markup, making it accessible, responsive, and easy to style. The extensive documentation has many examples, and you can try them out by installing DashTable.jl. This package provides the following features with tables:

12 Likes

Thanks, looks great!

A great enhancement would be a higher-level API to do e.g. “Backend Paging with Filtering and Multi-Column Sorting” (from Dash for Julia User Guide and Documentation | Plotly) with a single Julia command (with a Tables.jl compatible source).

2 Likes

@Manu_Francis, is there a video for dummies on the use cases of DashTable.jl?

Sorry for the dumb questions that arisen from trying the Editable DataTable example:

  1. run_server(app, "0.0.0.0", debug=true) is in all examples but does not seem to work. Had to use instead: run_server(app, "0.0.0.0", 8080) and then point web browser to: http://127.0.0.1:8080

  2. After the dataframe table has been edited in the browser, can we kill it and continue the Julia program flow with the updated dataframe? What is the logic?

Thanks in advance.

1 Like

@rafael.guerra
Answer to Question 1: It is working in my side. May be your port 8080 is already in use. or another solution, you can set ENV["PORT"] = 8080. Another solution is to use different port address.
Answer to Question 2: You cannot do like that. Or you have to save edited dataframe as CSV and load back again

1 Like

Is it possible to export a dash table to standalone HTML+JS that you could plug in a static website? if so could you show a simple example doing that? if so then it becomes possible to insert Dash tables in things like Documenter.jl or Franklin.jl which could be pretty neat. Thanks!

1 Like

or Pluto.jl

Pluto has a live Julia process like IJulia so I imagine it’s pretty easy to get it to work with it (though maybe the question remains for when you export the Pluto notebook to static html).

2 Likes

Currently, using <iframe> is the only option to integrate DashTable in HTML application

The future release will contain the components to integrate DashTable in React.js application with communication between both apps.

1 Like