Skip to main content

RandTest

A light package for quick and accurate determinations of the randomness of a sequence.

Overview

Identifying random patterns, and conversely, ordered patterns, is a major tool with applicability to a wide variety of fields, from mathematical analysis to cybersecurity. Random Test looks for randomness in sequences of numbers by searching for patterns which are inherently unpredictable. It uses an exponentially-decaying moment prediction to determine the net deviation between the predicted and actual elements of a sequence. In tests, this led to a net predictive accuracy of 99.85% for nonrandom sequences and 96.82% for random sequences. Additionally, this package is able to provide these predictions in under a millisecond for sequences shorter than 10 elements and under 100 milliseconds for sequences shorter than 1000 elements.

Requirements

RandTest is built for Python 3. It has only one requirement:

- Numpy

Installation

To download randtest, use PyPI via pip:

$ pip install randtest

Alternatively, you can clone this Github repository and build from source:

$ git clone https://github.com/sudo-rushil/randtest
$ cd randtest
$ python setup.py install

Verify your installation by running

>>> import randtest
>>> randtest.random_score([0, 1, 2, 3])
'False'

Examples

RandTest is extremely simple to use. You only need to input either a list or a 1D Numpy array of numbers. The prediction returns False if the sequence is ordered and True if the sequence is random.

import numpy as np
import randtest as rt

ordered_sequence = np.arange(10)
random_sequence = np.random.randint(10, size=10)

print(rt.random_score(ordered_sequence))

print(rt.random_score(random_sequence))

False

True

Metadata

Release files for randtest 0.1

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

Source distribution (sdist)

Source distribution for randtest 0.1
File Size Uploaded
randtest-0.1.tar.gz 4.8 kB Details

Release files / randtest-0.1.tar.gz

Download URL randtest-0.1.tar.gz
Size 4.8 kB
Tags Source
SHA-256 checksum
How to use checksums
415ec0be7f987b95d82f342e5b9f3cd885721733a4f46d9b74f0a7ca98ec8b01
BLAKE2b-256 checksum
How to use checksums
44b0477d78f936a258338f06bf94c0908c62486a83b457421649549aa31507e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release history Release notifications | RSS feed

0.7

1 release file

0.6

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

This release

0.1 This release

1 release file

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