Show HN: Comma Separated Values (CSV) to Unicode Separated Values (USV)

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • usv

    Unicode Separated Values (USV) data markup for units, records, groups, files, streaming, and more.

  • They cover the reasoning for using the control picture characters instead of the control characters in the FAQ:

    "We tried using the control characters, and also tried configuring various editors to show the control characters by rendering the control picture characters.

    First, we encountered many difficulties with editor configurations, attempting to make each editor treat the invisible zero-width characters by rendering with the visible letter-width characters.

    Second, we encountered problems with copy/paste functionality, where it often didn't work because the editor implementations and terminal implementations copied visible letter-width characters, not the underlying invisible zero-width characters.

    Third, users were unable to distinguish between the rendered control picture characters (e.g. the editor saw ASCII 31 and rendered Unicode Unit Separator) versus the control picture characters being in the data content (e.g. someone actually typed Unicode Unit Separator into the data content)."

    - https://github.com/SixArm/usv/tree/main/doc/faq#why-use-cont...

  • json-toolkit

    "the best opensource converter I've found across the Internet" -- dene14

  • CSV is great because excel can import it, but it can't import USV, so at that point, why use USV when you can use JSON?

    https://github.com/tyleradams/json-toolkit/

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • esm.sh

    A fast, smart, & global CDN for modern(es2015+) web development.

  • const extism = await import("https://esm.sh/@extism/extism");

  • extism-csv-to-usv

    Run the `csv-to-usv` Rust crate library function from any of 15+ Extism supported languages: https://github.com/extism/extism

  • If you would like to run csv-to-usv from 15+ languages (not only rust!) then check out this demo I made, converting the library to an Extism plugin function: https://github.com/extism/extism-csv-to-usv

    Here's a snippet that runs it in your browser:

        // Simple example to run this in your browser! But will work in Go, PHP, Ruby, Java, Python, etc...

  • RSV-Specification

    Rows of String Values (RSV Data Format) Specification - A Simple Binary Alternative to CSV

  • A similar concept that is (IMHO) much nicer: RSV

    It doesn't need any escaping or quoting: a field just has to be valid UTF-8.

    The trick is that the delimiters are bytes that are invalid UTF-8.

    The spec fits on a napkin, parsing is trivial, you can jump to the middle of a doc and find the nearest row, etc.

    Main downside is you need an editor/viewer that can handle it.

    https://github.com/Stenway/RSV-Specification

  • csv-to-usv-rust-crate

    Comma Separated Values (CSV) to Unicode Separated Values (USV) Rust crate

  • mllp-http

    Convert MLLP to HTTP and vice versa

  • I wrote one of the most popular translators for MLLP, which converts it to HTTP [1].

    ---

    P.S. Ironically, HL7 messages have something literally called a "field separator" but don't use the field separator character, usually they use vertical bar.

    [1] https://github.com/rivethealth/mllp-http

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • persist-cache

    An easy-to-use Python library for lightning-fast persistent function caching.

  • Funnily enough, I published a Python library two days ago that uses emojis to indicate where certain non-msgpackable builtin types have been forced into msgpackable objects: https://github.com/umarbutler/persist-cache/blob/main/src/pe...

    is used for tuples, for sets, for frozen sets, for pickles, for bytes and for bytearrays.

    I thought it was pretty ingenious but clearly I’m not the only one to think of it.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts