Skip to main content

Supported Python Versions PyPI version Downloads CI/CD Publish License: MIT

Python for DevOps: CI/CD for Python Projects

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

It packages a small command-line tool, check-urls, that checks one or more URLs and prints their HTTP status.

Workflow

workflow-overview

What we will implement in this repository

  • Implement the project (code files)
  • Add a simple GHA workflow and make sure it runs until completion
  • Add linting (ruff) and format checks (black)
  • Add typing (mypy) and security checks (bandit)
  • Add test automation
  • Build our Python project
  • Publish the project to both TestPyPI and PyPI when a new release is published

Installation

Install the package from PyPI:

pip install simple-http-checker-PedroLima

Install from TestPyPI:

pip install --index-url https://test.pypi.org/simple/ simple-http-checker-PedroLima

For local development, clone the repository and install it in editable mode:

git clone <repo-url>
cd python-devops-cicd-project
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

Usage

Check a single URL:

check-urls https://httpbin.org/status/200

Check multiple URLs:

check-urls https://httpbin.org/status/200 https://httpbin.org/status/404 https://httpbin.org/status/500

Set a custom timeout in seconds:

check-urls https://httpbin.org/delay/2 --timeout 5

Enable verbose logging:

check-urls https://httpbin.org/status/200 --verbose

Example output:

--- Results ---
https://httpbin.org/status/200             -> 200 OK
https://httpbin.org/status/404             -> 404 NOT FOUND
https://httpbin.org/status/500             -> 500 INTERNAL SERVER ERROR

Development

Install development dependencies:

pip install -e ".[dev]"

Run linting, formatting, typing, security checks, and tests:

ruff check .
black --check .
mypy src/
bandit -c pyproject.toml -r .
pytest

Package Info

  • Package name: simple-http-checker-PedroLima
  • CLI command: check-urls
  • Python version: 3.9 <= version <= 3.12

Release files for simple-http-checker-PedroLima 1.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for simple-http-checker-PedroLima 1.3.1
File Size Uploaded
simple_http_checker_pedrolima-1.3.1.tar.gz 6.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for simple-http-checker-PedroLima 1.3.1
File Interpreter ABI Platform
simple_http_checker_pedrolima-1.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 12.2 kB

Release files / simple_http_checker_pedrolima-1.3.1.tar.gz

Download URL simple_http_checker_pedrolima-1.3.1.tar.gz
Size 6.4 kB
Tags Source
SHA-256 checksum
How to use checksums
0c68ee33b85320bf9aa64c58abc95c4cb585eb300c110578ca8d813f30f5a941
BLAKE2b-256 checksum
How to use checksums
718edb0b873ad3e5a1fb5ee3677563500534aaf9002610410d4f3f1fbc41141c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 5, 2026.

Transparency log

Release files / simple_http_checker_pedrolima-1.3.1-py3-none-any.whl

Download URL simple_http_checker_pedrolima-1.3.1-py3-none-any.whl
Size 5.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2a51290ba2ade33c979ff4b4d20698a5bc0f1d425d789ee501cda1180f9e5849
BLAKE2b-256 checksum
How to use checksums
111e5670b1eb9deb1387e417db3881f215c29f9332cce6187564b19dc36ca023
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 5, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.3.1 This release

2 release files

1.2.0

2 release files

1.1.3

2 release files

1.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page