-
I was wondering if anyone on here has tried to get kuzu working with pyodide (for running python using wasm). I tried most of the wheel files on https://pypi.org/project/kuzu/#files ... but it seems none are compatible.
Any pointers appreciated. Thanks |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 2 replies
-
Hi @Analect, thanks for trying out Kùzu. WASM support isn't finished yet - we currently don't have all the wheels in place for Kùzu to run in the browser. But it's definitely on the roadmap. This discussion might be relevant (though not directly related to Pyodide). @mewim will get back to you with more technical information specific to Pyodide and how it could be supported. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the info @prrao87, @mewim . I'm not sure what magic is being used here, but maybe @DylanShang can elaborate! Thanks. |
Beta Was this translation helpful? Give feedback.
-
@Analect, |
Beta Was this translation helpful? Give feedback.
-
Hi @Analect, I am so glad that you are interested in kuzu-wasm. I have some knowledge of Pyodide, and I understand that installing wheels via micropip currently only supports pure Python or WebAssembly versions of wheels. Kuzu-wasm is part of my research project, and my goal is to explore the potential of kuzu in a WebAssembly environment. As @mewim mentioned, kuzu's use of memory mapping leads to MADV_DONTNEED not being supported by Emscripten, so the process of bringing kuzu to wasm hasn't been smooth. Currently, kuzu-wasm works fine as long as it's not handling large-scale operations. The current solutions are:
I'm thrilled that you've taken an interest in my project, Feel free to reach out if you need any more details or assistance! |
Beta Was this translation helpful? Give feedback.
-
Great. Thank you all. @DylanShang, I'll maybe ping you on your own repo. @prrao87 , should I leave this open for now? Otherwise happy to close. |
Beta Was this translation helpful? Give feedback.
@Analect,
The current version of kuzu should be buildable with the Emscripten compiler without any change. However, as we pointed out in #3327, Kùzu’s current buffer manager uses memory mapping and requires support of
MADV_DONTNEED
, which is not available for wasm right now. We worked with @DylanShang a bit when he worked on his WASM version, but I do not think his current implmentation resolves this problem yet. In production use, the lack of eviction can lead to crash eventually, and I would suggest against attempting to use Kùzu with WASM until we officially support it.