dt-cli-tools

CLI tools for viewing, filtering, and comparing tabular data files
Log | Files | Refs | README | LICENSE

commit e18d92762617d50ae79422b38a45e999d55efaa6
parent c943e393050777ab5305ac65cef3ff1ab7db8a83
Author: Erik Loualiche <eloualic@umn.edu>
Date:   Mon, 30 Mar 2026 23:09:53 -0500

feat: scaffold dt-cli-tools project structure

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Diffstat:
ACargo.toml | 47+++++++++++++++++++++++++++++++++++++++++++++++
Asrc/bin/dtcat.rs | 1+
Asrc/bin/dtdiff.rs | 1+
Asrc/bin/dtfilter.rs | 1+
Asrc/diff.rs | 0
Asrc/filter.rs | 0
Asrc/format.rs | 0
Asrc/formatter.rs | 0
Asrc/lib.rs | 7+++++++
Asrc/metadata.rs | 0
Asrc/reader.rs | 0
Asrc/readers/arrow.rs | 0
Asrc/readers/csv.rs | 0
Asrc/readers/excel.rs | 0
Asrc/readers/json.rs | 0
Asrc/readers/mod.rs | 5+++++
Asrc/readers/parquet.rs | 0
17 files changed, 62 insertions(+), 0 deletions(-)

diff --git a/Cargo.toml b/Cargo.toml @@ -0,0 +1,47 @@ +[package] +name = "dt-cli-tools" +version = "0.1.0" +edition = "2024" +description = "CLI tools for viewing, filtering, and comparing tabular data files" +license = "MIT" + +[lib] +name = "dtcore" +path = "src/lib.rs" + +[[bin]] +name = "dtcat" +path = "src/bin/dtcat.rs" + +[[bin]] +name = "dtfilter" +path = "src/bin/dtfilter.rs" + +[[bin]] +name = "dtdiff" +path = "src/bin/dtdiff.rs" + +[dependencies] +polars = { version = "0.46", default-features = false, features = [ + "dtype-datetime", + "csv", + "parquet", + "ipc", + "json", +] } +calamine = "0.26" +clap = { version = "4", features = ["derive"] } +anyhow = "1" +serde_json = { version = "1", features = ["preserve_order"] } + +[profile.release] +strip = true +lto = true +codegen-units = 1 +panic = "abort" +opt-level = "z" + +[dev-dependencies] +assert_cmd = "2" +predicates = "3" +tempfile = "3" diff --git a/src/bin/dtcat.rs b/src/bin/dtcat.rs @@ -0,0 +1 @@ +fn main() {} diff --git a/src/bin/dtdiff.rs b/src/bin/dtdiff.rs @@ -0,0 +1 @@ +fn main() {} diff --git a/src/bin/dtfilter.rs b/src/bin/dtfilter.rs @@ -0,0 +1 @@ +fn main() {} diff --git a/src/diff.rs b/src/diff.rs diff --git a/src/filter.rs b/src/filter.rs diff --git a/src/format.rs b/src/format.rs diff --git a/src/formatter.rs b/src/formatter.rs diff --git a/src/lib.rs b/src/lib.rs @@ -0,0 +1,7 @@ +pub mod diff; +pub mod filter; +pub mod format; +pub mod formatter; +pub mod metadata; +pub mod reader; +pub mod readers; diff --git a/src/metadata.rs b/src/metadata.rs diff --git a/src/reader.rs b/src/reader.rs diff --git a/src/readers/arrow.rs b/src/readers/arrow.rs diff --git a/src/readers/csv.rs b/src/readers/csv.rs diff --git a/src/readers/excel.rs b/src/readers/excel.rs diff --git a/src/readers/json.rs b/src/readers/json.rs diff --git a/src/readers/mod.rs b/src/readers/mod.rs @@ -0,0 +1,5 @@ +pub mod arrow; +pub mod csv; +pub mod excel; +pub mod json; +pub mod parquet; diff --git a/src/readers/parquet.rs b/src/readers/parquet.rs