dt-cli-tools

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

commit dd4ccccd4c4fde9d0a3765c71a457f61214edf74
parent f4e310b5dd54a86f9939f7cfb4fe8db12f1e423c
Author: Erik Loualiche <eloualic@umn.edu>
Date:   Fri,  3 Apr 2026 19:18:08 -0500

feat: add VHS demo tapes and GIFs for all three tools

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

Diffstat:
Ademo/dtcat.gif | 0
Ademo/dtcat.tape | 50++++++++++++++++++++++++++++++++++++++++++++++++++
Ademo/dtdiff.gif | 0
Ademo/dtdiff.tape | 44++++++++++++++++++++++++++++++++++++++++++++
Ademo/dtfilter.gif | 0
Ademo/dtfilter.tape | 65+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ademo/new.csv | 6++++++
Ademo/new.xlsx | 0
Ademo/old.csv | 6++++++
Ademo/old.xlsx | 0
Ademo/sales.csv | 19+++++++++++++++++++
11 files changed, 190 insertions(+), 0 deletions(-)

diff --git a/demo/dtcat.gif b/demo/dtcat.gif Binary files differ. diff --git a/demo/dtcat.tape b/demo/dtcat.tape @@ -0,0 +1,50 @@ +# VHS tape for recording dtcat demo GIF. +# Usage: vhs demo/dtcat.tape +# +# Prerequisites: +# - dtcat binary built and in PATH +# - Demo CSV files in demo/ + +Output demo/dtcat.gif + +Set FontSize 14 +Set Width 1100 +Set Height 550 +Set Padding 15 +Set Theme "GruvboxDarkHard" + +Set TypingSpeed 80ms + +Set Shell "bash" + +Hide + Type 'export PS1="> "' + Enter + Type "clear" + Enter +Show + +# ─── 1. VIEW A CSV FILE ─── +Type "dtcat demo/sales.csv" +Enter +Sleep 3s + +# ─── 2. SCHEMA ONLY ─── +Type "dtcat demo/sales.csv --schema" +Enter +Sleep 2s + +# ─── 3. SUMMARY STATISTICS ─── +Type "dtcat demo/sales.csv --describe" +Enter +Sleep 3s + +# ─── 4. HEAD AND TAIL ─── +Type "dtcat demo/sales.csv --head 3 --tail 2" +Enter +Sleep 2s + +# ─── 5. CSV OUTPUT ─── +Type "dtcat demo/sales.csv --csv --head 5" +Enter +Sleep 3s diff --git a/demo/dtdiff.gif b/demo/dtdiff.gif Binary files differ. diff --git a/demo/dtdiff.tape b/demo/dtdiff.tape @@ -0,0 +1,44 @@ +# VHS tape for recording dtdiff demo GIF. +# Usage: vhs demo/dtdiff.tape +# +# Prerequisites: +# - dtcat and dtdiff binaries built and in PATH +# - Demo files in demo/ + +Output demo/dtdiff.gif + +Set FontSize 14 +Set Width 1100 +Set Height 550 +Set Padding 15 +Set Theme "GruvboxDarkHard" + +Set TypingSpeed 80ms + +Set Shell "bash" + +Hide + Type 'export PS1="> "' + Enter + Type "clear" + Enter +Show + +# ─── 1. SHOW THE INPUT FILES ─── +Type "dtcat demo/old.xlsx" +Enter +Sleep 3s + +Type "dtcat demo/new.xlsx" +Enter +Sleep 3s + +# ─── 2. KEY-BASED DIFF ─── +Type "dtdiff demo/old.xlsx demo/new.xlsx --key ID" +Enter +Sleep 4s + +# ─── 3. JSON OUTPUT ─── +Type "dtdiff demo/old.xlsx demo/new.xlsx --key ID --json" +Enter +Sleep 4s diff --git a/demo/dtfilter.gif b/demo/dtfilter.gif Binary files differ. diff --git a/demo/dtfilter.tape b/demo/dtfilter.tape @@ -0,0 +1,65 @@ +# VHS tape for recording dtfilter demo GIF. +# Usage: vhs demo/dtfilter.tape +# +# Prerequisites: +# - dtcat and dtfilter binaries built and in PATH +# - Demo CSV files in demo/ + +Output demo/dtfilter.gif + +Set FontSize 14 +Set Width 1100 +Set Height 550 +Set Padding 15 +Set Theme "GruvboxDarkHard" + +Set TypingSpeed 80ms + +Set Shell "bash" + +Hide + Type 'export PS1="> "' + Enter + Type "clear" + Enter +Show + +# ─── 1. VIEW THE DATA ─── +Type "dtcat demo/sales.csv" +Enter +Sleep 3s + +# ─── 2. FILTER ROWS ─── +Type "dtfilter demo/sales.csv --filter Region=East" +Enter +Sleep 3s + +# ─── 3. NUMERIC COMPARISON ─── +Type "dtfilter demo/sales.csv --filter 'Revenue>12000'" +Enter +Sleep 3s + +# ─── 4. MULTIPLE FILTERS (AND) ─── +Type "dtfilter demo/sales.csv --filter Region=East --filter 'Revenue>12000'" +Enter +Sleep 3s + +# ─── 5. SELECT COLUMNS + SORT ─── +Type "dtfilter demo/sales.csv --columns Region,Product,Revenue --sort Revenue:desc" +Enter +Sleep 3s + +# ─── 6. LIMIT OUTPUT ─── +Type "dtfilter demo/sales.csv --sort Revenue:desc --limit 3 --columns Product,Revenue" +Enter +Sleep 2s + +# ─── 7. CONTAINS FILTER ─── +Type "dtfilter demo/sales.csv --filter 'Product~Widget A' --columns Date,Region,Revenue" +Enter +Sleep 3s + +# ─── 8. CSV OUTPUT FOR PIPING ─── +Type "dtfilter demo/sales.csv --filter Region=West --csv" +Enter +Sleep 3s diff --git a/demo/new.csv b/demo/new.csv @@ -0,0 +1,6 @@ +ID,Name,Department,Salary +1,Alice,Engineering,98000 +2,Bob,Design,75000 +4,Diana,Sales,67000 +5,Eve,Marketing,74000 +6,Frank,Engineering,92000 diff --git a/demo/new.xlsx b/demo/new.xlsx Binary files differ. diff --git a/demo/old.csv b/demo/old.csv @@ -0,0 +1,6 @@ +ID,Name,Department,Salary +1,Alice,Engineering,95000 +2,Bob,Marketing,72000 +3,Charlie,Engineering,88000 +4,Diana,Sales,67000 +5,Eve,Marketing,71000 diff --git a/demo/old.xlsx b/demo/old.xlsx Binary files differ. diff --git a/demo/sales.csv b/demo/sales.csv @@ -0,0 +1,19 @@ +Date,Region,Product,Revenue,Units +2024-01-05,East,Widget A,12500,250 +2024-01-12,West,Widget B,8700,145 +2024-01-19,East,Widget C,15300,310 +2024-02-02,West,Widget A,9200,184 +2024-02-14,East,Widget B,11800,236 +2024-02-28,West,Widget C,7600,127 +2024-03-05,East,Widget A,14100,282 +2024-03-15,West,Widget B,10500,175 +2024-03-22,East,Widget C,16800,340 +2024-04-01,West,Widget A,8900,178 +2024-04-10,East,Widget B,13200,264 +2024-04-18,West,Widget C,9800,163 +2024-05-03,East,Widget A,11400,228 +2024-05-14,West,Widget B,7300,122 +2024-05-25,East,Widget C,14700,294 +2024-06-01,West,Widget A,10100,202 +2024-06-12,East,Widget B,12600,252 +2024-06-20,West,Widget C,8400,140