Files
008-caesar_cipher/README.md
Tirsvad 621f5f7272 Add decrypt function to Caesar cipher
- Implement decrypt function that reverses encryption with negative
  shift
- Export decrypt in package's public API
- Update tests with basic roundtrip and edge case tests
- Update documentation to reflect encryption/decryption support
2026-10-04 13:18:33 +08:00

1.8 KiB
Raw Permalink Blame History

🔐 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. Parts 1 and 2 cover encryption and decryption; a combined program follows in Part 3. 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.