python-trio / python-trio/trio
WASM support
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 7.3k
- Forks
- 431
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 6
Description
To be concrete: support for the emscripten build of CPython and pyodide.
It would be really cool :3
I mean, it would also indicate that our basic IO manager protocol is good enough to stabilize if we can implement such a strange architecture.
I'm not sure how testing would work nor whether anyone would use it. Also I'm not sure concretely what we can support:
- obviously we can manage sleeping and rescheduling
- sockets isn't possible AFAIK? I guess there's those WASI things.
- does pyodide provide a virtual file system or something? Maybe WASI does?
Unless... Trio already works due to some compatibility things done by CPython? I am 95% it doesn't work though. At least I should figure out how tests would work.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by determining whether Trio already works with emscripten-built CPython or Pyodide, focusing on the basic IO manager protocol and existing behavior for sleeping and rescheduling. Investigate what sockets, WASI, and Pyodide's virtual filesystem provide, then define how tests could run and what supported WASM behavior would count as done.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, wasm
- Domain
- networking, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100