INSTALL & SUPPORTED PLATFORMS
DVT installs from PyPI with one command on the platforms below, and fails immediately on the ones it doesn't cover — there is no half-working state and no source build to fall back on. This page is the whole truth about that: what pip install dvt-core actually gets you, where it stops, and the supported path for Windows.
THE INSTALL
pip install dvt-core
Or with uv:
uv add dvt-core
Nothing compiles on your machine. Every supported platform gets a prebuilt wheel, so no C compiler, no toolchain, no Xcode, no build step — and no source distribution, which is why an unsupported platform has nothing to fall back on.
THE MATRIX
| PLATFORM | ARCH | 3.10 | 3.11 | 3.12 | 3.13 | 3.14 |
|---|---|---|---|---|---|---|
| macOS (Intel) | x86_64 | yes | yes | yes | yes | yes |
| macOS (Apple Silicon) | arm64 | yes | yes | yes | yes | yes |
| Linux | x86_64 | yes | yes | yes | yes | yes |
| Windows via WSL2 | x86_64 | yes | yes | yes | yes | yes |
| Windows (native) | x86_64 / arm64 | no | no | no | no | no |
| Linux | arm64 / aarch64 | no | no | no | no | no |
- macOS (Intel) · x86_64 — macOS 10.9+ on 3.10–3.11, 10.13+ on 3.12–3.13, 10.15+ on 3.14
- macOS (Apple Silicon) · arm64 — macOS 11 Big Sur or newer
- Linux · x86_64 — manylinux — glibc 2.17 or newer
- Windows via WSL2 · x86_64 — the interpreter inside WSL is Linux x86_64 — it takes the Linux wheel
- Windows (native) · x86_64 / arm64 — no wheel published — pip fails outright, see below
- Linux · arm64 / aarch64 — Graviton, ARM cloud VMs, Raspberry Pi — no wheel published
Python 3.9 and older: no. The package metadata declares requires-python >=3.9, but no 3.9 wheel is published — a 3.9 interpreter fails exactly like an unsupported platform does. 3.10 is the real floor. The published file list on PyPI is the authority, and this table is a transcription of it.
WHAT AN UNSUPPORTED PLATFORM LOOKS LIKE
It is not a subtle failure. pip finds no compatible file and stops before downloading anything:
ERROR: Could not find a version that satisfies the requirement dvt-core
(from versions: none)
ERROR: No matching distribution found for dvt-coreIf you see that on a machine you expected to work, check what pip thinks you are before assuming the package is broken — a Rosetta or 32-bit interpreter is the usual culprit:
python -c "import platform, sys; print(platform.system(), platform.machine(), sys.version_info[:2])"
WINDOWS: USE WSL2
There is no native Windows wheel, so the supported Windows path is WSL2 — Microsoft's own Linux subsystem. This is not a compatibility shim or an emulator: the interpreter inside WSL2 is Linux x86_64, it takes the same manylinux wheel every Linux user takes, and DVT runs there normally.
1. Install WSL2. In PowerShell as Administrator (Windows 10 version 2004+ or Windows 11):
wsl --install
Reboot when prompted. Ubuntu installs by default and asks you to pick a UNIX username and password on first launch. Confirm you landed on version 2:
wsl -l -v # VERSION must read 2
2. Install DVT inside the Linux shell. Open Ubuntu from the Start menu — everything below runs in that shell, not in PowerShell:
sudo apt update sudo apt install -y python3-pip python3-venv python3 -m venv ~/.venvs/dvt source ~/.venvs/dvt/bin/activate pip install dvt-core dvt --version
3. Carry on with the quickstart. From here nothing is Windows-specific: dvt login, dvt init, dvt sync and dvt build behave as they do on any Linux machine.
Keep your project on the Linux side. Put projects under your WSL home (~/), not under /mnt/c/. Cross-filesystem I/O between WSL2 and the Windows drive is slow, and DVT's federation path writes real volume through DuckDB and the staging files underneath it. Reach the files from Windows with the \\wsl$ share or by running code . in the Linux shell.
The app suite works the same way. WSL2 forwards localhost to Windows by default, so a hub started with dvt serve inside WSL opens in your Windows browser at the same http://localhost:<port>.
WHY THERE IS NO WINDOWS WHEEL
The honest answer: DVT's wheels are built on Linux and macOS CI runners only, the package is Cython-compiled and deliberately publishes no source distribution, and adding native Windows and Linux ARM64 builds has not been scheduled. That is a resourcing decision, not a technical impossibility — and rather than let it read as silent support for platforms that fail on first contact, it is stated here.
What that means in practice: WSL2 is the Windows story, and there is no published date for native Windows or Linux ARM64 wheels. When that changes, it will change in the release notes and in this table, on the same day.