Joel Dice
Joel Dice
Hi @henderiw. Thanks for reporting this. I just tried making a simple app that uses Pydantic, and it seems to work. Here's what I did: ``` mkdir foo cd foo...
> ModuleNotFoundError: No module named 'pydantic.fields' I suspect this is related to the issue described [here](https://github.com/bytecodealliance/componentize-py?tab=readme-ov-file#known-limitations) and [here](https://github.com/bytecodealliance/componentize-py/issues/23). I would recommend moving the `class User(BaseModel):` declaration to the top level...
I did some research to determine a size breakdown for a "hello world" wasi-http component generated by `componentize-py`. The TL;DR is that the stripped binary is about 18MB, 12MB of...
Regarding resources: we'll definitely need to support them eventually, given that they're already used heavily by WASIp2 and beyond; plus they're just really useful in general. This PR doesn't need...
We do already support both blocking and non-blocking sockets (e.g. https://github.com/WebAssembly/wasi-libc/blob/1b19fc65ad84b223876c50dd4fcd7d5a08c311dc/libc-bottom-half/headers/public/__header_sys_socket.h#L55 and https://github.com/WebAssembly/wasi-libc/blob/1b19fc65ad84b223876c50dd4fcd7d5a08c311dc/libc-bottom-half/sources/socket.c#L92), so presumably adding `O_NONBLOCK` support for toggling that should be pretty trivial.
BTW, we _do_ already support setting `FIONBIO` on sockets via `ioctl`. I don't think there's a way to read the current state yet, though.
> is this still an issue? Yes.
Correct. We can lean on `wasi-libc` to make WASI look like just another POSIX OS as a good first default, then add WASI-specific improvements later as desired.
Is this still an issue? It looks like the linked PR was merged, so maybe it was a spurious network failure?
I agree that clear documentation is the main thing here. While we're bikeshedding the names, though: perhaps `write-to-stdout`/`write-to-stderr`?