influxdata / influxdata/datafusion-udf-wasm
Investigate `wit-dylib`
- Dominant language
- Rust
- Stars
- 20
- Forks
- 3
- Avg merge
- 6h 20m
- Merged PRs (30d)
- 24
Description
# What
See if we can use [`wit-dylib`](https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wit-dylib).
# Why
Currently we build our own Python interpreter (via github.com/influxdata/cpython-wasi-build ), do some fancy linker magic, and then [hand-implement the respective componentize-py interface](https://github.com/influxdata/datafusion-udf-wasm/blob/3cd41118f9be394eccdaef9c8e63c842b04c5412/guests/python/src/python_modules/mod.rs). This was done by myself because I couldn't get componentize-py to work for our use case. However this should hopefully no longer be required at some point.
# How
This is a research project! Maybe take inspiration from https://github.com/bytecodealliance/componentize-py/pull/171
Contributor guide
Research direction
Start by reading the current Python WASI build and the hand-implemented interface in guests/python/src/python_modules/mod.rs, then inspect wasm-tools/crates/wit-dylib and componentize-py pull request 171. Compare wit-dylib with the existing approach and document whether it can replace the custom interpreter, linker setup, and interface implementation, including the changes required.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust, wasm
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100