Efficient Python Production Workflows

Efficient Python Production Workflows

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 0h 54m | 199 MB

Writing code can be easy, but maintaining a product is always a challenge. In this course, learn what it takes to efficiently manage your Python projects. Instructor Miki Tebeka delves into the ancillary tasks around Python programming, such as dependency management, development methodologies, metrics, logging, testing, and deployment. While these topics aren’t strictly related to coding, they’re essential to making sure your code is production ready. Learn how to tackle challenges related to dependency management, effectively approach testing, configure a logging system, design metrics, leverage different deployment strategies, and more.

Topics include:

  • Working effectively with a team
  • Effective dependency management
  • Production vs. development environments
  • Determining which kinds of tests to use
  • Sending feedback to developers
  • Why logging is a valuable asset
  • Configuring a logging system
  • Deployment strategies
  • Using Fabric to automate deployment
Table of Contents

Introduction
1 Creating efficient Python projects
2 What you should know
3 Using the exercise files

The Production Process
4 Working together as a team
5 Avoid mistakes
6 Feedback loop

Dependecy Management
7 The problem
8 Package managers
9 Production vs. development
10 Internal PyPI vendoring
11 Docker
12 Challenge Gunicorn
13 Solution Gunicorn

Testing
14 What to test
15 CICD
16 Development vs. CI environment
17 Feedback to developers

Logging
18 Eyes to production
19 Python loggers
20 Log configuration
21 Dynamic configuration
22 Structured logging
23 Log aggregators
24 Challenge Configure logging
25 Solution Configure logging

Metrics
26 What are metrics
27 Types of metrics
28 Designing metrics
29 Metrics decorators
30 Metrics systems
31 Altering
32 Challenge report errors metrics decorator
33 Solution report errors metris decorator

Deployment
34 main .py
35 Deployment problems
36 Deployment strategies
37 Reverting deployment
38 Use Fabric to automate deployment
39 Continuous delivery

Conclusion
40 Next steps