Datui is a high-performance terminal UI for exploring and analyzing datasets. Powered by the Polars engine and written in Rust, it brings SQL-like power and Excel-like visibility to your CLI.
Datui is in rapid development; features and interfaces are evolving.
📖 Documentation: Full User Guide.
- 🚀 Fast: Powered by Polars streaming expressions for state-of-the-art performance on massive datsets
- 📁 Universal: Supports Parquet, CSV, JSON, Avro, Arrow, ORC, and Excel
- 🧰 Flexible: View data stored locally, on S3, or over HTTP/HTTPS
- 🔍 Queryable: Fuzzy search or query with SQL or an SQL-like DSL
- 📊 Charts: Render terminal-based charts and export them as images
- 🔬 Analysis: Use analytical tools to understand correlations, distributions, and more
- ⚒️ Transformations: Sort, filter, pivot, melt, and more
- ⌨️ Keyboard-Driven: Arrow keys and Vim-style navigation (
h/j/k/l)
Datui can be installed easily on Linux, macOS, and Windows. See the summary of each option below. Visit the Install Guide for additional details.
curl -fsSL https://raw.githubusercontent.com/derekwisong/datui/main/scripts/install/install.sh | shDon't like piping to shell? See the alternative methods below.
Get the pre-built binary for your platform from the Latest Release.
See Package Managers
- macOS (Homebrew):
brew tap derekwisong/datui brew install datui
- Arch Linux (AUR):
paru -S datui-binyay -S datui-bin
- Pip:
pip install datui(See Python Module) - Windows (WinGet):
winget install derekwisong.datui(Coming Soon)
See Compiling
git clone https://github.com/derekwisong/datui.git
cd datui
cargo build --releaseThe binary will be available at target/release/datui.
See the Quick Start Guide
- 💻 Load a file, or hive-partitioned dataset, from the shell:
datui /path/to/data.parquet datui --hive /path/to/directory datui --hive "/path/to/directory/**/*.parquet"See Loading Data
- ☁️ Load data from S3 and HTTP:
datui s3://some-bucket/file.parquet datui gs://some-bucket/file.parquet datui https://www.domain.com/file.csv
- 🐍 View data from Python:
import polars as pl import datui lf = pl.scan_parquet("/path/to/data.parquet") datui.view(lf)
See Python Module
- Use arrow keys or Vim-style keybinds (
h/j/k/l) to navigate - Press
qto exit
💡 Use
?orF1to show help
See the Configuration Guide
Generate a default TOML config file:
datui --generate-configSee the Setup Script guide to quickly get configured to run the tests, build docs, demos, and packages.
Contributions are welcome! Please see Contributing for more.
This project is licensed under the MIT License - see the LICENSE file for details.
Note: If you encounter any issues or have feature requests, please open an issue on GitHub.
