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
Metadata
Release files for easywheels 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| easywheels-0.1.0.tar.gz | 11.0 kB | Without provenance | Details for easywheels-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| easywheels-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for easywheels-0.1.0-py3-none-any.whl |
Total release size: 24.8 kB
Release files / easywheels-0.1.0.tar.gz
| Download URL | easywheels-0.1.0.tar.gz |
|---|---|
| Size | 11.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d9e31f9216dc589d5a2a23f53c58b4a2ccdc6a489f5e4c302b3acfc70f24102f
|
|
BLAKE2b-256 checksum How to use checksums |
c962cde4a9d84c706016d5c4dff6e2b01c2d71522c47f3b52edcb75cdd89ade5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.6
|
Release files / easywheels-0.1.0-py3-none-any.whl
| Download URL | easywheels-0.1.0-py3-none-any.whl |
|---|---|
| Size | 13.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e1b19a1ed4bbfd3fe8ed5b63f0377b30c9d846c98179c4b2ce561cfa043a1659
|
|
BLAKE2b-256 checksum How to use checksums |
1905fd71a65532e41ae2aaa434ff55d108f277d18b9f478481990d37a16d152b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.6
|
Security for easywheels 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.