bytecodealliance / bytecodealliance/wasi-nn
Archive this repository?
- Dominant language
- CSS
- Stars
- 55
- Forks
- 36
- PR merge metrics
- No merged PRs in 30d
Description
As I prepare to change projects I'm working on, I decided to review this repository for archiving &emdash; I believe we should archive it. Here's why:
- the AssemblyScript bindings here have been unmaintained for some time
- the Rust bindings here have fallen out of date with the latest specification of wasi-nn
- keeping this up-to-date is a chore that no one wants to take on because...
- the best way to generate and use bindings for any WASI proposal is with [`wit-bindgen`]
- this repository requires a bunch of extra work to fix CI, update examples, clean up unused parts, etc.
[`wit-bindgen`]: https://github.com/bytecodealliance/wit-bindgen
Some background: back when wasi-nn was first specified with WITX, it was difficult to access the low-level specification APIs. In that world, it made sense to generate the low-level, `unsafe` bindings to languages like Rust and AssemblyScript and then wrap them with a higher-level API that made it all more developer-friendly. Since then, the adoption of WIT as the IDL for WASI proposals and improvements in tooling (i.e., `wit-bindgen`) make this "generate and wrap" idea outdated. E.g., in https://github.com/bytecodealliance/wasi-nn/pull/108 you can see how redirecting users to `wit-bindgen` is the right approach.
In the past, I kept this alive due to community requests but I will no longer have time to do so. I think now is the right time to archive this project and direct future developers towards `wit-bindgen`. Here's how I propose to do this:
- [ ] leave existing AssemblyScript and Rust packages alone: this avoids breaking any existing users of this repository, who can continue to use them for older versions of wasi-nn (e.g., p1-style)
- [ ] rewrite the top-level README to point to this issue, with a "This repository is deprecated, see ...; use `wit-bingen` instead" message
- [ ] remove all other files in `main`
- [ ] archive the repository
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the top-level README and the repository contents on the main branch, then review the checklist in the issue. Confirm that the existing AssemblyScript and Rust packages remain unchanged, update the README to direct users to wit-bindgen, remove the other files in main, and verify the repository can be archived without breaking the retained packages.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, wasm
- Domain
- documentation, release
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 25/100