Designing a good API is an art, but there are reasons behind the feelings and enumerable rules of thumb that can save costly missteps. Come on an adventure through compactness, orthogonality, consistency, safety, coupling, state handling, layering, and more, illustrated with shining examples (and gruesome mistakes) from popular Python libraries—and walk away with an actionable design plan.
Here's a rough outline that will certainly grow and develop before the actual talk.
- What is an API? Everything is.
- Even if you're not going to expose it publicly, every routine,