Faster startup
https://bytecodealliance.org/articles/making-javascript-run-fast-on-webassembly
## Single-file apps
Can probably use https://github.com/bytecodealliance/WASI-Virt to store Python files along w/ [[#^binary-wheels]]. Should be able to do [minimal builds of Wasmtime](https://docs.wasmtime.dev/examples-minimal.html) to help shrink the overall size. Can also use wizer to make application startup be fast.
## HTTP fetch API
Create an [[HTTP fetch API]] and have that use [wasi-http](https://github.com/WebAssembly/wasi-http). This avoids OpenSSL.
## Dynamic loading of components
It would definitely be nice.
## Binary wheels
- [ ] Binary wheels ^binary-wheels
- [ ] Figure out _how_ this would work in terms of importing
- [ ] Platform tag
- [x] See what the generic wheel tag is
- [x] Figure out what info needs to be covered by a WASI platform tag
- [ ] If not forward/backwards-compatible, decide when to freeze to WASI SDK (probably latest version as of first alpha)
- [ ] Write a PEP
- [ ] Tool to take an extension module wheel and `.py` files and create a single `wasm` file
### Default tag list
```
cp312-cp312-wasi_0_0_0_wasm32
cp312-abi3-wasi_0_0_0_wasm32
cp312-none-wasi_0_0_0_wasm32
cp311-abi3-wasi_0_0_0_wasm32
cp310-abi3-wasi_0_0_0_wasm32
cp39-abi3-wasi_0_0_0_wasm32
cp38-abi3-wasi_0_0_0_wasm32
cp37-abi3-wasi_0_0_0_wasm32
cp36-abi3-wasi_0_0_0_wasm32
cp35-abi3-wasi_0_0_0_wasm32
cp34-abi3-wasi_0_0_0_wasm32
cp33-abi3-wasi_0_0_0_wasm32
cp32-abi3-wasi_0_0_0_wasm32
py312-none-wasi_0_0_0_wasm32
py3-none-wasi_0_0_0_wasm32
py311-none-wasi_0_0_0_wasm32
py310-none-wasi_0_0_0_wasm32
py39-none-wasi_0_0_0_wasm32
py38-none-wasi_0_0_0_wasm32
py37-none-wasi_0_0_0_wasm32
py36-none-wasi_0_0_0_wasm32
py35-none-wasi_0_0_0_wasm32
py34-none-wasi_0_0_0_wasm32
py33-none-wasi_0_0_0_wasm32
py32-none-wasi_0_0_0_wasm32
py31-none-wasi_0_0_0_wasm32
py30-none-wasi_0_0_0_wasm32
cp312-none-any
py312-none-any
py3-none-any
py311-none-any
py310-none-any
py39-none-any
py38-none-any
py37-none-any
py36-none-any
py35-none-any
py34-none-any
py33-none-any
py32-none-any
py31-none-any
py30-none-any
```