Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Be Careful! This Is A Beta Test Some Functions May Not Work Stably.

Last Big Update: 3.0.0b1

- Added Smart ROT Mode


ROT Converter

A library for the ROT cipher with multi-language support.

Features

  • Encryption and decryption with ROT for 20 languages.
  • ROT bruteforce for all supported alphabets.
  • CLI Mode.
  • Custom Alphabets For The ROT.
  • Error handling with clear messages.
  • Smart ROT mode based on frequency analysis

Installation

pip install rot-converter

Usage

Import the functions:

from rot_converter import m_rot, b_rot

Manual ROT — m_rot(string: str, key: int, language: str)

Shifts each letter in the string by the given key within the specified alphabet.

from rot_converter import m_rot

temp_str = "tqv_eqpxgtvgt"
new_str = m_rot(temp_str, -2, "en")

print(new_str)  # Output: rot_converter

Bruteforce ROT — b_rot(string: str, language: str)

Returns a list of all possible ROT shifts for the given string.

from rot_converter import b_rot

temp_str = "bcd"
results = b_rot(temp_str, "en")

print(results[24])  # Output: zab
print(results[25])  # Output: abc

Custom Alphabet — m_rot(string: str, key: int, custom_alphabet: str)

Use your own alphabet for encryption/decryption.

from rot_converter import m_rot

# Base-36 alphabet
alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
result = m_rot("HELLO", 5, alphabet)
print(result)

Smart ROT Mode - smart_rot(string: str, language: str) - This Feature Is In Beta Development.


CLI Usage

After installation, the rot-converter command is available in your terminal.

Commands

Command Description
encrypt Encrypt text with a given key
decrypt Decrypt text with a given key
brute Bruteforce all possible shifts

Options

Option Description
-l, --lang Language code (default: en)
-c, --custom Custom alphabet string
-k, --key Shift key (integer, required for encrypt/decrypt)

Examples

# Encrypt
rot-converter encrypt "hello" --key 3 --lang en
# Output: khoor

# Decrypt
rot-converter decrypt "khoor" --key 3 --lang en
# Output: hello

# Bruteforce
rot-converter brute "bcd" --lang en
# Output:
#  Shift | Text
# ----------------------------------------
#      0 | bcd
#      1 | cde
#     ...
#     25 | abc

Supported Languages

Code Language Alphabet Length
en English 26
es Spanish 27
de German 29
fr French 26
it Italian 26
pt Portuguese 26
tr Turkish 29
sv Swedish 29
no Norwegian 29
fi Finnish 29
nl Dutch 26
da Danish 29
ru Russian 33
bg Bulgarian 30
sr Serbian 30
mk Macedonian 31
be Belarusian 31
el Greek 24
he Hebrew 22
hy Armenian 38

Requirements

  • Python 3.10 or higher.
  • No external dependencies (uses only standard library).

Error Handling

The library validates all inputs and raises ValueError with descriptive messages.

Error Types

Error Description
You did not enter a string The string parameter is missing or empty.
You did not enter a language or a custom alphabet The language or custom alphabet parameter is missing or empty.
Type of the language or custom alphabet is not a string The language or custom alphabet parameter is not a str.
You did not enter a key The key parameter is missing (None) in manual mode.
You entered an unsupported language for the smart mode The language is unsupported
Type of the key is not a integer The key parameter is not an int.

Error Examples

from rot_converter import m_rot, b_rot

# Missing string
m_rot("", 2, "en")
# ValueError: ERROR! You did not enter a string

# Missing language or custom alphabet
m_rot("abc", 2, "")
# ValueError: ERROR! You did not enter a language or a custom alphabet

# Missing key
m_rot("abc", None, "en")
# ValueError: ERROR! You did not enter a key

# Key is a float
m_rot("abc", 1.5, "en")
# ValueError: ERROR! Type of the key is not a integer

# Unsupported language for the smart mode
smart_rot("Hello", "xx")
# ValueError: ERROR! Language for the smart mode is not support

# Multiple errors
m_rot("", 2.5, "")
# ValueError: ERROR! You did not enter a string
# ERROR! You did not enter a language or a custom alphabet
# ERROR! Type of the key is not a integer

Changelog

Version Date Commit
0.1.0 07.08.2026 Beta: First Beta Version On PyPI
1.0.0 13.08.2026 Release: Just A Release
2.0.0 15.08.2026 Release: New Clean Code, Added Support for 20 Languages And New Error Handler
2.0.1 15.08.2026 Release: Improved Efficiency, Minor Bugs Fixed And a New GitHub Repository
2.0.2 15.08.2026 Release: Normalize Input Strings To NFC
2.1.0 16.08.2026 Release: Significant Efficiency Boost, Custom Alphabet Support Added And Added CLI Mode Support
3.0.0b1 16.08.2026 Beta: Added Smart ROT Mode Based On Frequency Analysis
Made by the Hi Team.

Download files

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

Source Distribution

rot_converter-3.0.0b1.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rot_converter-3.0.0b1-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file rot_converter-3.0.0b1.tar.gz.

File metadata

  • Download URL: rot_converter-3.0.0b1.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rot_converter-3.0.0b1.tar.gz
Algorithm Hash digest
SHA256 f6cccbfdefd3a42f323f6cc1be677a4c83ed0088e1d490232452b120ed25430a
MD5 08744c23a219c5df1f7e119a51445bf4
BLAKE2b-256 7ee84540933525861571ac0a56974669d9fc61699ac1ed70bd99a13aa7a12a5d

See more details on using hashes here.

File details

Details for the file rot_converter-3.0.0b1-py3-none-any.whl.

File metadata

File hashes

Hashes for rot_converter-3.0.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 0bc424a2390e8ad92eac3bf7161543e2324c9a1378c807c5793ea393f1d4f80f
MD5 59ffdd108ce194089373a756b031c389
BLAKE2b-256 779e5ec14200c4b1c3b48a4cfb959ca27da76dba499cc32792fc5fd9499117d8

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

3.0.0b1 This release

2 files

2.1.0

2 files

2.0.2

2 files

2.0.1

2 files

2.0.0

2 files

1.0.0

2 files

0.1.0

2 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