One of the defining features of Python is its flexibility: it can be used interactively, and it can also be used as the principal development language for large standalone applications. While this flexibility is a major reason for Python’s popularity, it also presents a unique challenge for library authors, because the wants and needs of interactive users often conflict with the wants and needs of application developers.
Scott Sanderson explores how interactivity can and should influence the design of software libraries, details how the needs of interactive users differ from the needs of application developers, and shares techniques for improving the usability of libraries in interactive environments without sacrificing robustness in noninteractive environments. Scott uses Python in his examples, but the general principles are applicable to any programming language that supports both interactive use and standalone application development.
Scott Sanderson is a senior software engineer at Quantopian, where he is responsible for the design and implementation of Quantopian’s backtesting and research APIs. Within the Jupyter ecosystem, most of Scott’s work focuses on enhancing the extensibility of the Jupyter Notebook for use in large deployments.
©2018, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com