Loopskey-logo
CourseTechnology

Rust CLI From Zero

By External Provider

Price

Free

Go to content

Opens coursera.org in a new tab

Level

BEGINNER

Duration

20 h

About this course

Build production-quality command-line tools in Rust for data engineering. You move from a first hello-world CLI through real argument parsing with `clap`, ergonomic error handling with `anyhow`, and structured logging with `env_logger`. From there you learn subcommand design patterns suited to data pipelines (`ingest`, `transform`, `filter`, `export`), input validation that fails fast with a helpful message, and the data-specific flags (`--format`, `--output`, `--delimiter`, `--column`, `--limit`) every CSV and JSON tool needs. The course closes with packaging: Cargo metadata, publishing to crates.io, and a multi-stage Docker container. Along the way you learn the Rust toolchain — rustup, cargo, rust-analyzer — modules and the crates.io ecosystem, the difference between `Result` and `panic!`, and the discipline of `stderr` versus `stdout`. The capstone is `datactl`, a Rust CLI you build from scratch that reads, summarizes, filters, and exports CSV and JSON files. By the end you will have shipped a small, fast, statically-linked binary you can run anywhere.

What you will learn

  • Build a production Rust CLI with clap, including subcommands designed for data pipelines, input validation
  • Handle errors with `anyhow` and `Result`/`?
  • Package and ship a Rust CLI by writing crates.io-ready `Cargo.toml`