medialab/xan

The CSV magician

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 6 minutes ago
Added to GitGenius on September 15th, 2026
Created on July 10th, 2018
Open Issues & Pull Requests: 122 (+0)
GitHub issues: Enabled
Number of forks: 91
Total Stargazers: 4,516 (+0)
Total Subscribers: 21 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 29.0 hours
Mean response time: 34.3 days
90th percentile: 103.9 days
Tracked items: 794

Most active contributors

Sign in to see contributor activity.

How this project is maintained

About 16% of issues opened in the past year have never received a reply. Only 21% of open issues come from outside the core team — the tracker reads mainly as internal planning. Work labelled "question" is answered fastest, typically in about 11 hours, while "optimization" waits about 4 days. 63% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. 76% of issues opened in the past year have been closed, leaving a working backlog.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 117
New in 7 days: 5
Closed in 7 days: 11
Avg open age: 241 days
Stale 30+ days: 93
Stale 90+ days: 82

Recent activity

Opened in 7 days: 5
Closed in 7 days: 11
Comments in 7 days: 2
Events in 7 days: 4

Top labels

  • enhancement (402)
  • bug (162)
  • optimization (107)
  • refactor (106)
  • discussion (64)
  • moonblade (63)
  • documentation (59)
  • question (31)

Detailed Description

xan is a command-line tool for processing CSV files directly from the shell.

The tool addresses the need to manipulate large CSV files efficiently without loading them entirely into memory. It achieves this through a SIMD-based CSV parser written in Rust and parallelizes computations via multithreading to maximize performance. The tool exposes a collection of composable commands for previewing, filtering, slicing, aggregating, and sorting CSV data. It includes its own expression language tailored for CSV operations that executes faster than dynamically-typed languages, enabling complex transformations beyond what simple commands can accomplish.

Teams working with large datasets in social sciences, web data collection, and analysis should consider xan. It handles gigabyte-scale files efficiently and extends beyond standard CSV manipulation to include utilities for lexicometry, graph theory, and scraping. The tool processes CSV-adjacent formats from specialized domains such as web archival and bioinformatics, and can convert to and from formats including JSON, Excel, and NumPy arrays. It also provides terminal-based visualization capabilities including histograms, scatterplots, heatmaps, and time series displays for data exploration.

The project maintains active development with regular commits across its codebase. Pull requests receive timely review and merging, indicating responsive maintainers. Issues are addressed consistently, with bug reports and feature requests processed regularly. The tool continues to receive enhancements and refinements to its command set and capabilities.