bytecodealliance / bytecodealliance/componentize-py
Download dependencies automatically
- Lenguaje dominante
- Rust
- Estrellas
- 277
- Forks
- 51
- Merge medio
- 12 h 10 min
- PR fusionados (30 d)
- 10
Descripción
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).
Guía de contribución
Línea de trabajo
Comienza en el punto de entrada de componentize-py para el manejo de dependencias y revisa el pyproject.toml de la aplicación, la discusión vinculada de la reunión de guest-tooling y el comportamiento de micropip. El alcance inicial menciona usar pip con wasi-sdk-22, cp311 y un directorio temporal; se consideraría completado incluir dependencias transitivas de Pure-Python y una fuente alternativa para paquetes con extensiones nativas, mientras que un modo autocontenido posterior sigue siendo un objetivo de mayor alcance.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python, rust, wasm
- Área
- build-system, devtools, tooling
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 25/100