csvz | rson | |
---|---|---|
3 | 1 | |
30 | 21 | |
- | - | |
4.4 | 0.0 | |
over 3 years ago | about 3 years ago | |
Rust | ||
Creative Commons Zero v1.0 Universal | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
csvz
- CSVZ: Zipped CSV files with optional metadata (2020)
-
Why isn’t there a decent file format for tabular data?
I put some work into creating a standard, csvz, for putting csv files and their metadata, into a zip file.
https://github.com/secretGeek/csvz
It’s a pretty powerful concept.
SimonW’s preferred technique of using sqlite as the means of exchange is also very powerful. Particularly when combined with all of the utils he maintains.
- It's Time to Retire the CSV
rson
-
Why isn’t there a decent file format for tabular data?
Hm I wasn't aware of RSON. https://github.com/rson-rs/rson
QSN isn't intended to be tied to Rust in any way (and isn't), while RSON says it uses the Serde data model.
This gets at an issue I have been having a hard time explaining, mentioned here:
http://www.oilshell.org/blog/2022/03/backlog-arch.html
That is, narrow waists are necessarily a COMPROMISE. JSON is a compromise, and Rust users will be equally unhappy as Lua or Erlang users. That is a feature and not a bug for something meant of interoperability. You are "stuck with" the lowest common denominator, but that's what enables interop.
I contrast "monoglot" serialization formats like Python pickle an Go .gob with language-independent formats like JSON, TSV, and HTML. The wisdom of JSON is that Crockford specified it independently of JavaScript.
But both are useful.
It's not clear if RSON is meant to be monoglot or polyglot, but it's a huge difference and it seems more monoglot. QSN on the other hand is definitely a polyglot design like JSON, despite being derived from Rust.
What are some alternatives?
odiff - The fastest pixel-by-pixel image visual difference tool in the world.
hsv5 - HTML5 Based Alternative to CSV, TSV, JSONL, etc
cyanide - BSON documents in Elixir language
parquet-wasm - Rust-based WebAssembly bindings to read and write Apache Parquet data
ndjson-spec - Specification
simdjson - Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks
AwesomeCSV - 🕶️A curated list of awesome tools for dealing with CSV.
ndjson.github.io - Info Website for NDJSON