Python for DevOps: Mastering Real-World Automation
Master Python for DevOps and CI/CD with 23+ hours, 35+ quizzes and 25+ coding labs to build and deliver DevOps tools
Lo que serás capaz de hacer
Welcome to the definitive Python for DevOps course! Are you ready to move beyond simple scripts and start building powerful, reliable, and production-grade automation? This course is meticulously designed to equip you, the DevOps engineer, SRE, or system administrator, with the essential Python skills to automate your infrastructure and streamline your DevOps workflows. It offers a highly practical curriculum, packed with quizzes and coding labs for you to practice everything we discuss in the lectures. Why Learn Python for DevOps? Python has become the universal language for infrastructure automation, and for good reason. Mastering it is a critical step for any modern DevOps professional. Here’s why: Automate Everything: Stop doing repetitive manual work! With Python, you can automate interactions with any REST API, manage cloud resources, update configurations, and orchestrate complex deployment pipelines. This course will teach you how to write scripts that do the work for you. Become a More Versatile and Valuable Engineer: Python is the "glue" that connects different systems. By learning to script interactions between your CI/CD tools, monitoring platforms, and cloud services, you become the go-to person for solving complex integration challenges, making you an indispensable part of your team. Write Robust, Maintainable Tools: A simple script might work once, but professional automation needs to be reliable. This course goes beyond basics to teach you how to write code that includes proper error handling, logging, and automated tests, ensuring the tools you build are trusted and easy to maintain. Boost Your Career: Proficiency in Python automation is one of the most in-demand skills in the tech industry. Adding these skills to your resume will make you a more attractive candidate for new roles, promotions, and higher-paying opportunities. By investing in this course, you’re not just learning a language; you’re acquiring a powerful toolkit to solve real-world DevOps problems efficiently and reliably. Why Choose This Course? This course is built from the ground up with a DevOps focus, offering a unique blend of core Python concepts and their practical application in infrastructure environments. Practical, DevOps-Focused Approach: We won't be building web apps or doing data science. Every lecture, example, and exercise is tailored to the world of DevOps. You'll work with files, APIs, system commands, and data formats like JSON and YAML - the things you use every day. Practice, Practice, Practice: We go beyond theoretical discussions and dive deep into coding everything we discuss. In addition to the video lectures, the course is packed with quizzes and coding labs that will help you solidify every concept we discuss! Go Beyond the Basics: This isn't just a "learn Python syntax" course. We dive deep into advanced, powerful features like generators for memory-efficient data processing, decorators for adding reusable functionality, context managers for safe resource handling, logging for production-grade, robust application logging, and much more! You'll learn to write code that is not just functional, but also elegant and efficient. Focus on Production-Ready Code: Learn how to build automation that you can trust in production. We dedicate entire sections to crucial topics like structured logging , advanced exception handling , implementing retries with exponential backoff , and, most importantly, automated testing with pytest . Which Skills Will You Acquire During This Course? As you go through this course, you will gain a comprehensive and valuable set of skills, including: Master Python Fundamentals: Build a rock-solid foundation in Python syntax, data structures (lists, dictionaries, sets), control flow, functions, and object-oriented principles. Leverage Advanced Python Features: Harness the power of generators for efficient data pipelines and decorators for adding cross-cutting concerns like logging and retries without cluttering your code. Write Resilient, Production-Grade Scripts: Implement structured logging for better observability and craft robust exception handling logic to make your automation fail gracefully. Ensure Reliability with Automated Testing: Master pytest to write effective unit tests. You'll learn everything from basic assertions and fixtures to advanced techniques like parametrization and isolating dependencies with mocks . Automate System and File Operations: Confidently manage the file system using modern pathlib and run external commands securely with the subprocess module. Interact With Any REST API: Master the requests library to send GET and POST requests, handle various authentication methods (basic, token), and build resilient clients that can handle timeouts and retries. Handle Essential Data Formats: Fluently parse, process, and generate the data formats that power DevOps: JSON, YAML, and CSV. Build and Package Professional Tools: Structure your Python projects with modules and packages, and use pyproject.toml to create and distribute your own installable command-line tools. Build complete CI/CD workflows for Python projects: Leverage GitHub Actions to build fully automated CI/CD pipelines to publish your Python libraries in the Python Package Index. Get ready to transform your capabilities and elevate your career. Let's start building powerful DevOps automation together!
- Master Python fundamentals from variables and data structures to functions and classes.
- Write elegant and memory-efficient code using advanced features like generators and decorators.
- Implement robust error handling with try/except blocks and custom exceptions to build resilient scripts.
- Integrate structured JSON logging into your applications for improved observability and troubleshooting.
- Confidently parse, process, and generate essential data formats like JSON, YAML, and CSV.
- Automate file and directory management using modern pathlib and shutil.
Temario
UNIDAD 1 - Welcome and Introduction · 5 leccionesUNIDAD 1 - Welcome and Introduction
UNIDAD 1 - Welcome and Introduction
- Welcome to the course!
- How to make the most of this course
- Aligning expectations
- Let's Stay Connected
- Course resources
UNIDAD 2 - Setting Up and Running Python · 11 leccionesUNIDAD 2 - Setting Up and Running Python
UNIDAD 2 - Setting Up and Running Python
- Section overview
- Why Python for DevOps?
- Installing and configuring Python
- Managing multiple Python installations with pyenv
- Overview of virtual environments
- Creating our first virtual environment
- Managing multiple virtual environments
- IMPORTANT! Installing Python 3.12.9 and creating the venv for the course
- The Python REPL
- Writing and running Python files
- Using JupyterLab for interactive code execution
UNIDAD 3 - Python Fundamentals · 52 leccionesUNIDAD 3 - Python Fundamentals
UNIDAD 3 - Python Fundamentals
- Section overview
- Variables
- Comments
- Numbers
- Strings
- Hands-on: Disk usage calculation
- Python Core Concepts
- Introduction to lists
- Modifying list contents
- Hands-on: Practicing working with lists
- Tuples
- Introduction to sets
- Set operations
- Hands-on: Practicing working with sets
- Differentiating between lists, tuples, and sets
- Introduction to dictionaries
- Dictionary operations
- Hands-on: Practicing working with dictionaries
- Python Data Collections
- Introduction to conditional code execution
- If/elif/else statements
- Guard clauses
- For and while loops
- Break and continue statements
- Introduction to list comprehension
- List, set, and dictionary comprehension
- Control Flow and Concise Iteration
- Configuration Validator
- Introduction to functions
- Defining functions and returning values
- Parameters and arguments
- Docstrings
- Hands-on: Practicing working with functions
- The range function
- Enumerate and ZIP functions
- Functions and Iteration Tools
- Log Line Parser
- Server Inventory Reporter
- Introduction to classes
- Class methods
- Inheritance
- Object-Oriented Programming in Python
- Object-Oriented Deployment Manager
- Introduction to *args and **kwargs syntax
- Order in *args and **kwargs arguments
- Calling functions: *args and **kwargs
- Working with flexible arguments
- Flexible Resource Tagger
- Lambda functions
- Sorting collections with lambda
- Transforming collections with lambda
- Filtering collections with lambda
UNIDAD 4 - Generators and Decorators · 28 leccionesUNIDAD 4 - Generators and Decorators
UNIDAD 4 - Generators and Decorators
- Section overview
- The iteration protocol
- Iterator and iterable code demo
- Generator syntax
- The yield statement
- Pausing and resuming generator execution
- State in generators
- Generator exhaustion
- Return vs. yield statements
- Generator Fundamentals
- Hands-on: Practicing working with generators
- Log File Line Generator
- Coding lazy pipelines
- Building Lazy Pipelines with Generators
- Configuration File Processing Pipeline
- Functions as first-class citizens
- Factory functions
- Functions in data structures
- Introduction to decorators
- Arguments in decorators
- Handling return values in decorators
- Decorator Fundamentals and Best Practices
- Argument sanitizer
- Handling exceptions in decorators
- The functools.wraps decorator
- Role-Based Access Control (RBAC) Decorator Factory
- Stacking decorators
- Advanced Decorator Practices
UNIDAD 5 - Error Handling and Context Managers · 23 leccionesUNIDAD 5 - Error Handling and Context Managers
UNIDAD 5 - Error Handling and Context Managers
- Section introduction
- Exceptions syntax
- Thinking in exceptions
- Inspecting built-in exceptions
- OS and KeyError exceptions
- Index, Value, and TypeError exceptions
- Attribute and ImportError exceptions
- Python Exception Handling: The Fundamentals
- The raise statement
- Raising exceptions
- Validating Inputs for Flexible Resource Tagger
- Validating Inputs for Object-Oriented Deployment Manager
- Defining custom exceptions
- Adding context to custom exceptions
- Raising and Defining Custom Exceptions
- Robust RBAC Decorator with Custom Exceptions
- Advanced Retry Decorator with Exponential Backoff and Jitter
- Manual context cleanup
- The context manager protocol
- Context managers and the "with" statement
- Defining custom context managers
- The contextmanager decorator
- Resource Management with Context Managers
UNIDAD 6 - Logging for Operations · 20 leccionesUNIDAD 6 - Logging for Operations
UNIDAD 6 - Logging for Operations
- Section introduction
- Why logging?
- Introduction to logging anatomy
- Hands-on: Practicing logging anatomy
- Log levels
- Python Logging: Core Concepts and Mechanics
- Basic Script Activity Logger
- File handlers
- Rotating log files by size
- Rotating log files by time
- Log Rotator for a Monitoring Service
- Structured logging with JSON
- Extra fields and exceptions in structured logging
- Practical Logging: File Handlers and Structured JSON Output
- Log configuration with INI files
- Log configuration with dictionaries
- Log configuration with JSON files
- Dynamic log configuration
- Declarative and Dynamic Logging Configuration
- Dynamic Logging Configuration with Verbose Mode
UNIDAD 7 - Files, Regex, and Serialization · 27 leccionesUNIDAD 7 - Files, Regex, and Serialization
UNIDAD 7 - Files, Regex, and Serialization
- Section introduction
- The Path object
- Listing directory contents, reading and writing files
- Read and write modes deep-dive
- Read and write methods deep-dive
- File System Interaction and I/O
- Log File Archiver
- Regex: Introduction and essentials
- Regex: Quantifiers, greedy, and non-greedy search
- Regex: Capturing groups
- Regex: Non-capturing groups
- Log Line Error Detector
- User Login Event Parser
- Regex: Back-references
- Regex: findall() and finditer()
- Regex: String splitting
- Regex: String substitution
- Text Processing with Regular Expressions
- Sensitive Data Redactor in Configuration Files
- JSON deserialization
- JSON serialization
- JSON Configuration Updater
- Introduction to YAML operations
- YAML serialization and deserialization
- Reading CSV files
- Writing CSV files
- Working with Data Formats (JSON, YAML, CSV)
UNIDAD 8 - System Interaction and Automation · 19 leccionesUNIDAD 8 - System Interaction and Automation
UNIDAD 8 - System Interaction and Automation
- Section introduction
- Accessing environment variables
- Setting and deleting environment variables
- Dotenv files
- Environment Variables and Configuration
- Listing directory contents
- Creating directories
- Deleting files and directories
- Copying files and directories
- Backup Script with Directory Cleanup
- Moving files and directories
- Temporary files
- Temporary directories
- Filesystem and Directory Operations
- Introduction to subprocesses
- Handling subprocess errors
- Handling expired timeouts
- Running and Managing Subprocesses
- System Health Checker with ping
UNIDAD 9 - Interacting with APIs using requests · 18 leccionesUNIDAD 9 - Interacting with APIs using requests
UNIDAD 9 - Interacting with APIs using requests
- Section introduction
- Creating a GitHub Personal Access Token (PAT)
- GET requests
- Query parameters
- POST requests
- Making and Inspecting HTTP Requests
- Public Holiday Checker
- HTTP status codes
- Raise for HTTP status
- Basic authentication
- Token-based authentication
- Jenkins Job Trigger
- PagerDuty Incident Fetcher
- Handling timeouts
- Robust API Interaction: Authentication and Error Handling
- Retries: Simple strategy
- Retries: Exponential backoff with jitter
- Advanced Resilience: API Retry Strategies
UNIDAD 10 - Static Typing and Type Hints · 25 leccionesUNIDAD 10 - Static Typing and Type Hints
UNIDAD 10 - Static Typing and Type Hints
- Section introduction
- [For VS Code Users] - Pylance configuration values I'm using for VS Code
- Introduction to type hints
- Type hints: Common pitfalls
- Annotating a Basic Configuration Loader
- Typing lists
- Typing dictionaries, tuples and sets
- Union and optional types
- Python Type Hints: Foundations and Basic Collections
- Typing a User and Role Management Function
- Typed dictionaries
- Typing classes
- Forward type references
- Structured Typing: TypedDict and Custom Classes
- Server Object Factory from Dictionary
- Introduction to generics
- Constrained type variables
- Bounded type variables
- Generics and classes
- Advanced Flexibility with Generics
- Typing decorators
- Improving decorator types
- Typing generators
- Typing iterables and iterators
- Typing Decorators and Generators
UNIDAD 11 - Automated Testing with Pytest · 24 leccionesUNIDAD 11 - Automated Testing with Pytest
UNIDAD 11 - Automated Testing with Pytest
- Section introduction
- Assertions in Pytest
- Hands-on: Test-driven implementation
- Inspecting failure output and float approximation
- Testing exceptions
- Marking tests as expected failures
- Pytest configuration
- Skipping tests
- Indicating expected failures
- Custom markers
- Pytest Fundamentals: Assertions, Markers, and Configuration
- Introduction to fixtures
- Fixture scopes
- Sharing fixtures in conftest.py
- Introduction to parametrization
- Using the param function
- Managing Test State with Fixtures and Parametrization
- Mocking fundamentals
- Patch decorator and mocker fixture
- Configuring mock objects
- Setting exceptions and lists as side effect
- Using callable as side effect
- Mock vs. MagicMock
- Advanced Testing Techniques: Mocking with Pytest
UNIDAD 12 - Structuring Python Projects · 12 leccionesUNIDAD 12 - Structuring Python Projects
UNIDAD 12 - Structuring Python Projects
- Section introduction
- Python modules
- Python packages
- Python Modules and Packages: The Fundamentals
- Introduction to subpackages
- Absolute vs. Relative imports
- Common import errors and how to fix them
- Navigating Packages: Imports and Submodules
- Running Python modules
- Pyproject.toml file
- Adding tests to multi-file projects
- Creating Installable Projects with pyproject.toml
UNIDAD 13 - CI/CD for Python Projects · 26 leccionesUNIDAD 13 - CI/CD for Python Projects
UNIDAD 13 - CI/CD for Python Projects
- Section introduction
- Introduction to click
- CI/CD tooling for our project
- CI/CD pipeline overview
- Setup GitHub repository and local environment
- Implementation plan overview
- Creating our pyproject.toml file
- Implementing the HTTP checker module
- Implementing the CLI script - Part 1
- Implementing the CLI script - Part 2
- GitHub Actions - Deploy minimal workflow
- Add linting and format checks
- Add static type and security checks
- Pytest - Setup and configuration
- Pytest - Implement HTTP checker tests
- Pytest - Implement CLI tests
- Pytest - Integrate automated tests in the workflow
- Quality Checks with GitHub Actions
- Building the Python library
- Configuring PyPI account and OIDC information
- Configure Semantic Release
- Integrate Semantic Release in the workflow
- Publishing to TestPyPI
- Publishing to PyPI
- Optimize workflow to leverage release assets
- Building and Publishing to PyPI
UNIDAD 14 - Conclusion · 1 leccionesUNIDAD 14 - Conclusion
UNIDAD 14 - Conclusion
- Congratulations + BONUS lecture!
Tu certificado lo emite la SEP, no solo una plataforma
Al demostrar la competencia recibes un certificado emitido por la Secretaría de Educación Pública a través del Gobierno del Estado de México: un documento oficial que puedes presentar con confianza ante cualquier empleador o institución.
Tu certificado con INEC
- Lo emite la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México
- Documento oficial con folio verificable en línea
- Lo otorga la Universidad Tecnológica Fidel Velázquez
Otras plataformas en línea
- Constancia privada emitida por la misma plataforma
- Solo acredita horas cursadas o asistencia
- Sin respaldo de una autoridad educativa
Tu itinerario, de la inscripción al certificado
- 1
Inscripción con pago único
Pagas $2,800 MXN una sola vez y entras de inmediato al curso.
- 2
Estudias a tu ritmo
14 unidades con videos, lecturas y actividades, disponibles 24/7 durante 12 meses.
- 3
Cuestionarios por unidad
37 cuestionarios para comprobar lo aprendido.
- 4
Certificado
Emitido por la SEP a través del Gobierno del Estado de México, con folio verificable.
Un certificado oficial de la SEP
- Emitido por la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México. No es una constancia privada: es un documento oficial, y ese respaldo marca la diferencia frente a otras plataformas en línea.
- Contenido impartido por Lauro Fialho Müller.
- Folio y QR verificables para compartirlo con quien te contrate.
Empieza hoy, a tu ritmo
Un solo pago y acceso inmediato al curso completo durante 12 meses.
- 14 unidades · 291 lecciones · 60 h
- 12 meses de acceso
- 37 cuestionarios de evaluación
- Certificado emitido por la SEP (Gob. del Estado de México) con folio verificable
Sobre tu inscripción
¿Cómo es el pago?
Un solo pago de $2,800 MXN. No hay mensualidades ni cargos recurrentes.
¿Cuánto tiempo tengo acceso?
12 meses desde tu inscripción, 24/7, para avanzar a tu ritmo.
¿Quién imparte el contenido?
El curso es impartido por Lauro Fialho Müller; INEC gestiona tu inscripción, evaluación y certificado.
¿Qué pasa cuando vence mi acceso?
Puedes renovar tu cuenta tú mismo desde la plataforma, sin trámites ni esperas.


