A client for the web services of the Stardew Valley modding toolchain: smapi.io's mod update API and log parser, the SMAPI compatibility list and the StardewModDataset. Package smapiweb, module github.com/Rethunk-Tech/go-smapiweb.
The services publish no client for Go and answer in shapes that drift. This package sends the requests, bounds every
body it reads, and parses leniently. It caches nothing: the Updates result says which mods were answered, so a
caller keeps its own cache and decides when an answer is too old. The JSON tags on the result and dataset types are a
format contract, so cached copies survive an upgrade.
go get github.com/Rethunk-Tech/go-smapiwebA worked example and the contracts: HUMANS.md.
Updates: newest and unofficial versions and compatibility for any number of mods, batched, with per-modKnown.CompatList: the SMAPI compatibility list in every shape it has been published in, withLookupandBrokenOn.IndexandPage: which Nexus pages ship a UniqueID, and a page's files, manifests and dependencies.UploadLog: share a SMAPI log through smapi.io and get its public link.- Every response is read under a size cap and a deadline.
| Doc | Audience |
|---|---|
| HUMANS.md | Running and using the package |
| AGENTS.md | Internals, invariants, and why |
| CONTRIBUTING.md | Process — commits, tests, docs |
| SECURITY.md | Vulnerability disclosure |
| CHANGELOG.md | Release notes |
MIT — see LICENSE. © 2026 Rethunk.Tech, LLC.