Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Development overview

datui is Rust: Ratatui draws it, Polars reads and computes, the book is mdBook and the demos are recorded with VHS.

git clone https://github.com/derekwisong/datui.git
cd datui
cargo build
cargo run -- --help

cargo build writes the debug binary to target/debug/datui; cargo build --release builds the one that is packaged, slower to build and faster to run. Install Rust with rustup.

Workspace

PackagePathRole
datuirepository rootThe binary: src/main.rs parses the arguments and runs datui_lib::run
datui-libcrates/datui-libEverything else: the app, its screens, the readers, config
datui-clicrates/datui-cliThe clap Args, the option registry, the format descriptors, and gen_docs, which writes the generated docs
datui-pyo3crates/datui-pyo3The Python bindings. Not a workspace member; see Build Python bindings

cargo build --workspace and cargo test --workspace cover the first three.

Guides

PageCovers
Set up and contributeThe setup script, pre-commit hooks, what a pull request needs
Run testsChoosing tests, fixtures, the heavy-run queue
Build documentationThe book, its generated pages and its checked code blocks
Check the examplesThe numbers the guides quote
Record demosThe GIFs, screenshots and theme gallery
Add configuration optionsThe option registry
Add a formatA descriptor and a reader
Run benchmarksTime to first rows and peak memory
Build Python bindingsThe extension and its tests
Build and publish packagesdeb, rpm, AUR, PyPI, WinGet
Security checkscargo-deny and zizmor
FuzzingThe fuzz targets
Check glyph coverageSymbols and their ASCII twins