Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Add support for experimental wheel variants (i.e., wheelnext)

Ouverte
#2,092 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
45/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python

Piste de recherche

L’issue porte sur la modification du processus de build et de publication des wheels. Commencez par examiner les scripts de build du projet, probablement dans setup.py ou pyproject.toml, ainsi que les workflows CI/CD. Étudiez la spécification WheelNext et la manière dont des projets comme PyTorch implémentent les métadonnées de variantes. L’objectif est de produire des wheels spécifiques au backend (CUDA, ROCm, Metal) avec les métadonnées correctes, en veillant à ce que les wheels CPU restent disponibles comme fallback. Les tests consisteront à construire des wheels localement et à vérifier leurs métadonnées.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Is your feature request related to a problem? Please describe.
Today, installing llama-cpp-python on machines with different GPU backends (CUDA, ROCm, Metal, etc.) requires separate package names, custom extra indexes, or installer-level logic to select the correct wheel. This creates friction for downstream tooling (CLIs, orchestrators, and packaging systems) that want to provide a “just works” experience, especially when users don’t know which backend they need. Even a simple developer-driven install might require picking precisely the correct wheel.

Describe the solution you'd like
Add support for WheelNext-compatible experimental wheel variants when building and publishing wheels.

This would allow llama-cpp-python to produce a single package version that provides multiple backend-aware binary wheels, each annotated with variant metadata (e.g., GPU type, CUDA version, ROCm version).

Installers that understand the WheelNext spec (now used experimentally by PyTorch, uv, and others) can automatically select the correct backend wheel based on the system’s hardware/software configuration without a need for custom index URLs, separate packages, or manual backend flags.

Key pieces:

  • Generate wheels with variant metadata following the experimental WheelNext (wheel variants) conventions.
  • Publish per-backend wheels using the standardized naming + metadata fields.
  • Ensure that CPU-only wheels remain available as fallback.

This would significantly simplify installation for all users and remove backend-selection logic from downstream tools. Wheel variants are fully backward-compatible so existing workflows won't be disrupted.

Describe alternatives you've considered

  • Separate package names per backend (e.g., llama-cpp-python-cuda): fragments packaging and forces manual selection.
  • Extras for backend variants (pip install llama-cpp-python[cuda]): still requires external detection and doesn’t integrate with hardware-aware installer selection.
  • Custom index URLs for backend wheels: brittle and requires orchestration logic outside Python packaging.
  • CLI-backed installation routing (what many downstream projects do currently): it’s reinventing the wheel and provides an inconsistent experience for end users.

All of these solutions put the burden on downstream tooling rather than on standardized wheel metadata.

Additional context

Langage dominant
Python
Étoiles
10.6k
Forks
1.5k
Merge moyen
3 h 57 min
PR mergées (30 j)
4

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de abetlen/llama-cpp-python

Toutes les issues de abetlen/llama-cpp-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.