Skip to content

lm-academy/python-devops-cicd-project

Repository files navigation

Python for DevOps: CI/CD for Python Projects

This repository contains the complete CI/CD implementation for the CI/CD section of my Python for DevOps: Mastering Real-World Automation course. Here, you'll learn how to build a robust, automated pipeline for Python projects using GitHub Actions. Make sure to join the course to learn comprehensive Python automation skills for DevOps and infrastructure management!

➡️ Course link (with a big discount 🙂): https://www.lauromueller.com/courses/python-devops

Note: Here is the link to the main code repository for the course: https://github.com/lm-academy/python-devops

Check my other courses:

🎯 Project Overview

This project demonstrates a complete CI/CD pipeline for a Python package called Simple HTTP Checker - a command-line tool for checking HTTP endpoint availability. Through this hands-on example, you'll learn modern Python development practices and automated deployment workflows.

✅ What we implement in this repository

  • Implement the project (code files) - Complete Python package with proper structure
  • Add a simple GHA workflow - Basic GitHub Actions setup and execution
  • Add linting (ruff) and format checks (black) - Code quality automation
  • Add typing (mypy) and security checks (bandit) - Static analysis and security scanning
  • Add test automation - Comprehensive test suite with pytest
  • Build our Python project - Automated package building
  • Publish the project to both TestPyPI and PyPI - Automated package publishing on releases

📚 Learning Objectives

Through this project, you'll master:

  • Modern Python packaging with pyproject.toml
  • GitHub Actions for CI/CD automation
  • Code quality tools (Black, Ruff, MyPy, Bandit)
  • Automated testing with pytest
  • Package publishing to PyPI repositories
  • Release management with Git tags and GitHub releases

About

This repo contains the code for the CI/CD section of my Python for DevOps course.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages