Repository navigation
What's new
- Smaller pages — the frontend ships gzipped and unpacks itself, cutting about 45% off every file. An empty page goes 264KB → 146KB, a 1000-row one 366KB → 248KB.
--splitwrites a directory of separately cacheable files instead of one page. Filenames carry a content hash, so an unchanged rerun keeps its URL and the cache, while changed rows get a new URL that can't be served stale. Still opens from disk, no fetch needed.--serveis a real HTTP server rather than a file:// URL, and takes an optional [HOST]:PORT:
csvtotable data.csv --serve # a random loopback port
csvtotable data.csv --serve :8080 # port 8080 on loopback
csvtotable data.csv --serve 0.0.0.0:8080 # every interface
csvtotable data.csv --serve --split # each asset served separately
An empty host binds loopback, so exposing data on the network takes writing the host out, and warns when you do.
Flags
New: --split, --no-compress. Changed: --serve takes an optional [HOST]:PORT; a bare --serve behaves as before.
Compatibility
Pages need DecompressionStream (Chrome 103+, Firefox 113+, Safari 16.4+). Older browsers get a message rather than a blank page, and --no-compress inlines readable source for them. --serve now opens http://127.0.0.1:PORT instead of a file path.
Full Changelog: v3.1.0...v3.2.0