Python Architecture Patterns: Master API design, event-driven structures, and package management in Python

Jaime Buelta

  • 出版商: Packt Publishing
  • 出版日期: 2022-01-21
  • 售價: $1,600
  • 貴賓價: 9.5$1,520
  • 語言: 英文
  • 頁數: 594
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1801819998
  • ISBN-13: 9781801819992
  • 相關分類: Python
  • 下單後立即進貨 (約3~4週)


Key Features

  • Learn how to create scalable and maintainable applications
  • Build a web system for micro messaging using concepts in the book
  • Use profiling to find bottlenecks and improve the speed of the system

Book Description

Developing large-scale systems that continuously grow in scale and complexity requires a thorough understanding of how software projects should be implemented. Software developers, architects, and technical management teams rely on high-level software design patterns such as microservices architecture, event-driven architecture, and the strategic patterns prescribed by domain-driven design (DDD) to make their work easier.

This book covers these proven architecture design patterns with a forward-looking approach to help Python developers manage application complexity―and get the most value out of their test suites.

Starting with the initial stages of design, you will learn about the main blocks and mental flow to use at the start of a project. The book covers various architectural patterns like microservices, web services, and event-driven structures and how to choose the one best suited to your project. Establishing a foundation of required concepts, you will progress into development, debugging, and testing to produce high-quality code that is ready for deployment. You will learn about ongoing operations on how to continue the task after the system is deployed to end users, as the software development lifecycle is never finished.

By the end of this Python book, you will have developed "architectural thinking": a different way of approaching software design, including making changes to ongoing systems.

What you will learn

  • Think like an architect, analyzing software architecture patterns
  • Explore API design, data storage, and data representation methods
  • Investigate the nuances of common architectural structures
  • Utilize and interoperate elements of patterns such as microservices
  • Implement test-driven development to perform quality code testing
  • Recognize chunks of code that can be restructured as packages
  • Maintain backward compatibility and deploy iterative changes

Who this book is for

This book will help software developers and architects understand the structure of large complex systems and adopt architectural patterns that are scalable. Examples in the book are implemented in Python so a fair grasp of basic Python concepts is expected. Proficiency in any programming languages such as Java or JavaScript is sufficient.


Jaime Buelta is a Software Architect who has been a professional programmer since 2002 and a Python enthusiast since 2010. He has developed software for a variety of fields, focusing, in the last 10 years, on developing web services in Python in the gaming, finance and education industries. He is a strong proponent of automating everything to make computers do most of the heavy lifting, so humans can focus on the important stuff. He published his first book, "Python Automation Cookbook", in 2018 (recently with an extended second edition), followed a year later by "Hands-On Docker for Microservices with Python" describing how to migrate to a microservice architecture. He is currently living in Dublin, Ireland, and is a regular speaker at PyCon Ireland.


  1. Introduction to Software Architecture
  2. API Design
  3. Data Modeling
  4. The Data Layer
  5. The Twelve-Factor App Methodology
  6. Web Server Structures
  7. Event-Driven Structures
  8. Advanced Event-Driven Structures
  9. Microservices vs Monolith
  10. Testing and TDD
  11. Package Management
  12. Logging
  13. Metrics
  14. Profiling
  15. Debugging
  16. Ongoing Architecture