FloatingTableView.jl has been submitted for registration

My first package, FloatingTableView.jl has been submitted for registration.

This package is designed for users coming from Stata, which offers a super fast table viewing function that opens up a new window to see the data set.

It is also designed for users coming from R Studio and those who use Juno who but dislike the way viewing a data set in a single pane limits window snapping and clicking and dragging.

It will be available to download from the general registry after the 3-day waiting period is over. In the meantime you can play around with it using

]add https://github.com/pdeffebach/FloatingTableView.jl.git

FloatingTableView.jl leverages Julia Computing’s TableView.jl and Blink.jl to view any Tables.jl compatible data source in an Electron-based window.

julia> using DataFrames, FloatingTableView

julia> df = DataFrame(rand(100, 100));

julia> browse(df)

Because TableView.jl uses lazy-loading of data, FloatingTableView can handle very large datasets with no performance penalty. However, because it uses an Electron-based window via Blink.jl, there is a non-trivial “time to first browse” startup time. Repeated calls to browse will be fast.

12 Likes

Similar to https://github.com/queryverse/ElectronDisplay.jl, right :slight_smile: Although we don’t have lazy loading (yet).

3 Likes

I will add that to the list of comparisons! The lazy loading is definitely key. BrowseTables.jl offers something similar as well, but I found it too slow for a dataset with, say, 100,000 rows. This was very doable with FloatingTableView.

3 Likes

BrowseTables.jl is intentionally super-simple, essentially a generator for static HTML.

2 Likes

FloatingTableView is now registered and ready to download!

]add FloatingTableView

to use the package!

5 Likes

Update: A new version has been released with the boolean keyword argument newwindow which allows you to open up two or more datasets at the same time.

Here is a full docstring:

browse(t; newwindow = false, kwargs...)

Browse data source in a new Blink window using
Tables.jl’s showtable function.

Arguments

  • t, a Tables.jl-compatible data source,
    for example a DataFrame or a NamedTuple
    of Vectors
  • newwindow, boolean keyword argument to view the data
    in a new Blink window instead of over-writing.
    Viewing in a new window will be slower than over-writing.
  • kwargs..., keyword arguments passed to the
    showtable command from TableView.jl to
    control the details of the new data viewer.
    See showtable for details.

Examples

julia> t = (a = rand(10), b = rand(10))
julia> browse(t)
julia> t = rand(100, 100)
julia> browse(t, dark = true)
5 Likes

TableView.jl recently had a version bump (h/t @xiaodai), so I made added the new version and bumped FloatingTableView to 0.2.0. Just tagged it a new version.

4 Likes

thanks for the acknowledge, but you did all the work. haha

@pdeffeback, as reported before, FloatingTableView.jl does not seem to allow copying&pasting any cells in Win10.
So, a wish for future version.

NB:
BrowseTables.jl might be slower for huge tables but does allows this:


2 Likes

It turns out ag-grid is proprietary and copy-and-pasting is an enterprise-only feature. So this feature, while important, is unlikely to happen in the near future.

PS, check out ClipData.jl for a (probably) more fully-featured version of that clip2m function.

3 Likes

Could DataTables be a valid open source alternative?