| Crates.io | dbn-cli |
| lib.rs | dbn-cli |
| version | 0.47.0 |
| created_at | 2023-02-23 00:01:18.188311+00 |
| updated_at | 2026-01-20 23:32:31.218147+00 |
| description | Command-line utility for converting Databento Binary Encoding (DBN) files to text-based formats |
| homepage | |
| repository | https://github.com/databento/dbn |
| max_upload_size | |
| id | 792208 |
| size | 79,977 |
This crate provides a CLI tool dbn for converting Databento
Binary Encoding (DBN) files to text formats, as well as updating legacy DBZ files to
DBN.
For more information about DBN, read our introduction to DBN.
To install the latest version, run the following command:
cargo install dbn-cli
dbn currently supports CSV and JSON lines as output formats.
By default, dbn outputs the result to standard output for ease of use with
text-based command-line utilities.
Running
dbn some.dbn --csv --limit 5
will print the header row and the first 5 data rows in some.dbn in CSV format to the console.
Similarly, running
dbn ohlcv-1d.dbn.zst --json | jq '.high'
Will extract only the high prices from ohlcv-1d.dbn.zst.
dbn works with both uncompressed and Zstandard-compressed DBN files.
You can also save the results directly to another file by running
dbn some.dbn.zst --json --output some.json
dbn will create a new file some.csv with the data from some.dbn.zst
formatted as JSON.
When the file name passed --output or -o ends in .json or .csv, you
can omit the --json and --csv flags.
dbn another.dbn.zst -o data.csv
This writes the contents of another.dbn.zst to data.json in CSV format.
By default, dbn will not overwrite an existing file.
To replace the contents of an existing file and allow overwriting files, pass
the -f or --force flag.
You can use dbn to merge several DBN files into one, including files of different schemas.
# Merge files split by symbols
dbn aapl.trades.dbn tsla.trades.dbn nvda.trades.dbn -o equities.trades.dbn
# Or by date
dbn equs-mini-20250331.dbn equs-mini-20250401.dbn equs-mini-20250402.dbn -o equs-mini-2025W14.dbn
The only limitation is they must be from the same dataset.
In addition to reading Zstandard-compressed files, dbn can also write compressed JSON and CSV.
dbn ohlcv-1d.dbn -o ohclv-1d.json.zst
or explicitly
dbn ohlcv-1d.dbn --json --zstd -o ohlcv-1d.json.zst
DBN is an evolution of DBZ, which required Zstandard. To update an old DBZ file to Zstandard-compressed DBN, run
dbn 20221212.mbo.dbz -o 20221212.dbn.zst
or pass --dbn to set the output encoding explicitly.
dbn can also read and write DBN files without the metadata header, these are called "DBN fragments".
Pass the --input-fragment or --input-zstd-fragment flag to read a DBN file without a metadata header.
dbn 120000_121000.mbo.dbn.frag --input-fragment --json
You can also write DBN files without the metadata header with the --fragment or -F flag.
dbn ohlcv-1d.dbn -F -o ohlcv-1d.dbn.frag
Distributed under the Apache 2.0 License.