An open API service indexing awesome lists of open source software.

https://github.com/leeoniya/utable

A tiny, fast UI for viewing, sorting, and filtering CSVs
https://github.com/leeoniya/utable

Last synced: 7 months ago
JSON representation

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

Awesome Lists containing this project

README

          

## 𝌠 μ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](https://github.com/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