influxdata / influxdata/datafusion-udf-wasm

Investigate `wit-dylib`

Open
#387 0 comments 0 reactions 0 assignees View on GitHub
blocked by upstream
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.