Minor documentation updates docs main
authorNeil Smith <neil.git@njae.me.uk>
Thu, 29 Apr 2021 16:49:32 +0000 (17:49 +0100)
committerNeil Smith <neil.git@njae.me.uk>
Thu, 29 Apr 2021 16:49:32 +0000 (17:49 +0100)
README.md
setup.py
szyfrow/__init__.py

index 865e8ec248aa821a4b484ec42dae59357edb7b9a..91ad22e95a538cc02ca46b3e8e8f7e9fbc3d0e49 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,4 +1,28 @@
 # Szyfow ciphers
 
-Various tools for enciphering, deciphering, and breaking simple (manual) ciphers.
+Simple (mainly manual) ciphers, and routines for enciphering, deciphering, 
+and breaking messages created with them.
 
+The ciphers implemented here are mostly ones that predate mechanical cipher
+systems. The most complex cipher is the Enigma of World War II.
+
+Each cipher is presented with functions to encipher, decipher, and 
+automatically break messages with that cipher.
+
+Most of the time, messages are broken by brute-force trying each possible key
+and scoring the resulting deciphered message using a bag-of-words probability
+measure (or a bag-of-bigrams, or a bag-of-trigrams).
+
+You can find more information on the ciphers and how they are implemented in
+the [codes and ciphers area of my blog](https://work.njae.me.uk/tag/codes-and-ciphers/).
+
+Ciphers work on messages encoded with the 26 letters of the Latin alphabet,
+without accents (the letters contained in the `string.ascii_letters` constant).
+Most of the ciphers convert letters to lowercase, strip accents from letters,
+and drop all other characters (such as spaces and punctuation).
+
+`szyfrow.support.text_prettify` contains functions to make the output easier
+to read, such as automatically recovering word boundaries.
+
+The name comes from the Polish cipher bureau, the Biuro Szyfrów, who were 
+breaking Enigma ciphers by hand before World War II.
index e585ed4d2e5b6e898f43e5dc11165a27d793bbc6..ff3747a18941c5fd2af2f7296187a40b9b72bc61 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -5,13 +5,16 @@ with open("README.md", "r") as fh:
 
 setuptools.setup(
     name="szyfrow",
-    version="0.0.6",
+    version="0.0.7",
     author="Neil Smith",
     author_email="neil.szyfrow@njae.me.uk",
     description="Tools for using and breaking simple ciphers",
     long_description=long_description,
     long_description_content_type="text/markdown",
     url="https://github.com/NeilNjae/szyfrow",
+    project_urls={
+        "Documentation": "https://neilnjae.github.io/szyfrow/szyfrow/index.html",
+    },
     packages=setuptools.find_packages(),
     classifiers=[
         "Programming Language :: Python :: 3",
index 4419d0839c7ccf4455df33f8b7cb0750eafcce9c..623c242801b76599a51f7e19165c0198de22519a 100644 (file)
@@ -1,4 +1,5 @@
-"""Simple ciphers, enciphering, deciphering, and breaking.
+"""Simple (mainly manual) ciphers, and routines for enciphering, deciphering, 
+and breaking messages created with them.
 
 The ciphers implemented here are mostly ones that predate mechanical cipher
 systems. The most complex cipher is the Enigma of World War II.