stepped-augustus
A variation of the Augustus Cipher that offsets space-separated words based on the position of each character; contrary to what Augustus had originally practiced, letters wrap around instead of presenting a special case.
"Whenever he wrote in cipher, he wrote B for A, C for B, and the rest of the letters on the same principle, using AA for X."
Suetonius, Life of Augustus 88
Installation
Through pip:
λ> python -m pip install stepped-augustus
Usage
As a CLI application:
λ> augustus -h
usage: augustus [-h] [--direction {left,right}] [--multiplier MULTIPLIER] message
Ciphers a given message.
positional arguments:
message The message to be ciphered
optional arguments:
-h, --help show this help message and exit
--direction {left,right}
The direction to cipher the message to
--multiplier MULTIPLIER
The multiplier to be applied when ciphering a message
λ> augustus "Hello, World" --direction right --multiplier 1
Igopt, Xqupi
λ> augustus "Igopt, Xqupi" --direction left --multiplier 1
Hello, World
As a package:
>>> from augustus import SteppedAugustus as SA
>>>
>>> SA("Hello, World", 1).right_cipher
'Igopt, Xqupi'
>>>
>>> SA("Igopt, Xqupi", 1).left_cipher
'Hello, World'
>>>
>>> # Alternatively the _cipher method can be used for lazy
>>> # evaluation and customizing the direction.
>>>
>>> for char in SA("Hello", 1)._cipher(1):
... print(char)
>>>
>>> # Additionally, skip_chars and stop_chars can specified
>>> # to semantically modify the behaviour of the algorithm.
>>>
>>> # Shifts with 10234
>>> SA("Hello", skip_chars="H").right_cipher
'Ienos'
>>>
>>> # Shifts with 11234
>>> SA("Hello", stop_chars="e").right_cipher
'Ifnos'
>>>
>>> # Shifts with 10123
>>> SA("Hello", skip_chars="e", stop_chars="e").right_cipher
'Iemnr'
Metadata
Release files for stepped-augustus 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| stepped-augustus-1.2.0.tar.gz | 5.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| stepped_augustus-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.1 kB
Release files / stepped-augustus-1.2.0.tar.gz
| Download URL | stepped-augustus-1.2.0.tar.gz |
|---|---|
| Size | 5.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8e3305c59cf1f9b4579fea7126c7a558d71cf69ffa11f57b7a72440c992d4ad4
|
|
BLAKE2b-256 checksum How to use checksums |
05793aa78b07bf1ad16715ebbaae04444648f7e2bba463c5c4bc3241f1d32472
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.9 CPython/3.8.3 Windows/10
|
Release files / stepped_augustus-1.2.0-py3-none-any.whl
| Download URL | stepped_augustus-1.2.0-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cdb8a25d2fadb935bcf38ba57454b634e001eef1288b09cf79d1cdf0a4bace94
|
|
BLAKE2b-256 checksum How to use checksums |
d916f8b34b9b87bfacab13f40dbdf9768b39287eb6595587b97d55200fef27c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.9 CPython/3.8.3 Windows/10
|