Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Learn how to design a Pythonic interface for complex systems in this conference talk from EuroPython 2016. Explore the challenges and design decisions faced when creating an ORM-like library for Elasticsearch. Dive into the development of elasticsearch-dsl, a more user-friendly Python interface for Elasticsearch that maintains access to all underlying query language features. Discover key principles such as hiding complexity, extracting relevant code, being explicit, and maintaining consistency. Gain insights on creating interactive, well-documented, and safe APIs. Understand the importance of iterative building, proper commenting, and thorough testing in library design. Examine real-world examples and decision-making processes to enhance your skills in creating Pythonic interfaces for complex systems.
Syllabus
Introduction
Motivation
Principles
Disclaimer
API
API is vague
Hiding complexity
Extracting only relevant code
Be explicit
Dont hide
Leakiness
Be Familiar
Consistency
Exceptions
Be friendly
Python is interactive
Representation docstrings
Enable iterative build
Commenting
Safety
Failure
Testing
API Code
Decision Making
No Code is Perfect
Questions
Taught by
EuroPython Conference