Efficient Python Production Workflows
54mIntermediate2019-12-11
Authors

Miki Tebeka
CEO at 353Solutions
Course details
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.
Learning objectives
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
Learning objectives
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
Skills covered
PythonProgramming LanguagesOpen SourceSoftware DevelopmentDeep Dive (X:Y)
Concepts
0. Introduction
- 01 - Creating efficient Python projects
- 02 - What you should know
- 03 - Using the exercise files
1. The Production Process
- 04 - Working together as a team
- 05 - Avoid mistakes
- 06 - Feedback loop
2. Dependecy Management
- 07 - The problem
- 08 - Package managers
- 09 - Production vs. development
- 10 - Internal PyPI vendoring
- 11 - Docker
- 12 - Challenge - Gunicorn
- 13 - Solution - Gunicorn
3. Testing
- 14 - What to test
- 15 - CI CD
- 16 - Development vs. CI environment
- 17 - Feedback to developers
4. 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
5. 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
6. 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
Related courses
- GitHub Actions for CI/CD: Build, Test, and Deploy
- Data Cleaning in Python Essential Training
- Advanced Geospatial Data Analytics in Python
- PySpark Essential Training: Introduction to Building Data Pipelines
- Model Context Protocol: Advanced Topics by Anthropic
- Cisco DevNet Associate (200-901) Cert Prep 1: Software Development and Design
- Managing Python Projects
- Python: Design Patterns (2021)
Related learn paths
- Prepare for the Databricks Certified Data Engineer Associate Certification
- Generative AI Professional Certificate by Snowflake
- Advance Your Data Skills in Apache Spark
- MLOps Essentials for Developers and AI Engineers: Tools, Pipelines, Security
- Technical Program Management
- Advance Your Skills in AI and Machine Learning
- Python Hands-On Practice
- The Top Skills IT Professionals Have Right Now