Metadata-Version: 2.4
Name: simple-http-checker-r-version
Version: 1.3.0
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.9,>=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!


**Note:** Here is the link to the main code repository for the project: [https://github.com/mohamedrabie92/python-devops-cicd-project](https://github.com/mohamedrabie92/python-devops-cicd-project)

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