bytecodealliance / componentize-py

Apache License 2.0
136 stars 13 forks source link

Download dependencies automatically #25

Open dicej opened 11 months ago

dicej commented 11 months ago

Per yesterday's Python guest tooling 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, 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 <tmpdir>, but eventually we'd like to make it fully self-contained (i.e. not require Python or pip to be installed).