4 releases (breaking)
0.5.0 | Jan 8, 2024 |
---|---|
0.4.0 | Jan 5, 2024 |
0.3.0 | Jan 5, 2024 |
0.1.0 | Jan 5, 2024 |
#1856 in Encoding
19KB
402 lines
CBOR CLI
Command line tool for encoding and decoding CBOR using serde. Supports import and export for JSON, YAML, and TOML. Supports deep inspection of CBOR files.
Features:
- Import and Export from JSON, YAML, TOML
- Inspect CBOR files for debugging
- Supports piped input and output (stdin and stdout)
- Supports multiple input files or multiple items in a single file
- Supports custom delimiters output
Installation
Homebrew
brew tap takenpilot/cbor
brew install cbor-cli
Cargo
cargo install cbor-cli
Import
cbor import test.json > test.cbor
Export
Example of exporting to a JSON file:
cbor export --format=json test.cbor > test.json
Example of importing in one format and exporting in another:
cbor import test.json | cbor export --format=yaml > test.yaml
Example of importing stdin and then exporting to stdout:
cat test1.json test2.json | cbor import --format=json | cbor -d=",\n" export --format=json
Inspect
For debugging, you can dump the structure of one or more CBOR files to stdout.
cbor inspect test.cbor
You can inspect the resulting data across multiple types of files if you pipe to cbor first:
cbor import ../fixtures/test.json ../fixtures/test.yaml | cbor inspect
Delimiter
You can specify a unique delimiter.
cbor export --format=json --delimiter=, test.cbor > test.json
TODO
- Import and Export to Parquet
- Inspect Tag support: Compression
- Inspect Tag support: Date, Time, Timestamp
- Inspect Tag support: BigNum, Fractions, Decimals
- Inspect Tag support: Geo and Spacial coordinates
- Inspect Tag support: Deferred CBOR
- Inspect Tag support: UUID
- Inspect Tag support: Base64
- Inspect Tag support: Base16
- Inspect Tag support: URI and URLs
Dependencies
~3.5–5MB
~96K SLoC