- [`os-wasi` label](https://github.com/python/cpython/labels/OS-wasi)
- [Devcontainer](https://github.com/python/cpython-devcontainers) ([image](https://github.com/python/cpython-devcontainers/pkgs/container/devcontainer))
- [ ] Support WASI SDK 27 on `main` ([issue](https://github.com/python/cpython/issues/137580))
- [ ] Get code working
- [ ] Update CI
- [ ] Update dev container
- [ ] [Dev container](https://github.com/python/cpython-devcontainers) image
- [x] [Proper CPU support](https://docs.docker.com/build/building/multi-platform/#cross-compilation) ([issue](https://github.com/python/cpython-devcontainers/issues/25))
- [x] [PR](https://github.com/python/cpython-devcontainers/pull/43)
- [x] [Release](https://github.com/python/cpython-devcontainers/actions/runs/15334414373) ()
- [x] Update devcontainer to the latest [image](https://github.com/python/cpython-devcontainers/pkgs/container/devcontainer) ([PR](https://github.com/python/cpython/pull/135143))
- [x] [Development in general](https://github.com/python/cpython-devcontainers/issues/12)
- [ ] [`.devcontainer`](https://github.com/python/cpython/tree/main/.devcontainer) with `latest` label being viable ([discussion](https://discuss.python.org/t/what-do-people-want-to-see-to-make-supporting-wasi-easier/94472))
- [x] [[#^wasi-sdk-NN|`wasi-sdk-NN` detection]]
- [x] Update the devcontainer appropriately ([release run](https://github.com/python/cpython-devcontainers/actions/runs/16945609443))
- [ ] Update `.devcontainer` ([PR](https://github.com/python/cpython/pull/137734))
- [x] [CI](https://github.com/python/cpython/blob/main/.github/workflows/reusable-wasi.yml) ([issue](https://github.com/python/cpython-devcontainers/issues/26))
- [ ] `compose.yml` ([issue](https://github.com/python/cpython/issues/135693))
- [ ] [Default tools](https://github.com/python/cpython-devcontainers/issues/47)
- [ ] Move `Tools/wasm/wasi` to the top-level?
- [ ] Get the Buildbot using the dev container
- [ ] [Stop setting `HOSTRUNNER` in `configure.ac`](https://github.com/python/cpython/issues/95952)
- [x] [Stop using `./configure` directly to build in the buildbots](https://github.com/python/buildmaster-config/pull/526)
- [ ] Update `configure.ac`
- [ ] Lower stack size to 5 MiB
- [ ] `Tools/wasm/wasi`
- [ ] `configure.ac`?
- [ ] `Makefile.pre.in` ?
- [ ] PEP to specify WASI SDK compatibility expectations
- [ ] Have `wasi/` check for `wasi-sdk/VERSION` -- [25 and later](https://github.com/WebAssembly/wasi-sdk/issues/471) -- to make sure the right version is used when auto-selecting WASI SDK?
- [x] Use `/opt/wasi-sdk-NN` automatically based on what the appropriate version is ([PR](https://github.com/python/cpython/pull/137244)) ^wasi-sdk-NN
- [ ] Update dev container to ship with all relevant WASI SDK versions
- [ ] [Create a GitHub Action to install WASI SDK](https://github.com/WebAssembly/wasi-sdk/issues/468) (? Might not be necessary w/ a container image used in CI)
- [ ] PEP for a wheel tag ([discussion](https://bytecodealliance.zulipchat.com/#narrow/channel/219900-wasi/topic/Platform.20tags.20for.20packages.20targeting.20WASI/with/516694780))
- [ ] See if we can use `--enable-wasm-dynamic-linking` so [componentize-py](https://github.com/bytecodealliance/componentize-py) doesn't have to [patch it](https://github.com/dicej/cpython/commit/118e9d8eeabb6345d57295f6cec1616694eacbc2#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810R1269-R1272)
- [ ] Set up Black formatting for `wasi/`
- [ ] Move `wasi.py` functionality to `wasi/__main__.py`
- [x] Copy code over and leave deprecated stub behind
- [x] Update `CODEOWNERS` ^codeowners
- [x] I own `wasi.py`
- [x] I own `wasi/`
- [x] Jointly own `README`
- [ ] Update buildbots
- [ ] `wasi package`
- [ ] Research what should be shipped for building extensions
- [ ] See if [exporting binaries](https://docs.docker.com/build/building/export/) from the devcontainer is possible
- [ ] [External dependencies](https://github.com/python/cpython-source-deps) via `wasi externals`
- [ ] Figure out what version policy we want (i.e. always latest or freeze versions like Windows builds?)
- [ ] [zlib](https://github.com/python/cpython/issues/91246) (and potentially undoing part of https://github.com/python/cpython/pull/130297)
- [ ] bzip2
- [ ] xz
- [`get_externals.bat`](https://github.com/python/cpython/blob/5592399313c963c110280a7c98de974889e1d353/PCbuild/get_externals.bat#L61)
- [`python.props`](https://github.com/python/cpython/blob/5592399313c963c110280a7c98de974889e1d353/PCbuild/python.props#L73)
- [`externals.spdx.json`](https://github.com/python/cpython/blob/5592399313c963c110280a7c98de974889e1d353/Misc/externals.spdx.json#L160)
- [ ] sqlite
- [x] OpenSSL (not safe as WebAssembly doesn't have constant time ops)
- [ ] Consider if providing a [wasmtime config](https://docs.wasmtime.dev/cli-options.html#cli-options-using-toml-file) makes sense over hard-coding flags
- [ ] [Support `wasm32-wasip2`](https://github.com/python/cpython/issues/121634)
- [x] Ability to specify host triple
- [x] Find out if `wasip2` is compatible w/ preview1 hosts
- [ ] buildbot
- [ ] PEP 11
- [ ] Get 3rd-party extensions working
- [ ] Networking under WASI 0.2
- [Joel's hack](https://github.com/dicej/cpython/commit/118e9d8eeabb6345d57295f6cec1616694eacbc2)
- Any tests requiring threads probably won't work
- See the [headers in wasi-libc](https://github.com/WebAssembly/wasi-libc/tree/main/libc-top-half/musl/include) for what can be turned on
- Will probably require tweaking `config.site`
- [ ] Single-file `python.wasm` distribution
- [ ] Freezing the stdlib
- [ ] `wasi-virt`
- [ ] Make sure build details are still relevant
- [ ] Check if all the flags set in `configure.ac` are necessary
- [ ] Check what `__wasi__` usage can be removed
- [ ] [Check](https://github.com/python/cpython/issues/115982) the [site config](https://github.com/python/cpython/blob/main/Tools/wasm/config.site-wasm32-wasi) is up-to-date
- [ ] [[HTTP fetch API]]