Smart GPU wheel installer. Auto-detects CUDA, GPU, torch, and Python to install the right pre-built wheel.
Project description
easywheels
Install GPU Python packages without the headache.
easywheels auto-detects your CUDA version, GPU architecture, PyTorch version, and Python version, then installs the exact right pre-built wheel. No more hunting through compatibility matrices or building from source.
Install
pip install easywheels
Quick Start
# Log in with your GitHub account
easywheels login
# Install any GPU package
easywheels install flash-attn
easywheels detects your environment automatically:
Detected: Python 3.12, CUDA 12.8, RTX 4090 (sm_89), torch 2.9.0
Resolving flash-attn...
Found: flash_attn-2.8.3+cu128torch2.9-cp312-cp312-linux_x86_64.whl
CUDA: cu128, Torch: 2.9
Running: pip install flash_attn-2.8.3+cu128torch2.9-cp312-cp312-linux_x86_64.whl
Done in 9 seconds.
Why?
Installing GPU Python packages on CUDA is painful:
- Some packages ship source-only on PyPI. No pre-built wheels at all.
- Pre-built wheels that do exist are scattered across GitHub repos, custom indices, and community forks.
- Many CUDA/Python/platform combos simply don't have a wheel anywhere.
- Building from source takes 30-120 minutes and frequently fails.
easywheels solves this. It mirrors pre-built wheels from every upstream source and builds the gaps on GPU infrastructure. 2,200+ wheels across 10 packages, served through a single registry.
Commands
easywheels install <package>
Detects your environment and installs the best matching wheel.
easywheels install flash-attn
easywheels install mamba-ssm causal-conv1d
easywheels install flash-attn==2.8.3 # pin a version
easywheels install flash-attn -U # upgrade
easywheels install flash-attn --dry-run # show what would install
easywheels detect
Shows your detected environment without installing anything.
easywheels detect
easywheels login
Authenticates via GitHub device OAuth. Opens your browser, you authorize, done. Your API key is stored in ~/.easywheels/config.toml.
easywheels login
easywheels search <package>
Shows all available wheels for a package that match your environment.
easywheels search flash-attn
easywheels config
Manage configuration.
easywheels config --show
easywheels config --set-key ew_xxx
What's in the Registry?
2,200+ pre-built wheels across 10 packages:
- flash-attn, flash-attn-3, deepspeed, mamba-ssm, causal-conv1d, exllamav2, llama-cpp-python, gptqmodel, sageattention, flashinfer-jit-cache
- CUDA 12.4 through 13.0
- Python 3.10-3.13
- Linux fully covered. Windows build-out in progress.
GPU architectures: Turing (sm_75) through Hopper (sm_90) with PTX forward compatibility.
How It Works
-
Detection. The CLI checks
nvidia-smi,nvcc,CUDA_PATH/CUDA_HOME, andtorchto determine your CUDA version, GPU compute capability, and PyTorch version. -
Resolution. Your environment is sent to the EasyWheels API, which finds the best compatible wheel considering CUDA version, torch ABI, platform, and architecture.
-
Installation. The exact right wheel is downloaded and handed to pip. No guessing, no source builds.
Configuration
Config lives in ~/.easywheels/config.toml:
api_key = "ew_abc123..."
api_url = "https://easywheels.io"
You can also set EASYWHEELS_API_KEY as an environment variable.
Pricing
The CLI is free and open source. The registry requires a subscription because building and hosting GPU wheels costs real money.
| Plan | Price | Downloads |
|---|---|---|
| Trial | Free 14 days | 3 downloads |
| Lite | $9/mo | 10/mo |
| Pro | $19/mo | Unlimited |
| Team | $49/mo | Unlimited, 5 seats |
Requirements
- Python 3.9+
- pip
- NVIDIA GPU with CUDA drivers (for GPU packages)
- PyTorch (optional, improves detection accuracy)
Links
- Registry: easywheels.io
- Packages: easywheels.io/packages
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file easywheels-0.1.0.tar.gz.
File metadata
- Download URL: easywheels-0.1.0.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9e31f9216dc589d5a2a23f53c58b4a2ccdc6a489f5e4c302b3acfc70f24102f
|
|
| MD5 |
8c65353695ca25aa2040c2f3d90450a6
|
|
| BLAKE2b-256 |
c962cde4a9d84c706016d5c4dff6e2b01c2d71522c47f3b52edcb75cdd89ade5
|
File details
Details for the file easywheels-0.1.0-py3-none-any.whl.
File metadata
- Download URL: easywheels-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1b19a1ed4bbfd3fe8ed5b63f0377b30c9d846c98179c4b2ce561cfa043a1659
|
|
| MD5 |
4288fa2a44d6916b9c653560e13a99b7
|
|
| BLAKE2b-256 |
1905fd71a65532e41ae2aaa434ff55d108f277d18b9f478481990d37a16d152b
|