Stefan Van der Merwe
Electronic engineer by training, software engineer by job title and open-source software geek by all other standards.
Stefan discovered his passion for empowering people at Ex Mente Technologies through the extensive use of Python to manage infrastructure, develop software tools for use in thermochemistry and automate mundane administrative tasks.
In the world of software development, APIs act as the middlemen between complicated systems and the people who work with them - developers. However, in this exchange of data and instructions, we often forget a fundamental truth: developers are people, not robots. It's time our APIs start recognizing and respecting this simple fact.
Join us on our journey to create APIs that are as user-friendly as possible. In this PyCon talk, we'll dive into the intriguing realm of designing Python package APIs and share the valuable lessons we've learned along the way.
From our own experiences, we've uncovered some golden rules for API design: don't use inconsistent names, don't make data types unpredictable, keep documentation clear and consistent, and always handle errors gracefully. Ignoring these principles can turn an API into a confusing maze for developers.
But we won't just point out the pitfalls; we'll also guide you through common mistakes to avoid, such as insufficient documentation, unnecessarily simple or overly complex endpoints, and a lack of transparency regarding rate limits and quotas.
It's important to note that APIs aren't limited to web services; they can take various forms. During this presentation, we'll focus on Python package APIs and demonstrate how these principles apply to different situations.
As a shining example of well-designed web service API clients, we encourage you to check out the Google API Python Client. For Python package API design, explore the Polars project, which is a great project to study.
Additionally, we'll share a compelling case study related to a product we heavily use. This real-world example will help you understand these principles in action.
Expect relatable stories, practical tips, and a fresh perspective on API design. Our mission is crystal clear: to bring empathy-driven design into the world of API development, one Python package at a time. Join us on this journey to add a touch of Zen to the sometimes chaotic world of coding.