CLI & REPL (Examples 86-95)

This section covers the command-line interface and REPL.

Examples 86-87: CLI Help and Info

# Show help
alimentar --help

# Dataset info
alimentar info data.parquet
# Output:
# Format: Parquet
# Rows: 1000
# Columns: 3 (id: Int32, name: Utf8, value: Float64)
# Size: 45.2 KB

Examples 88-89: Head and Convert

# Show first N rows
alimentar head data.parquet --rows 10

# Format conversion
alimentar convert input.csv output.parquet
alimentar convert data.parquet data.json

Example 90: Quality Command

# Quality report
alimentar quality data.parquet

# JSON output
alimentar quality data.parquet --format json

# Quality score only
alimentar quality score data.parquet
# Output: Quality Score: 0.92 (A)

Examples 91-92: REPL Session and Completion

use alimentar::repl::{ReplSession, Completer};

// Start REPL session
let mut session = ReplSession::new();
session.run()?;

// Programmatic usage
session.execute("load data.parquet")?;
session.execute("head 10")?;

// Tab completion
let completer = Completer::new();
let suggestions = completer.complete("loa", 3);
// Returns: ["load"]

Examples 93-94: REPL Commands and History

# REPL commands
alimentar repl

> load data.parquet
Loaded: 1000 rows, 3 columns

> head 5
+----+--------+-------+
| id | name   | value |
+----+--------+-------+
| 1  | item_1 | 0.1   |
| 2  | item_2 | 0.2   |
...

> schema
id: Int32 (not null)
name: Utf8 (not null)
value: Float64 (not null)

> quality
Quality Score: 0.95 (A)

> history
1: load data.parquet
2: head 5
3: schema
4: quality

> quit

Example 95: CLI Batch Script

# Batch execution from script
cat commands.txt
load data.parquet
quality
convert data.parquet output.json

# Execute batch
alimentar batch commands.txt

# Or via stdin
cat commands.txt | alimentar batch -

REPL Commands Reference

CommandDescription
load <file>Load dataset
head [n]Show first n rows (default 10)
tail [n]Show last n rows
schemaShow schema
infoShow dataset info
qualityRun quality check
drift <file>Compare with another dataset
convert <file>Save to different format
filter <expr>Filter rows
select <cols>Select columns
historyShow command history
helpShow help
quitExit REPL

Key Concepts

  • Subcommands: info, head, convert, quality, etc.
  • REPL: Interactive exploration
  • Completion: Tab completion for commands
  • Batch: Non-interactive script execution