xan
brew install xan
v0.59.0
MIT OR Unlicense
CSV CLI magician written in Rust
481
30-day installs · #1788
1.3k
90-day · #1973
3.8k
365-day · #2202
4.1k
★ GitHub stars · updated 2mo ago
Build dependencies
GitHub topics
cli
csv
rust
tsv
Links
- https://github.com/medialab/xan
- GitHub: medialab/xan
- Brew formula source: Formula/x/xan.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [
"rust"
],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [],
"deprecated": 0,
"deprecation_reason": null,
"desc": "CSV CLI magician written in Rust",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:41:40+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "xan",
"github_default_branch": "master",
"github_last_commit_at": "2026-06-19T13:20:22Z",
"github_readme_excerpt": "[](https://github.com/medialab/xan/actions) [](https://doi.org/10.5281/zenodo.15310200)\n\n# `xan`, the CSV magician\n\n`xan` is a command line tool that can be used to process CSV files directly from the shell.\n\nIt has been written in Rust to be as fast as possible, use as little memory as possible, and can very easily handle large CSV files (Gigabytes). It leverages a novel [SIMD](https://en.wikipedia.org/wiki/Single_instruction,_multiple_data) CSV [parser](https://docs.rs/simd-csv) and is also able to parallelize some computations (through multithreading) to make some tasks complete as fast as your computer can allow.\n\nIt can easily preview, filter, slice, aggregate, sort, join CSV files, and exposes a large collection of composable commands that can be chained together to perform a wide variety of typical tasks.\n\n`xan` also offers its own expression language so you can perform complex tasks that cannot be done by relying on the simplest commands. This minimalistic language has been tailored for CSV data and is *way* faster than evaluating typical dynamically-typed languages such as Python, Lua, JavaScript etc.\n\nNote that this tool is originally a fork of [BurntSushi](https://github.com/BurntSushi)\u0027s [`xsv`](https://github.com/BurntSushi/xsv), but has been nearly entirely rewritten at that point, to fit [SciencesPo\u0027s m\u00e9dialab](https://github.com/medialab) use-cases, rooted in web data collection and analysis geared towards social sciences (you might think CSV is outdated by now, but read our [love letter](./docs/LOVE_LETTER.md) to the format before judging too quickly).\n\n`xan` therefore goes beyond typical data manipulation and expose utilities related to lexicometry, graph theory and even scraping.\n\nBeyond CSV data, `xan` is able to process a large variety of CSV-adjacent data formats from many different disciplines such as web archival (`.cdx`) or",
"github_repo": "medialab/xan",
"github_stars": 4116,
"github_topics": [
"cli",
"csv",
"rust",
"tsv"
],
"homepage": "https://github.com/medialab/xan",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 481,
"installs_365d": 3769,
"installs_90d": 1255,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "MIT OR Unlicense",
"llm_generated_at": null,
"llm_model": null,
"name": "xan",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 1788,
"rank_365d": 2202,
"rank_90d": 1973,
"raw_hash": "50eb56f767db98b5",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/x/xan.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": "HEAD",
"version_stable": "0.59.0",
"versioned_formulae": [],
"why_use_this": null
}