Checklist for  Python libraries APIs
I agree with all but this one:<p><i>Avoid hiding parameters that could be useful
E.g. the API is calling another lower-level one, but it isn't exposing some useful parameters the lower-level API supports</i><p>APIs have to be supported for years. Anything they expose can become a serious hindrance for API migration in the future. Best to keep the API as simple as possible at first, then only expand it when it is genuinely necessary.<p>Another one I would add: Keep the API stable. I'm developing a cross-platform file manager with a Python API [1]. I made some (necessary) changes to the API last week. This broke the work flows of some of my users. They were not pleased.<p>[1]: <a href="https://fman.io" rel="nofollow">https://fman.io</a>