Skip to main content

smartrandom v1.0.0

Random data generators. Allows you to generate random strings of a given length from letters, numbers and symbols, as well as randomize text. Helps generate passwords, service codes (for example, for sending via SMS), hashes and much more. Generates smart, recoverable passwords.


PyPI Downloads GitHub release (latest by date) PyPI - Downloads GitHub top language PyPI GitHub PyPI - Format


⚠️ Disclaimer

By using this software, you agree to the full disclaimer terms.

Summary: Software provided "AS IS" without warranty. You assume all risks.

Full legal disclaimer: See DISCLAIMER.md


Help:

Description

"Text randomization" or "variable text". It is used to create different variations of the same message.

You are using special syntax. Example: '{Salute|Hello|Good morning} {comrade|buddy|dear friend}!'

This syntax allows you to create variable messages by using curly braces and vertical bars to indicate alternatives.

Basic elements of syntax:

  1. Curly braces {}: Used to group text options. Anything inside the curly braces will be randomly selected when generating the text.
  2. Vertical bar |: Used to separate different text options within curly braces. Each option will be treated as a separate choice.

Example of use:

  • Syntax: '{Salute|Hello|Good morning} {comrade|buddy|dear friend}!'

  • Possible results:

    • Salute comrade!
    • Salute buddy!
    • Salute dear friend!
    • Hello comrade!
    • Hello buddy!
    • Hello dear friend!
    • Good morning comrade!
    • Good morning buddy!
    • Good morning dear friend!
  • How to use:

    1. Create your text: Identify which parts of your message can vary and place them in curly braces.
    2. Add options: Separate alternatives with a vertical bar.
    3. Text Generation: Use RandomStringMaster() to generate a random message.
  • Notes:

    • Make sure all options inside the curly braces make sense and fit the context.
    • You can use multiple randomization groups in a single message to create more complex variations.

Example of text randomization:

from smartrandom import TextRandomizer

text = '{Salute|Hello|Good morning} {comrade|buddy|dear friend}!'
randomized_text = TextRandomizer.randomize(text)
print(randomized_text)  # Good morning buddy!

pip install smartrandom

from smartrandom import RandomDataGenerator


secret_code = RandomDataGenerator.generate_secret_code(length=6) # 'zREkjF'
number_secret_code = RandomDataGenerator.generate_random_numbers(length=6) # '986741'
symbols = RandomDataGenerator.generate_random_symbols(length=10) # '&&!@@&@!_!'
hash_ = RandomDataGenerator.generate_hash(text='text') # '1798b0ae66b1ca6f3b88e00f9d17ce1470549e97687a1c97e26110bb8853ad41797e83831efe7eedbd29042a9a8991fd1adb4f7680946d57eed99b8b6e5502c4'
urandom_string = RandomDataGenerator.generate_random_hex_string(size=32) # '7b1dd304b42e79d9e26bfb9f839abf8d001fed2039bcc3c5bfd14c0b05cfcab2'
urandom_bytes = RandomDataGenerator.generate_random_bytes(size=32) # b'f_@\x1bnP\xb4\xa8\xb7$a\xbf\x13\r#\x96\xe5\x07D\xa1N\xf5\xe9\x9a\x95\x91\xe4\xd0\x8fR"\''
randomized_text = RandomDataGenerator.randomize_text('{Salute|Hello|Good morning} {comrade|buddy|dear friend}!') # Good morning buddy!
password = RandomDataGenerator.generate_password(length=15) # 'b$L^#7rfIUzgY!2'
base_password = RandomDataGenerator.generate_base_password(length=15) # '$yE$JL8heeJQv5X'
smart_password1 = RandomDataGenerator.generate_smart_password(seed='test', length=15) # 'GEyfYrC%VJU!RSY'
smart_password2 = RandomDataGenerator.generate_smart_password(seed='test2', length=15) # '2PhIQt8pIke9c@m'
smart_password3 = RandomDataGenerator.generate_smart_password(seed='test', length=15) # 'GEyfYrC%VJU!RSY'
smart_password4 = RandomDataGenerator.generate_smart_password(seed='test2', length=15) # '2PhIQt8pIke9c@m'

Test coverage

Run tests

  • pip install pytest
  • pytest -v

Test coverage 100%

  • pip install pytest-coverage
  • pytest --cov

Coverage Image

Coverage

  • pytest --cov --cov-report=html

License

BSD 3-Clause License

Copyright (©) 2026, Alexander Suvorov


Release files for smartrandom 1.0.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 smartrandom 1.0.0
File Size Uploaded
smartrandom-1.0.0.tar.gz 8.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for smartrandom 1.0.0
File Interpreter ABI Platform
smartrandom-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.6 kB

Release files / smartrandom-1.0.0.tar.gz

Download URL smartrandom-1.0.0.tar.gz
Size 8.4 kB
Tags Source
SHA-256 checksum
How to use checksums
f505144a210df308777ff6761b6969b4871cb964c5c795c2bd20e3c4cf631273
BLAKE2b-256 checksum
How to use checksums
d9396be9514673ae6292096f55a189afa1ac063030048838aa9c713fdd16071c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / smartrandom-1.0.0-py3-none-any.whl

Download URL smartrandom-1.0.0-py3-none-any.whl
Size 7.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fdd8716463c1c21d475703dd3971df994ad9a26fd64d73ac995186841024bd46
BLAKE2b-256 checksum
How to use checksums
e590c832a362b5001583accfb3060b246e448ed0b034df81e020b356b685e9b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.3.1

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.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