{"id":16858009,"url":"https://github.com/leeoniya/utable","last_synced_at":"2025-03-22T06:31:13.394Z","repository":{"id":214875886,"uuid":"737557279","full_name":"leeoniya/uTable","owner":"leeoniya","description":"A tiny, fast UI for viewing, sorting, and filtering CSVs","archived":false,"fork":false,"pushed_at":"2024-12-06T03:23:28.000Z","size":77,"stargazers_count":16,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-18T08:53:37.100Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leeoniya.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-31T14:08:24.000Z","updated_at":"2024-12-06T03:23:32.000Z","dependencies_parsed_at":"2023-12-31T16:22:25.875Z","dependency_job_id":"c4634aa5-5827-4b05-9e35-6f962e35c12e","html_url":"https://github.com/leeoniya/uTable","commit_stats":null,"previous_names":["leeoniya/utable"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leeoniya%2FuTable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leeoniya%2FuTable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leeoniya%2FuTable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leeoniya%2FuTable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leeoniya","download_url":"https://codeload.github.com/leeoniya/uTable/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244918500,"owners_count":20531682,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T14:11:10.730Z","updated_at":"2025-03-22T06:31:12.014Z","avatar_url":"https://github.com/leeoniya.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 𝌠 μTable\n\nA tiny, fast UI for viewing, sorting, and filtering CSVs _(MIT Licensed)_\n\n---\n### Introduction\n\nμTable is a fast interface for viewing CSV files.\nIt draws much inspiration from [thoughtspile/hippotable](https://github.com/thoughtspile/hippotable), but makes different tech choices with the goal of being smaller and faster.\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth\u003e\u003c/th\u003e\n      \u003cth\u003eμTable\u003c/th\u003e\n      \u003cth\u003eHippotable\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003cth align=\"left\"\u003eJS Framework\u003c/th\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/localvoid/ivi\"\u003eivi\u003c/a\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/solidjs/solid\"\u003eSolidJS\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"left\"\u003eCSV Parsing\u003c/th\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/leeoniya/uDSV\"\u003eμDSV\u003c/a\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/uwdata/arquero/blob/main/src/format/parse/parse-delimited.js\"\u003eArquero (d3-dsv)\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"left\"\u003eVirtualization\u003c/th\u003e\n      \u003ctd\u003eown (\u0026lt; 0.5 KB)\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/tanstack/table\"\u003eTanStack/table\u003c/a\u003e \u003ca href=\"https://bundlephobia.com/package/@tanstack/solid-table@8.11.2\"\u003e(~60 KB)\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"left\"\u003eSorting / filtering\u003c/th\u003e\n      \u003ctd\u003eown + \u003ca href=\"https://github.com/leeoniya/uExpr\"\u003eμExpr\u003c/a\u003e (\u0026lt; 4 KB)\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/uwdata/arquero\"\u003eArquero\u003c/a\u003e \u003ca href=\"https://bundlephobia.com/package/arquero@5.4.0\"\u003e(~400 KB)\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"left\"\u003elocalStorage Persistence\u003c/th\u003e\n      \u003ctd\u003eno\u003c/td\u003e\n      \u003ctd\u003eyes\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n  \u003ctfoot\u003e\n    \u003ctr\u003e\n      \u003cth align=\"left\"\u003eBundle size\u003c/th\u003e\n      \u003ctd\u003e20 KB\u003c/td\u003e\n      \u003ctd\u003e416 KB\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tfoot\u003e\n\u003c/table\u003e\n\nBoth projects are very early, and the choices made by Hippotable are totally sensible, considering its plans to leverage much more of the Arquero library.\nI have, however, previously tested some Arquero functions (such as grouping) and found its performance to be lacking in multiple areas.\n\nuTable 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.\n\n---\n### Features\n\n---\n### How to use\n\n**Statically hosted:**\n\n1. Open https://leeoniya.github.io/uTable\n2. Drag/drop a CSV file into the UI\n\n**Locally or dev:**\n\n1. Clone this repo\n2. Install dependencies: `npm install`\n3. Build bundle: `npm run build`\n4. Run an http server in repo root that can serve static files, for example:\n    1. Install: `npm i -g http-server`\n    2. Run `http-server` in repo root\n5. Open `http://localhost:8080/`\n6. Drag/drop a CSV file into the UI\n\n---\n### Performance","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleeoniya%2Futable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleeoniya%2Futable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleeoniya%2Futable/lists"}