## Agenda
- Status updates
- Who will be at WasmCon next week?
- What should be our priorities going forward?
- (and who has bandwidth to work on them?)
## Notes
- Kevin: porting more packages, publishing them as wheels. Big benefit
- Jamey: don't know what the pain points are
- Brett: whose problems do we need to solve? SaaS users
- Joel: want to collaborate with pyodide
- Kevin: people want sandboxing (and want to bring their deps, like Pandas); also want size optimization, but package support is table stakes
- Brett: how do people get CPython-WASI? No official way yet. Exceptions support would unlock micropython. CPython using dlopen/dlsym for WASI. Pyodide is using hacks which may become obsolete as people move away from setuptools. Define standards for wheel naming and compatibility expectations.
- Kyle wants to be able to generate components without wasi imports
- Brett's post on dev experience: https://snarky.ca/tag/wasi/; should be able to pass platform flag (including python version) to `pip install` _and_ should always use virtual env. Working on an installer with a stable API. _or_ run pip inside wasi, in which case it can just assume native.
- Brett: can ask Python for where site-packages is; Python discovers venv based on where it is launched from; https://snarky.ca/how-virtual-environments-work/
- Brett: ideally, user would just use `python` which knows it's for WASI runs everything in e.g. wasmtime
- Kevin: want customers to use a single tool that does everything for them
- Brett working on a lockfile standard including policy (e.g. always give me wasi)
- Brett needs browser REPL for running IDE in browser, but others need other things
- Joel: componentize-py can handle dependencies itself; no need for venvs because sole output is wasm file
- Brett: can prototype with componentize-py deferring to pip for downloading and unpacking and later replacing with something else (e.g. Rust library)
- Kevin volunteers to investigate fortran options
- Brett: short term: ask hood about porting pyodide-build to wasi-sdk; long term: determine new, better python cross compile story
- Kevin: most projects not that hard; just the fortran stuff
Joel's summary: Our desired user experience to begin with is that componentize-py uses the project's pyproject.toml to discover dependencies, download the WASI wheels for them (and transitive deps), unpack them into a temporary directory, link any native libraries into the produced component, and load everything else into a wasi-virt VFS. For a first draft, just defer to pip with a virtual env; later we could do everything in Rust and eliminate the Python and pip deps. Note that the virtual env is an implementation detail tied to using pip; we'd delete it once the VFS is created.
## Action Items
- Kevin will investigate current best way to compile Fortran to Wasm