All Projects → RocketRace → badsv

RocketRace / badsv

Licence: other
The official BaDSV specification and CLI. Ascend from your puny DSV files!

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to badsv

COVID-19-Greece
A python-generated website for visualizing the novel coronavirus (COVID-19) data for Greece.
Stars: ✭ 21 (-58%)
Mutual labels:  csv
csvtogs
Take a CSV file and create a Google Spreadsheet with the contents
Stars: ✭ 15 (-70%)
Mutual labels:  csv
flowtorch
flowTorch - a Python library for analysis and reduced-order modeling of fluid flows
Stars: ✭ 47 (-6%)
Mutual labels:  csv
Textrude
Code generation from YAML/JSON/CSV models via SCRIBAN templates
Stars: ✭ 79 (+58%)
Mutual labels:  csv
tabular-stream
Detects tabular data (spreadsheets, dsv or json, 20+ different formats) and emits normalized objects.
Stars: ✭ 34 (-32%)
Mutual labels:  csv
import-cli-simple
This the meta package for Pacemaker Community, a Symfony based CLI application that provides import functionality for products, categories, attributes, and attribute-sets. The default format is CSV, adapters for XML are also available. The application can be declaratively extended by additional operations, which can be used to reassemble and exe…
Stars: ✭ 69 (+38%)
Mutual labels:  csv
awesome-georgian-datasets
Useful datasets, specific to Georgia
Stars: ✭ 47 (-6%)
Mutual labels:  csv
cubetl
CubETL - Framework and tool for data ETL (Extract, Transform and Load) in Python (PERSONAL PROJECT / SELDOM MAINTAINED)
Stars: ✭ 21 (-58%)
Mutual labels:  csv
Variations-of-SFANet-for-Crowd-Counting
The official implementation of "Encoder-Decoder Based Convolutional Neural Networks with Multi-Scale-Aware Modules for Crowd Counting"
Stars: ✭ 78 (+56%)
Mutual labels:  encoder-decoder
FileConvert
Converts between file formats such as CSV and Parquet
Stars: ✭ 14 (-72%)
Mutual labels:  csv
ottosocial
👍 ottosocial is a CLI to schedule tweets via CSV
Stars: ✭ 23 (-54%)
Mutual labels:  csv
phpunit-extensions
📦 Some cool extensions for PHPUnit
Stars: ✭ 28 (-44%)
Mutual labels:  csv
municipios-br
Dados em formato aberto sobre municípios e unidades federativas do Brasil.
Stars: ✭ 58 (+16%)
Mutual labels:  csv
grafana-csv-plugin
CSV datasource for Grafana 6.x.x / 7.x.x
Stars: ✭ 33 (-34%)
Mutual labels:  csv
OBIS
A JavaScript framework for downloading bank statements in OFX, QIF, CSV, and JSON. Currently supports HSBC UK Personal Banking.
Stars: ✭ 37 (-26%)
Mutual labels:  csv
Image deionising auto encoder
Noise removal from images using Convolutional autoencoder
Stars: ✭ 34 (-32%)
Mutual labels:  encoder-decoder
CsvTextFieldParser
A simple CSV parser based on Microsoft.VisualBasic.FileIO.TextFieldParser.
Stars: ✭ 40 (-20%)
Mutual labels:  csv
node-emails-from-csv
A simple NodeJS aplication that helps sending emails for events. Uses CSV files for target users.
Stars: ✭ 18 (-64%)
Mutual labels:  csv
DaFlow
Apache-Spark based Data Flow(ETL) Framework which supports multiple read, write destinations of different types and also support multiple categories of transformation rules.
Stars: ✭ 24 (-52%)
Mutual labels:  csv
DataProfiler
What's in your data? Extract schema, statistics and entities from datasets
Stars: ✭ 843 (+1586%)
Mutual labels:  csv

BaDSV — BaDly-Separated Values

The evolution of CSV & other DSV files—BaDSV is what you get when you leave your CSV file in the oven for too long. The delicious charred scent of your data being stored in a readable, compact, and handsome format...

BaDSV is a family of text-based file formats designed to store values, seperated by delimiters. BaDSV files are delimited by random invalid byte sequences, defined as a constant-length string of bytes that is not possible at the beginning of a code unit, for a given character encoding.

This following example demonstrates the conversion process between CSV and utf-8-flavored BaDSV files:

foo,bar   | <---- CSV |    foo�bar
a,"b,"    | BaDSV --> |    a�b,

Several flavors of BaDSV are currently supported, each with their own set of randomly-generated delimiters:

Flavor Delimiter size Possible Delimiters
utf-8  1 byte 0xc0 ~ 0xc1, 0xf5 ~ 0xff, 0x80 ~ 0xbf
utf-16 2 bytes 0xd800 ~ 0xdfff
??? A mystery Yet to be determined

Pros of BaDSV

  • No need to quote values, since delimiters physically can't be part of the values
  • Marginally smaller file size compared to DSV files
  • Doesn't lose information in the conversion process (usually)
  • Cool and good

Cons of BaDSV (don't be fooled, these are all very minor)

  • Difficult to work with in many text renderers
  • Often unreadable
  • Not cross-platform
  • Equivalent files aren't equal to the byte
  • Character encoding is tied to the file format
  • A colossal headache to implement APIs for
  • Unnecessary reliance on randomness
  • Has the same limitations as DSV files, only in a different jacket
  • No quote support leads to myriad potential edge cases
  • Not fully text-based, but not fully binary serialized - possibly the worst of both worlds
  • Impossible to determine whether a byte is part of a delimiter without parsing the whole file until the byte
  • Is not a format that has been developed, standardized, and polished to a respectable state throughout the years

The BaDSV command-line tool

Compile this repository using cargo to gain access to a heavenly BaDSV file converter. The CLI is exquisitely crafted using the most elaborate default settings available, and the error messages are enlightnening.

Usage (resemblance to --help output is purely coincidental)

USAGE:
    badsv [OPTIONS] <--ascend|--regress|--list-encodings> [ARGS]

FLAGS:
    -a, --ascend            Ascend from a DSV file into a BadSV file
    -h, --help              Prints help information
    -l, --list-encodings    Lists valid BadSV encodings
    -r, --regress           Regress from a BadSV file into a DSV file (why would you do this?)
    -V, --version           Prints version information

OPTIONS:
    -d, --delimiter <DELIMITER>    The delimiters used in the DSV file [Default: ,]
    -e, --encoding <ENCODING>      The flavor of BadSV used [Default: utf-8]

ARGS:
    <input>     Input file
    <output>    Output file

FAQ

Why?

Why not?

What's wrong with CSV?

It's not fancy, fashionable or even remotely handsome. What isn't wrong with CSV?

Why do you think this will supercede CSV?

People like to roll the dice. BaDSV makes use of that primal need, and incorporates randomness to a rigid file format.

Aren't these just C strings on meth?

Yes

Why does this even exist?

I had a moment of enlightenment, and realized what must be done.

[Something mean about code quality]

Look. Documentation, testing and other good programming habits are overblown. BaDSV transcends testing.

Rust btw

Rust btw

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].