Skip to content

leeoniya/uTable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

𝌠 μTable

A tiny, fast UI for viewing, sorting, and filtering CSVs (MIT Licensed)


Introduction

μTable is a fast interface for viewing CSV files. It draws much inspiration from thoughtspile/hippotable, but makes different tech choices with the goal of being smaller and faster.

μTable Hippotable
JS Framework ivi SolidJS
CSV Parsing μDSV Arquero (d3-dsv)
Virtualization own (< 0.5 KB) TanStack/table (~60 KB)
Sorting / filtering own + μExpr (< 4 KB) Arquero (~400 KB)
localStorage Persistence no yes
Bundle size 20 KB 416 KB

Both projects are very early, and the choices made by Hippotable are totally sensible, considering its plans to leverage much more of the Arquero library. I have, however, previously tested some Arquero functions (such as grouping) and found its performance to be lacking in multiple areas.

uTable has similar goals as Hippotable, but [perhaps] with greater scrutiny on external dependencies, and will always roll its own solutions when there are significant performance and/or size benefits.


Features


How to use

Statically hosted:

  1. Open https://leeoniya.github.io/uTable
  2. Drag/drop a CSV file into the UI

Locally or dev:

  1. Clone this repo
  2. Install dependencies: npm install
  3. Build bundle: npm run build
  4. Run an http server in repo root that can serve static files, for example:
    1. Install: npm i -g http-server
    2. Run http-server in repo root
  5. Open http://localhost:8080/
  6. Drag/drop a CSV file into the UI

Performance

About

A tiny, fast UI for viewing, sorting, and filtering CSVs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published