Installation - dathere/qsv GitHub Wiki
Tier: Beginner
This page covers the five ways to install qsv. For the absolute fastest path, download a prebuilt binary (Option 1). For a graphical alternative, see qsv pro.
Note
Looking for the MCP server or Claude Cowork plugin? Those are separate installations described in the qsv MCP Server Getting Started guide. See also MCP Server and Claude Cowork Plugin.
Prefer a graphical interface? qsv pro is the GUI companion to qsv: drop a spreadsheet and explore it interactively. Available for Windows, macOS, and Linux. See qsv pro Spotlight for what it adds over the CLI.
Full-featured prebuilt binaries for Linux, macOS, and Windows ship with every release. They include all features except Python (use qsvpy* variants for Python).
As of 21.1.0, prebuilt binaries on native targets are Profile-Guided-Optimization (PGO) tuned for extra performance out of the box โ no action required. (The 24.0.0 Apple Silicon build was the exception, shipped without PGO; it is restored in Unreleased (after 24.0.0).) See Performance Tuning โ PGO-optimized prebuilt binaries.
As of 22.0.1, the prebuilt binaries also include the new viz command (with static PNG/SVG/PDF export), across the little-endian targets โ including the portable and qsvpy* builds, which previously shipped a narrower feature set than their release notes implied. See Binary Variants.
Download from the latest release, or browse by platform at qsv.dathere.com/download.
macOS โ binaries are signed with an ad-hoc signature. The first time you run qsv, macOS may quarantine it. Remove the quarantine attribute:
# Replace qsv with qsvmcp, qsvlite, or qsvdp if installing those variants
xattr -d com.apple.quarantine qsvAlternatively, use Gatekeeper settings to allow the binary.
Windows โ A one-click MSI Easy Installer is available. Download the qsv-easy-installer_*.msi and run it, then click Install qsv inside the installer. It downloads the latest qsv and adds it to your PATH.
Important
Upgrade the Easy Installer to v1.1.2 or later before updating qsv to 23.0.1 or later โ then confirm with qsv --version.
Installer versions at or below v1.1.1 extract a hardcoded qsvp.exe, the portable binary that is no longer published. Because the installer's update path returns no error, it shows you a "Successfully installed qsv" message regardless.
The symptom is not a crash but an absence: qsv goes missing from your PATH, or silently stays at its old version. If that already happened, install v1.1.2+ and re-run it, or download the x86_64-pc-windows-msvc archive and extract qsv.exe yourself.
Windows on ARM โ besides aarch64-pc-windows-msvc, 24.0.0 adds aarch64-pc-windows-gnullvm, which links libunwind/libc++ statically and needs only Windows system DLLs.
Linux โ pick the variant matching your libc:
-
linux-x86_64-gnuโ most distros (Ubuntu, Debian, Fedora, Arch) -
linux-x86_64-muslโ Alpine, Void Linux, statically-linked deployments. Note that theluaufeature is not available in musl builds (see Troubleshooting) -
linux-aarch64-gnuโ ARM64 Linux (Raspberry Pi 4/5, AWS Graviton, Apple Silicon under Linux) -
linux-aarch64-muslโ ARM64 Alpine / static deployments (new in 24.0.0; reduced feature set like x86_64 musl, and noqsvdp/qsvmcp) -
linux-powerpc64le-gnuโ IBM Power servers (CPU optimizations enabled)
Warning
Breaking in 24.0.0: x86_64 prebuilts require a CPU with AVX2, FMA and BMI1/BMI2 (x86-64-v3, #4649). This covers qsv, qsvlite, qsvmcp and qsvpy* on Linux (gnu and musl) and Windows (msvc and gnu), plus the Debian package and the MCPB bundle. qsvdp is exempt and stays on the portable baseline, because DataPusher+ servers often run on VMs without AVX2. aarch64, ppc64le and s390x prebuilts are unchanged.
Intel Haswell (2013) / AMD Excavator (2015) and newer qualify, but not every newer machine does: Intel Pentium/Celeron/Atom parts up to ~2020, and VMs with a conservative CPU model (QEMU/Proxmox kvm64/qemu64), lack AVX2. Check with grep -o avx2 /proc/cpuinfo | head -1; no output means no AVX2. On such a CPU those prebuilts die with Illegal instruction โ that is expected, not a bug.
Do not run qsv --update on a non-AVX2 CPU. It installs a binary that cannot run, and so cannot update itself back. If that already happened, re-download a 23.0.x release from the releases page, or build from source (below), which still defaults to the portable baseline:
cargo install qsv --locked --features all_featuresApple Silicon, Windows-on-ARM, IBM Power, and IBM Z mainframe builds always have CPU optimizations enabled (no SIGILL risk).
Note
The p-suffixed "portable" binaries (qsvp, qsvplite, qsvpdp, qsvpmcp) were retired in 22.0.1 and are no longer in any release archive. Through 23.0.x the regular x86_64 prebuilts targeted the baseline instruction set, so they were equally portable; from 24.0.0 the AVX2 requirement above applies instead. See Binary Variants.
All prebuilt zip archives are signed with zipsign:
# Install zipsign (once)
cargo install zipsign
# Download the qsv-zipsign-public.key from
# https://github.com/dathere/qsv/raw/master/src/qsv-zipsign-public.key
# Then verify
zipsign verify zip qsv-<version>-<target>.zip qsv-zipsign-public.keyPrebuilt binaries include the self_update feature, so you can update in place:
qsv --updateself_update fetches only from the official releases page and verifies the zipsign signature automatically.
Warning
From 24.0.0, x86_64 prebuilts require AVX2 (details). On an x86_64 CPU without AVX2, don't qsv --update to 24.0.0 or later โ it installs a binary that can't run, and so can't update itself back. Check first with grep -o avx2 /proc/cpuinfo | head -1.
Running bare qsv with no command also does a background check for a newer release. That check is throttled to twice a month โ a timestamp in the qsv cache directory (QSV_CACHE_DIR, else ~/.qsv-cache) records the last check, so day-to-day use doesn't hit the network. Set QSV_NO_UPDATE=1 to opt out entirely; the opt-out is honored before the cache directory is even touched.
# Arch Linux (Extra)
pacman -S qsv
# Homebrew (macOS / Linux)
brew install qsv
# MacPorts (macOS)
sudo port install qsv
# Mise (Linux / macOS / Windows)
mise use -g qsv@latest
# Nixpkgs (Linux / macOS)
nix-shell -p qsv
# Scoop (Windows)
scoop install qsv
# Void Linux
sudo xbps-install qsv
# Conda-forge
conda install conda-forge::qsvHeads up: these distributions are maintained by volunteers and enable different feature sets. For example, Homebrew enables apply, fetch, foreach, geocode, lens, luau, and to but not all of them. Run qsv --version to see which features are enabled in your install.
datHere maintains a Debian package for the latest Ubuntu LTS (x86_64):
wget -O - https://dathere.github.io/qsv-deb-releases/qsv-deb.gpg \
| sudo gpg --dearmor -o /usr/share/keyrings/qsv-deb.gpg
echo "deb [signed-by=/usr/share/keyrings/qsv-deb.gpg] https://dathere.github.io/qsv-deb-releases ./" \
| sudo tee /etc/apt/sources.list.d/qsv.list
sudo apt update
sudo apt install qsvNote
Since 24.0.0, the qsv Debian package is built for x86-64-v3 and requires AVX2 (see above). The qsvdp package stays on the portable baseline.
If you have Rust installed:
cargo install qsv --locked --features all_featuresThis builds from crates.io. It's slower than downloading the prebuilt binary and lacks self_update, but it produces a binary matching your exact CPU.
git clone https://github.com/dathere/qsv.git
cd qsv
# Full-featured
cargo build --release --locked --bin qsv -F all_features
# All CPU optimizations for your CPU (non-portable binary)
CARGO_BUILD_RUSTFLAGS='-C target-cpu=native' \
cargo build --release --locked --bin qsv -F all_features
# Only the features you need (smaller binary)
cargo build --release --locked --bin qsv -F feature_capable,fetch,foreachOther variants:
cargo build --release --locked --bin qsvmcp -F qsvmcp # MCP server
cargo build --release --locked --bin qsvlite -F lite # ~16% size, xsv-compatible
cargo build --release --locked --bin qsvdp -F datapusher_plusThe compiled binary lands in ./target/release/. See Binary Variants for when to pick each variant, and Performance Tuning for nightly builds.
You'll need a C linker:
-
Ubuntu/Debian:
sudo apt install build-essential -
macOS:
xcode-select --install - Windows: Visual Studio 2022 with the "Desktop Development with C++" workload, the Windows SDK, and the English language pack
The feature_capable, qsvmcp, lite, and datapusher_plus features are mutually exclusive โ see docs/FEATURES.md for the full feature flag matrix.
qsv supports completion in bash, zsh, powershell, fish, nushell, fig, and elvish. Download the script for your shell from qsv.dathere.com/download or follow the step-by-step tutorial at 100.dathere.com.
To customize completions, see contrib/completions/README.md.
qsv --version
qsv --list # shows all available commandsYou're ready! Next:
- Getting Started โ first commands against a real 2.7M-row dataset
- Binary Variants โ qsv vs qsvlite vs qsvdp vs qsvmcp
- Troubleshooting โ Gatekeeper, SIGILL, UTF-8, and other gotchas
- README installation section โ source of truth
-
docs/FEATURES.mdโ feature flag matrix - Binary Variants
- Troubleshooting
- qsv pro Spotlight