dkit-core 1.5.0

Core library for dkit — data format conversion and querying engine
Documentation

dkit-core

Core library for dkit — a data format conversion and querying engine.

Use dkit-core to read, write, convert, and query structured data across multiple formats programmatically.

Features

  • Multi-format I/O — JSON, JSONL, CSV, TSV, YAML, TOML, and optionally XML, MessagePack, Parquet, Excel, SQLite
  • Unified Value type — A common intermediate representation for all formats
  • Query engine — Filter, sort, select, aggregate, and transform data with a built-in expression language
  • Format conversion — Convert between any supported readable and writable formats
  • Schema inference — Inspect and describe data structure
  • JSON Schema validation — Validate data against JSON Schema

Usage

Add to your Cargo.toml:

[dependencies]
dkit-core = "1.0"

Optional features

Enable additional format support via feature flags:

Feature Formats added
xml XML read/write
msgpack MessagePack read/write
excel Excel (.xlsx) read
sqlite SQLite (.db) read
parquet Parquet read/write
all All of the above
[dependencies]
dkit-core = { version = "1.0", features = ["xml", "parquet"] }

Example

use dkit_core::formats::{JsonFormat, CsvFormat, DataFormat};
use dkit_core::value::Value;

// Read JSON
let json_data = r#"[{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]"#;
let value = JsonFormat::read(json_data.as_bytes())?;

// Write as CSV
let mut output = Vec::new();
CsvFormat::write(&mut output, &value, &Default::default())?;

Documentation

License

MIT