I’ve tried to make the development workflow for WASI easy so that people don’t get mad at me if their commit or PR breaks WASI. The main things I have done are:
- Documented how to build for WASI at Setup and building
- Gotten the commands necessary to get a WASI build down to
py Tools/wasm/wasi build
and to run the build via./cross-build/wasm32-wasip1/python.sh
- Gotten the toolchain into the devcontainer image so that you can use a container instead of installing the WASI SDK locally
- Got it into CI
Now I’m wondering if anything else is needed by anyone? One thing I can think of is I can add to .devcontainer/
a wasi
subdirectory which could get us Codespaces pre-builds for WASI if the SC approved the expense. You can see an example of this at cpython/.devcontainer/wasi/devcontainer.json at wasi-devcontainer · brettcannon/cpython · GitHub . Other than the very minor cost to the PSF this does increase the maintenance of the devcontainer configuration as devcontainer.json
has no concept of inheritance, requiring a copying of any configuration changes between all devcontainer.json
files (which is still minor since a relevant change hasn’t happened in 2 years).
Or does someone have some other idea of what would make things much easier for them? Another way to think about this is if WASI was made a tier 1 platform, what would you want to happen so you didn’t at that idea if the SC approved that (not that I’m proposing that right now, but it is theoretically possible based on the requirements of PEP 11 and the fact that the toolchain is accessible anywhere containers are)?