bytecodealliance / bytecodealliance/componentize-py

Download dependencies automatically

Abierto
#25 0 comentarios 0 reacciones 0 asignados Ver en GitHub
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.