Automic VaultAutomic Vault

brew

Install xan with Homebrew, MacPorts, Nix, pacman, scoop, winget

CSV CLI magician written in Rust. Version 0.59.0 via Homebrew; verified 2026-06-17.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install xan

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install xan

MacPorts ports tree · textproc/xan/Portfile · source: api.github.com

Windows

Scoopverified · 92%
scoop install extras/xan

Scoop official bucket manifest trees · bucket/xan.json · source: api.github.com

Windows Package Managerverified · 92%
winget install --id medialab.xan -e

Windows Package Manager source index · medialab.xan · source: cdn.winget.microsoft.com

overview

Package summary

CSV CLI magician written in Rust

Commands and aliases

  • xan

history

Project history and usage

xan is a Rust command-line toolkit for processing CSV and CSV-adjacent tabular data directly from the shell. Its README calls it the CSV magician and emphasizes speed, low memory use, large-file handling, SIMD CSV parsing, and multithreaded operations.

Compared with older single-purpose CSV tools, xan aims to be a richer terminal data workbench: previewing, filtering, slicing, aggregating, sorting, joining, plotting, scraping, converting formats, and using a CSV-oriented expression language.

Project history

The project repository was created in 2018, but the public crate history for xan begins with version 0.1.0 on February 7, 2024. The README says xan began as a fork of BurntSushi's xsv and has since been nearly entirely rewritten for Sciences Po medialab use cases rooted in web data collection and social-science analysis.

The tool's development identity is tied to practical research data work: CSV remains a common interchange format among spreadsheets, statistics tools, scripting languages, web archives, and data pipelines, and xan extends beyond plain CSV into formats such as CDX, VCF, GTF, SAM, BED, JSON, Excel, and NumPy arrays.

Adoption history

xan is newer than classic CSV tools, but it has become visible in terminal-data circles because it combines xsv-like speed with a broader command set and interactive exploration features. By July 2026 the GitHub repository had roughly four thousand stars, and crates.io listed tens of thousands of downloads.

Its adoption niche is strongest among users who want shell-native data munging without starting Python, R, pandas, a notebook, or a database engine. That includes journalists, researchers, civic-tech users, data engineers doing quick inspections, and developers manipulating large delimited files in pipelines.

How it is used

Typical xan sessions chain commands to inspect headers, preview rows, filter with expressions, compute frequencies, aggregate columns, join files, sort large CSVs, and render quick terminal visualizations. The README highlights its own expression language for cases too complex for the simplest commands but faster and more focused than embedding a general dynamic language.

The package is useful as a one-binary data knife: users can keep transformations in shell history, run them repeatedly in scripts, and work with gigabyte-scale CSVs using streaming, SIMD parsing, and parallelism where commands allow it.

Why package nerds care

xan sits in the lineage of modern Rust CLI rewrites of Unix data tools: fast, single-purpose at the binary level, but broad enough to replace many tiny CSV scripts. Its xsv ancestry matters, but the medialab rewrite and CSV-adjacent commands give it a distinct research-data personality.

Timeline

  • 2018: medialab/xan repository is created.
  • 2024-02-07: xan 0.1.0 is published on crates.io.
  • 2025: Release cadence accelerates with frequent 0.x releases and expanded command coverage.
  • 2026-06-17: crates.io lists xan 0.59.0 as the latest version at the time researched.

Related projects

  • xsv is the Rust CSV toolkit from which xan originally forked.
  • csvkit, Miller, DuckDB, pandas, and command-line SQL tools overlap with parts of xan's CSV manipulation niche.
  • simd-csv is part of the parser story highlighted by xan's README and project blog.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
xancliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-07
manager version0.59.0
manager updated2026-06-17
local dataok
upstreamcurrent
latest detected0.59.0

https://github.com/medialab/xan

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:xan
Version0.59.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/xan
Homepagehttps://github.com/medialab/xan
Repositoryhttps://github.com/medialab/xan
Upstream docshttps://github.com/medialab/xan#readme
LicenseMIT OR Unlicense
Source archivehttps://github.com/medialab/xan/archive/refs/tags/0.59.0.tar.gz
Last updated2026-06-17T14:42:54Z
Pulseupdated
Build dependenciesrust
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namexan
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

xan

nix profile install nixpkgs#xan
  • normalized package name match
  • Matched by: Xan
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/xa/xan/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
pacman95%

xan 0.58.0-1

The CSV magician

https://github.com/medialab/xan

sudo pacman -S xan
  • License: Unlicense AND MIT
  • Architecture: x86_64
  • 1 dependencies
  • normalized package name match
  • Matched by: Xan
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: xan from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
MacPorts95%

xan

sudo port install xan
  • normalized package name match
  • Matched by: Xan
MacPorts ports tree · api.github.com · MacPorts ports tree: textproc/xan/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Scoop95%

extras/xan

scoop install extras/xan
  • normalized package name match
  • Matched by: Xan
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/xan.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1
winget95%

medialab.xan

winget install --id medialab.xan -e
  • normalized package name match
  • Matched by: Xan
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: medialab.xan from https://cdn.winget.microsoft.com/cache/source.msix

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment