Skip to main content

Python API for interacting with The Randonautica Quantum Random Number Generator

Project description

RandonautEntroPy

PyPI version PyPI - License

This project provides tools for interacting with the Randonautica QRNG and Temporal entropy generators. It provides a Python API, and a rndo command-line tool.

Fair Use Policy

Please request only the entropy amount you really need for your project. Please note that in case of overuse the API is subject to immediate modifications and amendments to free availability.

Temporal on the other hand runs on your system and is always available.

Installation

$ pip install randonautentropy

Installing Temporal

The first time the temporal.get Python method or rndo -t command line option are called, a script attempts to automatically install the TemporalLib shell tool dependency in /usr/local/bin

In case that fails you can install it yourself:

$ sudo apt install git build-essential
$ git clone --depth 1 git@github.com:TheRandonauts/temporal.git
$ cd temporal
$ ./make.sh

Python API

The randonautentropy Python module contains low-level get functions.

>>> from randonautentropy import rndo
>>> from randonautentropy import temporal

>>> rndo.get(length=10, type='hex16')

e5b779d67eda68636cb9

>>> temporal.get(length=10, channel=0)

d0c7ca53cb57ede1be14

Extended Functionality

The rndo.get function can also retrieve a single 32bit random number in different formats:

>>> rndo.get(type='int32')

-968449906

>>> rndo.get(type='uniform')

0.9251141917698646

>>> rndo.get(type='normal')

0.8924809489412333

>>> rndo.get(type='base64')

JA==

The temporal.get method can switch from the default high quality entropy mode to a faster but slightly lower entropy mode by switching its channel to 1.

>>> temporal.get(channel=1)

b83a7fd79bee5b3b1ad7

Command Line Interface

The package also comes with a rndo CLI:

usage: rndo [-h] [--rndo] [--temporal] [bytes]

A tool for printing random data from the Randonautica Quantum Random Number Generators

positional arguments:
  bytes           amount of hexadecimal bytes

options:
  -h, --help      show this help message and exit
  --rndo, -r      Hexadecimal QRNG entropy
  --temporal, -t  Hexadecimal Temporal entropy

Example:

$ rndo -r 100
d204ab96505929325292d84a1217ded8de5781a449be0371cdcc97e6f6b1fe69a6b530cdf7112250172e573fe7b42b9e89fe42eef198cce0ec7a427b74f59b7b7a3d8ecabfc0f0051fe06104b1dd7f2a7d1626d7f66aac5afe002bdb255ec136d52405c2

$ rndo -t 100
93378573b635dc2b01ffd426068e6ccecbc2046fbc9598c1c41a4cbe0dcc8f62071202ea72d05b83581e8cd968cbd099ee0ccf37e9fbcd7d476bd4da6b1965434fc1a65302c732a06b6e5cebff37101a21926a34f1b236a4660a599c6ec93ae7296176fc

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

randonautentropy-1.0.4-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file randonautentropy-1.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for randonautentropy-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c181260095068e8da568fe8ef8ab7df402719524c0efd527bd18f4e2de52c2db
MD5 9a4dc69758b0a02d355566593377c60d
BLAKE2b-256 221165b10626663e8075571fc2630b41495f74f90fb6f2362903e2ce39f46e72

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page