Skip to content

Python 3 port + tests + CI/CD + contribution docs#12

Open
aman179102 wants to merge 2 commits into
TryCatchHCF:masterfrom
aman179102:master
Open

Python 3 port + tests + CI/CD + contribution docs#12
aman179102 wants to merge 2 commits into
TryCatchHCF:masterfrom
aman179102:master

Conversation

@aman179102

Copy link
Copy Markdown

Summary

Complete modernization of Cloakify: Python 3 port, comprehensive test suite, CI/CD pipelines, and contribution documentation.

Changes

Python 3 Port

  • Converted all print statements to print() function calls
  • Replaced deprecated base64.encodestring with base64.encodebytes
  • Fixed exit calls to sys.exit(1)
  • Added proper Python 3 shebangs
  • All scripts now run on Python 3.8+ (tested up to 3.12)

Testing (16 tests, all passing)

  • Core roundtrip tests (cloak → decloak returns original)
  • Binary payload support (all 256 byte values)
  • Unicode cipher support
  • Large payload testing (10KB)
  • Different cipher → different output verification
  • Edge cases (nonexistent files, invalid content, empty payloads)
  • Output validation (cloaked content only contains cipher words)

CI/CD

  • ci.yml: Automated testing on Python 3.8-3.12 with coverage
  • release.yml: PyPI publishing workflow

Documentation

  • CONTRIBUTING.md with setup and testing guide
  • CODE_OF_CONDUCT.md
  • SECURITY.md with vulnerability disclosure policy
  • PR template with checklist

Dev Tooling

  • pyproject.toml with pytest, black, isort, mypy configuration
  • pre-commit hooks (trailing-whitespace, end-of-file-fixer, black, isort)
  • .coveragerc with 80% coverage target
  • .gitignore for Python project

Verification

…ution docs

- Ported all scripts from Python 2 to Python 3 (print function, base64.encodebytes, sys.exit)
- Added 16 pytest tests covering core roundtrip, binary, Unicode, large payloads, edge cases
- Added CI/CD workflows (GitHub Actions for test + PyPI release)
- Added contribution docs (CONTRIBUTING, CODE_OF_CONDUCT, SECURITY, PR template)
- Added dev tooling (pre-commit hooks, pyproject.toml, .coveragerc, .gitignore)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant