At work, I find myself writing a Python/Go/JS SDK for every single internal API that I implement. This might even be more prevalent for public facing APIs since creating/maintaining public API SDKs for popular languages are table stakes for usage.<p>- Has this generally been true in your experience as well?<p>- If so, are there any hacks to create these SDKs with support for best practices like pagination, retry, etc + update them them when the API changes?
There is a lot of activity in the space of SDK generators. If you have an OpenAPI schema, you should be able to find tooling that can get you 80% of the way there. Here's a small app our team put together a couple weeks ago that you might like: <a href="https://easysdk.xyz/" rel="nofollow">https://easysdk.xyz/</a><p>We've expanded support for Python and Go since we made this. If you're interested in testing out the multi-language version, let me know!<p>Some other solutions:
-OpenAPI: <a href="http://github.com/openapitools/openapi-generator" rel="nofollow">http://github.com/openapitools/openapi-generator</a>
-(language specific) Go SDK: <a href="https://github.com/deepmap/oapi-codegen" rel="nofollow">https://github.com/deepmap/oapi-codegen</a><p>Best of luck with finding a solution that works for your use case!
One way is to auto-generate SDKs using OpenAPI Generator (<a href="http://github.com/openapitools/openapi-generator" rel="nofollow">http://github.com/openapitools/openapi-generator</a>) given an OpenAPI spec.