Skip to main content

A variation of the Augustus Cipher that offsets space-separated words based on the position of each character.

Project description

stepped-augustus

Current Version Python Versions License Code style: black PR's Welcome

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'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stepped-augustus-1.2.0.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

stepped_augustus-1.2.0-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file stepped-augustus-1.2.0.tar.gz.

File metadata

  • Download URL: stepped-augustus-1.2.0.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.9 CPython/3.8.3 Windows/10

File hashes

Hashes for stepped-augustus-1.2.0.tar.gz
Algorithm Hash digest
SHA256 8e3305c59cf1f9b4579fea7126c7a558d71cf69ffa11f57b7a72440c992d4ad4
MD5 72f855336047d4c92566efa625c6b2b3
BLAKE2b-256 05793aa78b07bf1ad16715ebbaae04444648f7e2bba463c5c4bc3241f1d32472

See more details on using hashes here.

File details

Details for the file stepped_augustus-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for stepped_augustus-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cdb8a25d2fadb935bcf38ba57454b634e001eef1288b09cf79d1cdf0a4bace94
MD5 ece5db7a590cc1dc2d408ac1d546dc15
BLAKE2b-256 d916f8b34b9b87bfacab13f40dbdf9768b39287eb6595587b97d55200fef27c6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page