Checklist for  Python libraries APIs
I agree with all but this one: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 supportsAPIs 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.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.[1]: https://fman.io