bytecodealliance / bytecodealliance/componentize-py

Download dependencies automatically

Offen
#25 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Rust
Sterne
277
Forks
51
Ø Merge
12 Std. 10 Min.
Gemergte PRs (30 T.)
10

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Start at the componentize-py dependency-handling entry point and review the application's pyproject.toml, the linked guest-tooling meeting discussion, and the micropip behavior. The initial scope mentions using pip with wasi-sdk-22, cp311, and a temporary directory; done would include transitive pure-Python dependencies and an alternative source for native-extension packages, with a later self-contained mode remaining a larger goal.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python, rust, wasm
Bereich
build-system, devtools, tooling
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.