Skip to main content

SHISHUA: The fastest PRNG. A seedrandom-compatible random number generator.

Project description

SHISHUA for Python: The fastest PRNG

The official page for SHISHUA is here.
This PyPI package provides bindings for Python.

from shishua import SHISHUA
rng = SHISHUA(0)
buffer = rng.random_raw(1 << 30)  # 1 GiB
# It takes 1s on my laptop.

NumPy support:

import numpy
from shishua import SHISHUA
buffer = numpy.random.Generator(SHISHUA()).bytes(1024)
print(buffer.hex())

API

SHISHUA(seed=None)

Returns a generator instance initialized with the given seed.

The seed determines the sequence of numbers that this function returns:

print(SHISHUA('seed').random_raw(10).hex())
#> 1aa64a39f6949b969e97
print(SHISHUA('seed').random_raw(10).hex())
#> 1aa64a39f6949b969e97
print(SHISHUA('different seed, different values').random_raw(10).hex())
#> 216a0889a858eb57ae30

The seed can be either:

  • A list of four 64-bit integers, to map exactly to the functionality provided by the underlying SHISHUA algorithm,
  • A string, which is hashed into the four integers,
  • A single integer, which sets the first of the four,
  • If not provided (or undefined), a random seed is generated from the system's CSPRNG.

Associated methods

The object returned by calling SHISHUA() also has the following methods, which all tap into the stream generated by the seed:

  • .random_raw(size), which returns a bytes filled with random bytes.

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

shishua-0.2.0.tar.gz (53.7 kB view details)

Uploaded Source

File details

Details for the file shishua-0.2.0.tar.gz.

File metadata

  • Download URL: shishua-0.2.0.tar.gz
  • Upload date:
  • Size: 53.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.10

File hashes

Hashes for shishua-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6cec6d4d2f12af7dfeaebc6903d56660938a3292b5dbb87ad5ef3a5b6fb98695
MD5 77c0815c55dc305ac312ee1b036700ce
BLAKE2b-256 83ea4fb68a9ab938f46a4aa3c6d8e1db6aeb24b64dcc5e6439a1aaebf35f8428

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