bytecodealliance / bytecodealliance/componentize-py

Download dependencies automatically

Ouverte
#25 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Rust
Étoiles
277
Forks
51
Merge moyen
12 h 10 min
PR mergées (30 j)
10

Description

Per [yesterday's Python guest tooling](https://github.com/bytecodealliance/meetings/pull/152) meeting, we'd like `componentize-py` to download any dependencies found in the application's `pyproject.toml` (including transitive dependencies), placing them in a temporary directory for use while building the component.

Similar to [micropip](https://micropip.pyodide.org/en/stable/project/api.html), `componentize-py` should grab any pure Python packages from PyPI, only looking to an alternative repo for packages with native extensions. We (i.e. the Bytecode Alliance) will need to maintain this repo and populate it with WASI builds of popular projects until WASI wheels are standardized and published upstream to PyPI.

To start with, `componentize-py` could shell out to e.g. `pip --install --platform wasi-sdk-22 --abi cp311 --root `, but eventually we'd like to make it fully self-contained (i.e. not require Python or `pip` to be installed).

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par le point d’entrée de componentize-py pour la gestion des dépendances et examinez le pyproject.toml de l’application, la discussion liée de la réunion guest-tooling et le comportement de micropip. Le périmètre initial mentionne l’utilisation de pip avec wasi-sdk-22, cp311 et un répertoire temporaire ; le travail serait considéré comme terminé s’il incluait les dépendances transitives en Pure-Python et une source alternative pour les paquets avec des extensions natives, tandis qu’un mode autonome ultérieur reste un objectif plus vaste.

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

Évaluation

Stack technique
python, rust, wasm
Domaine
build-system, devtools, tooling
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

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