componentize-py
componentize-py copied to clipboard
Download dependencies automatically
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).