Productive Development for Projects that Last
David Muller

#Python
Developers power their projects with Python because it emphasizes readability, ease of use, and access to a meticulously maintained set of packages and tools. The language itself continues to improve with every release: writing in Python is full of possibility. But to maintain a successful Python project, you need to know more than just the language. You need tooling and instincts to help you make the most out of what's available to you. Use this book as your guide to help you hone your skills and sculpt a Python project that can stand the test of time.
No matter your experience level or background, Python's batteries-included standard library and rich third-party ecosystem provide a solid foundation to build your projects on. With the right intuition and background knowledge, you can take advantage of all the power Python offers. Take a guided tour of some of Python's high points to craft a project that you can sustain and build on for a long time.
Run static analysis tools to detect and eliminate classes of bugs before you run code. Experiment with Python's concurrency model and develop patterns for using Python's thread and process abstractions to their full potential. Introduce yourself to Python's type hinting system: mypy. Download and run third-party Python packages and do so safely without compromising on security. Debug code using Python's built in debugger, and try procedures out in the interactive console. Run your code under new versions of the Python interpreter to unlock performance and usability improvements. All along the way, sharpen your Python instincts so you can keep your code clean and reduce the chance of bugs.
Mine Python for all you can by playing to its strengths and embracing patterns that harness its potential.
Developers build applications in Python because it emphasizes readability, low barrier to entry, and an expansive ecosystem of open source tooling. All kinds of developers—scientists, researchers, professional software engineers, and even beginners—embrace these benefits and choose Python to power their projects.
Python’s long history and high level of adoption mean you have access to a large suite of third-party tools in addition to Python’s expansive batteries-included standard library. Managing Python projects requires knowledge of the tools available to you and adopting patterns that will help your Python code stand the test of time.
In this book, you will learn about some of Python’s greatest strengths, weaknesses, and tools to maximize the utility and resiliency of your Python projects.
Who This Book Is For
This book contains content for programmers—especially programmers newer to Python—interested in leveling up the projects they maintain with Python.
Rather than spend time on Python syntax and control flow, we’ll focus on tools, patterns, and knowledge to help you build an intuition for working with Python.
As you might expect, this book can’t and won’t cover everything you need to know about Python. Instead, it tries to give you access to high-impact tools & knowledge that can improve your skills and make you feel comfortable with some of Python’s capabilities and boundaries. The contents of this book expose you to important parts of Python that will make the language more pleasant & useful to you.
Table of Contents:
1. Diving into Life with Python
2. Shifting Up with the Standard Library
3. Ramping Up with Concurrent Code
4. Avoiding Traps
5. Standing Guard When Python Breaks Free









