WASM Support #315
Replies: 14 comments 14 replies
-
Hi there @John0x, glad you find it promising and thanks for the feedback. I haven't worked with WASM before but my understanding is that its more web browser side. Are you referring to the web browser code editor and running code on the browser? On the server side, essentially any language that can run in Linux can be bundled into the workers for example Rust and called using the Bash processor - this can call any command in bash/sh. If you send me a hello world / basic example of what you are trying to achieve and give a bit of explanation, I can see how it might be built into a worker docker image. |
Beta Was this translation helpful? Give feedback.
-
WASM is for browsers, WASI is for servers. They are both WASM in reality, except the way the Host functions are done is slightly different. The advantages with WASM are many:
I noticed that you use NATS. There is excellent going project using WASM / NATS here: https://github.com/bots-garden/capsule |
Beta Was this translation helpful? Give feedback.
-
that's great !!! I use capsule and other wasm with golang. |
Beta Was this translation helpful? Give feedback.
-
If you want to have a chat about all this let me know. |
Beta Was this translation helpful? Give feedback.
-
https://t.me/gedw99 is best :) |
Beta Was this translation helpful? Give feedback.
-
yomo has data frames build into it btw !! so its designed for these types of loose schema style coding. |
Beta Was this translation helpful? Give feedback.
-
Ah, sorry, didn't see your response. I meant WASI on the server side with proper integration for the code editor. It would be pretty awesome to have the same experience that you currently have for Python, for Rust or other languages. |
Beta Was this translation helpful? Give feedback.
-
Yeah that’s exactly what I am trying to do also :) |
Beta Was this translation helpful? Give feedback.
-
I am Building the gui out of wasm too using golang gio project . |
Beta Was this translation helpful? Give feedback.
-
Links Vscode server and web gui golang assembly to golang gui. Built with gioui golang based gui. A wasm to golang gui has been spoken about - see issues Wazero is the wasm runner that so many golang projects like capsule use to run their wasm |
Beta Was this translation helpful? Give feedback.
-
@John0x @gedw99 Would the below work? I think the easiest way of using different coding languages with Dataplane is simply to copy the compiled binary into workers through your CI/CD cycle. FROM dataplane/dataplane-worker-python:latest
RUN mkdir -p /customcode && && chown -R appuser:appuser /customcode
COPY RustBinary /customcode/RustBinary Then in Dataplane use a bash processor, change the command to run the binary. |
Beta Was this translation helpful? Give feedback.
-
Here is a good article on what would be required to get Rust to work. You can see the code needs to be compiled first. This is a good example because it uses Golang to run shell commands to compile the Rust code to WASM. This can be applied for WASI too. |
Beta Was this translation helpful? Give feedback.
-
For running rust or golang wasm I use Wazero. The runner is golang https://www.fermyon.com/blog/introducing-spin is rust and can also run golang or rust wasm Wazero is integrated with DAPR and nats and k8. fluvio I have used but I changed to using NATS. They both use the co diners / publishers concepts but NATS is more mature and faster. It also has security integrated into the mesh . https://docs.nats.io/using-nats/nats-tools/nsc Fluvio started using Kafka and then rather than use NATS baked then own broker . Nats is way more mature and more reused and open than fluvio. Imho |
Beta Was this translation helpful? Give feedback.
-
This is similar to dataplane and built on nats |
Beta Was this translation helpful? Give feedback.
-
Hey, first of all, this looks extremely promising. I've been looking for a modern airflow alternative for quite some time. Keep up the great work 👍
Have you thought about supporting languages apart from python? Web Assembly would be perfect for something like this. The reliance on python has been one of my biggest pain points with most data pipelines.
Beta Was this translation helpful? Give feedback.
All reactions