orome/crypto-enigma-py

Migrate to Python 3.7+

Opened this issue · 0 comments

orome commented

Migrate all code to Python 3.7+ (abandoning 2.7), including:

  • Run 2to3 on all files and fix or disable remaining errors
  • Add type annotations to all package functions and declarations
  • Review all annotations for semantics, especially list vs str vs Mapping etc.
    • Fix all inconsistencies in how list vs str is used
  • Fix all introduced bugs:
    • Specifying step does not override number of steps implicit in message when longer (possibly old bug/feature: check docs and sync with Python implementation)
    • Some tests fail: reenable and fix all disabled tests
    • Bugs in docs
  • Update handling of Unicode (change caveat about Windows, etc.); confirm ability to run on Windows (see and close #6, #30, #1)
  • Update docs with correct handling of types; ensure synchronization with annotations
  • Add new tests (see also #11 , #10)
  • Expand to Python 3.8 (and test on Travis)
  • Look for opportunities to use itertools, (and other package?) for mappings and encodings

Also general bug review and syncing with Haskell version:

  • Check formatting of CLI encode output (see Haskell version #33).