Skip to main content

Scytale

Just a very simple python script to calculate the scytale-cipher through an cli-wizard.

The projects main purpose is to showcase interesting tooling to build, publish and develop python apps.

Code Status

CI codecov

Code documentation: https://scytale.readthedocs.io

Description

The scytale was used more than 2500 years ago by the Spartans, and is one example of ancient cryptography. A message gets written on a ribbon which is then wrapped around a stick with a certain diameter (the scytale).

Below is a sample encryption of the plain text "prove me wrong!" with a scytale of diameter 3. We write the message around the scytale, and then

|p|r|o|
 - - -
|v|e| |
 - - -
|m|e| |
 - - -
|w|r|o|
 - - -
|n|g|!|

The cipher text is obtained by reading from top to bottom, left to right. In this example, the cipher text is

pvmwnreergo  o!

Setup

Using Nix

To follow this path at least Nix has to be installed (and flakes have to be enabled).

  • nix develop will drop you into a shell containing everything to further hack on the project. Inside the devShell invoking scytale should bring up a prompt.

  • nix run will run the default app of the flake file.

  • nix build will build the default package with the help of poetry2nix

  • default.nix is included to build the package the non-flake way with nix-build.

  • shell.nix contains instructions to provide a non-flake shell via nix-shell.

Without Nix

At least Poetry needs to be installed.

  • poetry run scytale will activate the poetry environment and execute the script held in pyproject.toml. If errors are occurring poetry install (installs the virtual environment and all given requirements)

  • poetry shell (activates and enters the virtual environment)

  • poetry run python -m unittest discover (runs all tests). Alternatively poetry run python -m pytest tests to use pytest for test execution.

Release files for scytale-cipher 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scytale-cipher 0.1.2
File Size Uploaded
scytale_cipher-0.1.2.tar.gz 4.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for scytale-cipher 0.1.2
File Interpreter ABI Platform
scytale_cipher-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 9.7 kB

Release files / scytale_cipher-0.1.2.tar.gz

Download URL scytale_cipher-0.1.2.tar.gz
Size 4.3 kB
Tags Source
SHA-256 checksum
How to use checksums
7a180fa19319a01516ad08a2b41fb71190b49fbe83b6ae363d9abcdef9f69dfa
BLAKE2b-256 checksum
How to use checksums
f06b4b81e37f02953007a18a017b94cb76eeeaec35164d2a8b24514267e27aaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.2 CPython/3.10.9 Linux/5.15.0-1024-azure

Release files / scytale_cipher-0.1.2-py3-none-any.whl

Download URL scytale_cipher-0.1.2-py3-none-any.whl
Size 5.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
327d35e4cb43577eb6997df5c1c20c07035b61e9b9876d197908d8b5946d3938
BLAKE2b-256 checksum
How to use checksums
cdc374bf232dd40b3e092f3e5b326684c51d86e30cfc3ab17632be9ca1c4e149
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.2 CPython/3.10.9 Linux/5.15.0-1024-azure

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

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