Python Interviews Discussions with Python Experts Mike Driscoll BIRMINGHAM - MUMBAI Python Interviews Copyright © 2018 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. Acquisition Editor: Ben Renow-Clarke Project Editor: Radhika Atitkar Content Development Editors: Joanne Lovell Technical Editor: Gaurav Gavas Copy Editor: Joanne Lovell Indexer: Tejal Daruwale Soni Graphics: Tom Scaria Production Coordinator: Arvindkumar Gupta First published: February 2018 Production reference: 2020418 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78839-908-1 www.packtpub.com "Python" and the Python Logo are trademarks of the Python Software Foundation. mapt.io Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website. Why subscribe? Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals Learn better with Skill Plans built especially for you Get a free eBook or video every month Mapt is fully searchable Copy and paste, print, and bookmark content PacktPub.com Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details. At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks. Foreword Welcome, all, to Python Interviews! People often get confused about open source programming languages, focusing merely on the technology behind the language — be it the language itself, the libraries available for it, or the impressive products that are built with it — and not on the ecosystem of individuals that are responsible for the language existing in the first place. Python is an open source language, driven mostly by volunteer efforts from all around the globe. It's important to focus not only on the technology behind what makes Python great, but also the individuals that make it great as well. The world of Python is not one comprised merely of code, but of a community of like-minded individuals coming together to make the world a better place through the open source ethos. Thousands of individuals have contributed towards the success of Python. This book contains interviews with an excellent selection of the individuals that power Python and its wonderful open source community. It dives into the personal backgrounds of these individuals and the opinions they have about the community, the technology, and the direction we're headed in, together. But, must importantly — it exposes that Python, the programing language, is indeed comprised of persons, just like you, trying to make a difference in the world, one step at a time. Kenneth Reitz Director at Large for the Python Software Foundation Contributor About the Author Mike Driscoll has been using Python since April 2006. He blogs for the Python Software Foundation. Other than blogging, he enjoys reading novels, listening to a wide variety of music, and learning photography. He writes documentation for the wxPython project's wiki page and helps wxPython users on their mailing list. He also helps Python users on the PyWin32 list and occasionally the comp.lang.py list too. Packt is Searching for Authors Like You If you're interested in becoming an author for Packt, please visit authors.packtpub.com and apply today. We have worked with thousands of developers and tech professionals, just like you, to help them share their insight with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea. Table of Contents Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii Chapter 1: Brett Cannon. . . . . . . . . . . . . . . . . . . . . . 1 Chapter 2: Steve Holden. . . . . . . . . . . . . . . . . . . . . 23 Chapter 3: Carol Willing. . . . . . . . . . . . . . . . . . . . . 39 Chapter 4: Glyph Lefkowitz. . . . . . . . . . . . . . . . . . . 53 Chapter 5: Doug Hellmann . . . . . . . . . . . . . . . . . . . 83 Chapter 6: Massimo Di Pierro. . . . . . . . . . . . . . . . . . 93 Chapter 7: Alex Martelli . . . . . . . . . . . . . . . . . . . . . 105 Chapter 8: Marc-André Lemburg . . . . . . . . . . . . . . . . 141 Chapter 9: Barry Warsaw . . . . . . . . . . . . . . . . . . . .155 Chapter 10: Jessica McKellar . . . . . . . . . . . . . . . . . .183 Chapter 11: Tarek Ziadé . . . . . . . . . . . . . . . . . . . . . 191 Chapter 12: Sebastian Raschka . . . . . . . . . . . . . . . . .205 Chapter 13: Wesley Chun . . . . . . . . . . . . . . . . . . . .221 Chapter 14: Steven Lott . . . . . . . . . . . . . . . . . . . . .231 Chapter 15: Oliver Schoenborn . . . . . . . . . . . . . . . . .241 Chapter 16: Al Sweigart . . . . . . . . . . . . . . . . . . . . .263 Chapter 17: Luciano Ramalho. . . . . . . . . . . . . . . . . .281 Table of Contents Chapter 18: Nick Coghlan. . . . . . . . . . . . . . . . . . . .297 Chapter 19: Mike Bayer . . . . . . . . . . . . . . . . . . . . .323 Chapter 20: Jake Vanderplas. . . . . . . . . . . . . . . . . . .337 Chapter 21: Other Books You May Enjoy. . . . . . . . . . . .345 Artificial Intelligence with Python . . . . . . . . . . . . . . . . . 346 Understanding Software. . . . . . . . . . . . . . . . . . . . . . . 347 Leave a review - let other readers know what you think . . . . . . 348 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Page ii Preface Near the end of 2016, I was brainstorming with my editor about the kinds of books might be of interest. I had been doing a series of articles on my blog called PyDev of the Week that inspired us into crafting a book based on interviewing core members of the Python community. I spent some time hashing out 20 names of people that I thought would be good for the book and then I started contacting them in 2017. Over the course of about 8-12 months, I ended up interviewing 20 pillars of the Python community, although my list changed several times over that period. Some people weren't available or couldn't be reached. But I persevered and managed to pull together a well-rounded set of representatives of the Python programming community. In this book, you will get interesting anecdotes about the history of Python and its creators, such as Brett Cannon and Nick Coghlan. You will discover why Python didn't have Unicode support in its first release, and you'll hear from core developers about where they think Python is going in the future. You will also hear from some well-known Python authors, like Al Sweigart, Luciano Ramalho, and Doug Hellman. I also spoke with some of the creators or core developers of popular third-party packages in Python, such as web2py (Massimo Di Pierro), SQLAlchemy (Mike Bayer), and the Twisted Framework (Glyph Lefkowitz), among others.