Metadata-Version: 2.4
Name: simple-http-checker
Version: 2.1.1
Summary: A simple CLI tool to check the status of URLs.
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests<3.0,>=2.28
Requires-Dist: click<9.0,>=8.0
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-mock; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: bandit; extra == "dev"
Requires-Dist: types-requests; extra == "dev"
Dynamic: license-file

# 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](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](https://github.com/lm-academy/python-devops)

**Check my other courses:**

- 👉 [The Definitive Helm Course: From Beginner to Master](https://www.lauromueller.com/courses/definitive-helm-course)
- 👉 [Mastering Terraform: From Beginner to Expert](https://www.lauromueller.com/courses/mastering-terraform)
- 👉 [Mastering GitHub Actions: From Beginner to Expert](https://www.lauromueller.com/courses/mastering-github-actions)
- 👉 [The Complete Docker and Kubernetes Course: From Zero to Hero](https://www.lauromueller.com/courses/docker-kubernetes)
- 👉 [Write better code: 20 code smells and how to get rid of them](https://www.lauromueller.com/courses/writing-clean-code)

## 🎯 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

- [x] **Implement the project (code files)** - Complete Python package with proper structure
- [x] **Add a simple GHA workflow** - Basic GitHub Actions setup and execution
- [x] **Add linting (ruff) and format checks (black)** - Code quality automation
- [x] **Add typing (mypy) and security checks (bandit)** - Static analysis and security scanning
- [x] **Add test automation** - Comprehensive test suite with pytest
- [x] **Build our Python project** - Automated package building
- [x] **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
