xan brings the power of a full data analysis toolkit to CSV processing in the terminal. The tool provides subcommands for selecting columns, filtering rows with expressions, sorting, deduplicating, joining multiple files, computing aggregations and statistics, pivoting data, and generating frequency tables. Each operation streams data efficiently, meaning even multi-gigabyte CSV files process in seconds rather than the minutes that Python scripts or spreadsheet applications require.
Built in Rust for maximum performance, xan compiles to a single binary with no runtime dependencies. The expression language for filtering and computing new columns supports mathematical operations, string manipulation, date parsing, and regular expressions. For developers and data analysts who frequently work with CSV exports, log files, or data pipeline outputs, xan eliminates the round-trip to Python or Excel for common data exploration and transformation tasks.
Released under MIT/Unlicense dual licensing with 3,900 GitHub stars and 2,877 commits, xan has a mature and well-documented codebase developed by the Sciences Po medialab research team. The tool integrates naturally into shell pipelines with Unix-standard stdin/stdout patterns, making it composable with grep, awk, and other command-line tools.