explaingit

dathere/qsv

Analysis updated 2026-05-18

3,640RustAudience · dataComplexity · 3/5Setup · easy

TLDR

A fast Rust command line toolkit with dozens of composable commands for querying, cleaning, and transforming CSV and Excel data.

Mindmap

mindmap
  root((qsv))
    What it does
      CSV toolkit
      Data wrangling
      Fast processing
    Tech stack
      Rust
      Polars
      CSV/Excel
    Use cases
      Dedup and sort
      Row counting
      LLM data dictionary
    Audience
      Data engineers
      Analysts

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Deduplicate, sort, and join large CSV files from the command line without opening a spreadsheet.

USE CASE 2

Count and analyze millions of rows in a large CSV file in seconds.

USE CASE 3

Generate a data dictionary or ask questions about a CSV using a local or cloud LLM.

USE CASE 4

Convert between CSV, Excel, JSON, Parquet, and other tabular data formats.

What is it built with?

RustCSVPolars

How does it compare?

dathere/qsvmaplibre/martingodot-rust/gdnative
Stars3,6403,6343,631
LanguageRustRustRust
Setup difficultyeasymoderatemoderate
Complexity3/53/54/5
Audiencedatadeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Advanced features like polars support or LLM commands require optional feature flags or an LLM provider.

In plain English

qsv is a command line toolkit written in Rust for working with tabular data, mainly CSV files but also Excel and a handful of other formats. It bundles together dozens of small commands that each do one job well, things like counting rows, removing duplicates, joining files, sorting, converting between formats, formatting dates, and validating data against rules, and the project markets these commands as composable and very fast, something you would notice when working with large datasets that spreadsheet software struggles to open. The commands cover the full range of what people call data wrangling. Some handle simple mechanical tasks, like dropping headers, concatenating files, or computing file hashes for integrity checks. Others are more advanced, such as an apply command that runs string, date, math, and currency transformations on a column and can even detect things like sentiment, profanity, or language using built in natural language processing functions. There is also a describegpt command that can generate a data dictionary or answer questions about a CSV file using any OpenAI compatible language model, including local models run through tools like Ollama, Jan, or LM Studio, for people who do not want to send their data to a cloud service. The count command is highlighted as an example of the project's speed focus, reporting eleven million rows counted from a fifteen gigabyte file in under twelve seconds without any index, and near instantly once an index exists. An optional polars feature adds a multithreaded, memory mapped CSV reader for even faster counts and support for extra formats like Arrow, Avro, and Parquet. qsv can be tried directly in a browser at qsv.dathere.com without installing anything, or installed as a command line binary for local use. It targets data engineers, analysts, and anyone doing FAIR data work who is comfortable in a terminal and needs a fast, scriptable alternative to spreadsheet tools or heavier data pipeline frameworks. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Show me how to install qsv and count the rows in a large CSV file.
Prompt 2
Write a qsv command that removes duplicate rows and then sorts a CSV by a given column.
Prompt 3
Using qsv's apply command, show how to reformat a date column in a CSV file.
Prompt 4
Explain how to use qsv's describegpt command with a local LLM via Ollama to summarize a CSV.

Frequently asked questions

What is qsv?

A fast Rust command line toolkit with dozens of composable commands for querying, cleaning, and transforming CSV and Excel data.

What language is qsv written in?

Mainly Rust. The stack also includes Rust, CSV, Polars.

How hard is qsv to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is qsv for?

Mainly data.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.