🔐 Caesar Cipher

A beginner-friendly Python program that encodes and decodes messages with the Caesar cipher.

📚 Table of Contents

🧭 Overview

The Caesar cipher shifts every letter by a fixed number of places (with a shift of 3, E becomes H). This project, from Udemy's 100 Days of Code: The Complete Python Pro Bootcamp (Day 8), finds letter positions with list.index and wraps around the alphabet with the modulo operator. The interactive program lets you encode or decode as many messages as you like. Code lives in src/, tests in tests/, docs in docs/.

📋 Requirements

  • Python 3.13 or newer
  • pytest (development only; no runtime dependencies)
  • Optional: Doxygen to build the API docs

🛠️ Setup

Create and activate a local virtual environment, then upgrade pip and install the project:

python -m venv .venv

Activate it:

# Linux / macOS
source .venv/bin/activate
# Git Bash on Windows
source .venv/Scripts/activate
# Windows PowerShell
.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"

▶️ Run

python -m caesar_cipher

or, after installation, caesar-cipher.

🧪 Tests

python -m pytest

Build the API docs with doxygen Doxyfile (output in docs/doxygen/html).

📄 License

GNU AGPL-3.0 – see LICENSE.

S
Description
Caesar cipher in Python: encode and decode messages. Udemy 100 Days of Code, Day 8.
Readme AGPL-3.0
63 KiB
Languages
Python 100%