bytecodealliance / bytecodealliance/componentize-py

Download dependencies automatically

Aperta
#25 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Rust
Stelle
277
Fork
51
Merge medio
12h 10m
PR unite (30g)
10

Descrizione

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).

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia dal punto di ingresso di componentize-py per la gestione delle dipendenze ed esamina il pyproject.toml dell'applicazione, la discussione collegata della riunione guest-tooling e il comportamento di micropip. L'ambito iniziale menziona l'uso di pip con wasi-sdk-22, cp311 e una directory temporanea; il lavoro sarebbe considerato completato includendo le dipendenze transitive Pure-Python e una fonte alternativa per i pacchetti con estensioni native, mentre una modalità autonoma successiva rimane un obiettivo più ampio.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python, rust, wasm
Ambito
build-system, devtools, tooling
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.