Book review: Full Stack Python, by Matthew Makai

posted: March 11, 2017

tl;dr: A thorough, curated guide to online information about the Python webapp stack...

As author Matthew Makai explains at the end of Full Stack Python, the name of this book may be slightly misleading. Although there are a couple of projects trying to bring Python into the browser to supplement or replace the need to write Javascript (see this Python Software Foundation Wiki page and the PyPy.js project), Full Stack Python does not attempt explain how to do a Python-based front end. Rather, the focus is on the back end of webapps, i.e. the server side, where Python and its many libraries, frameworks, tools, and infrastructure represent a great choice for webapp developers. So a more accurate, albeit longer, title for this book might be "The Full Python Webapp Stack".

Full Stack Python is a thorough survey of the entire Python webapp ecosystem, covering pretty much all the areas that a developer needs to know about to write, test, and deploy a Python webapp. The book is organized into chapters covering topics such as setting up a Python development environment, editors, web frameworks, databases, APIs, testing, deployment options, source control, monitoring, and many more. I have a hard time thinking of an area that should have been covered but wasn’t; in that sense the book definitely lives up to the adjective “full” in its name.

Makai provides text that introduces each area and explains the most popular developer choices among the often many options that often exist. He does this without too much bias; he occasionally provides some gentle guidance along with an explanation of why he prefers one option over another. The core of the book, however, is the set of curated links to online material that Makai has assembled. Rather than try to explain everything in detail himself, he provides annotated links that the reader can choose to explore if he or she is interested in learning more about a particular topic. While it would be impossible for Makai or anyone else to assemble a set of the absolute best links on each and every topic, Makai has done a admirable job: his results are better than those that would be obtained via trial-and-error Google searches.

For folks who know some Python and are just getting into Python webapp development, Full Stack Python is a great introduction. It can function as a top-level learning guide, pointing the way to more detailed material available online. Even experienced Python webapp developers are likely to learn of some options that they didn’t know about already; they can also use it to guide their activities in areas that they may not have given the proper attention, such as logging.

Full Stack Python is available in a variety of formats, including eBook and as a website.