Python Developer Tooling Handbook

This is not a book about programming Python. Instead, the goal of this book is to help you understand the ecosystem of tools used to make Python development easier and more productive. For example, this book will help you make sense of the complex world of building Python packages: what exactly are uv, Poetry, Flit, Setuptools, and Hatch? What are the pros and cons of each? How do they compare to each other? It also covers tools for linting, formatting, and managing dependencies.

The handbook is structured according to the Diátaxis framework. There are four primary sections:

  1. Tutorial: This section provides step-by-step guides to help you get started in improving your Python development experience.
  2. How To: This section help you get things done in your Python project.
  3. Explanation: This section provides in-depth explanations to deepen your understanding Python development.
  4. Reference: This section provides detailed information about specific tools and concepts in Python development.

The book does not attempt to replace the documentation available for various tools; a link to the documentation for each tool is available on its Reference page. Also, the handbook is meant to complement, not replace, the Python Packaging Authority’s excellent Python Packaging User Guide.

This book is a work in progress and will be updated regularly. If you have any suggestions or feedback, please feel free to use the feedback form at the bottom of any page page.

Tim Hopper
Raleigh, North Carolina

ℹ️
Please sign up for the mailing list to receive updates on Python Developer Tooling Handbook.
Last updated on

Please submit corrections and feedback...