Skip to main content

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'

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)

Source distribution for stepped-augustus 1.2.0
File Size Uploaded
stepped-augustus-1.2.0.tar.gz 5.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for stepped-augustus 1.2.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page