A lot of SDKs are just boilerplate HTTP calls with associated Model files. You write an openapi spec and then use tools to generate the SDKs, cleaning them up as necessary
In our case, we do a lot of client-side computing (for data privacy reasons). We also support hashing, and real-time events. These all have different implementations per language that aren't trivially scaffolded.