From 71bc93b7b71ebbd3483ca0bf564a09e0a9349c9c Mon Sep 17 00:00:00 2001 From: randogoth Date: Sat, 3 Jun 2023 10:33:45 +0300 Subject: [PATCH] added inline docu --- randonautentropy/install.py | 4 ++++ randonautentropy/rndo.py | 10 ++++++++-- randonautentropy/temporal.py | 9 ++++++++- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/randonautentropy/install.py b/randonautentropy/install.py index 5e34de9..b717759 100644 --- a/randonautentropy/install.py +++ b/randonautentropy/install.py @@ -2,6 +2,10 @@ import os import shutil def install(): + """ + Tries to fetch TemporalLib from GitHub and build it + + """ print("TemporalLib not found. Attempting to install it...") print("==================================================") module_path = os.path.abspath(os.path.dirname(__file__)) diff --git a/randonautentropy/rndo.py b/randonautentropy/rndo.py index b8252d1..71632d4 100644 --- a/randonautentropy/rndo.py +++ b/randonautentropy/rndo.py @@ -9,7 +9,6 @@ import json from urllib3.exceptions import InsecureRequestWarning requests.packages.urllib3.disable_warnings(InsecureRequestWarning) -VERSION = '1.0.0' URL = 'https://qrng.randonautica.com/api/json/' typeS = { 'int32' : 'randint32', @@ -22,7 +21,14 @@ typeS = { DEVICE_ID = 'QWR70154' def get(length=10, type='hex16'): - """Fetch data from the Randonautica Quantum Random Numbers JSON API""" + """ + Fetch data from the Randonautica Quantum Random Numbers JSON API + + length (int): length of bytes to get from the QRNG when `type=hex16` + type (string): type of random number data to fetch. + Valid choices are `hex16`, `int32`, `uniform`, `normal`, `base64` + + """ if type not in typeS.keys(): raise Exception("type must be one of %s" % typeS.keys()) url = URL + typeS[type] + '?' + urlencode({ diff --git a/randonautentropy/temporal.py b/randonautentropy/temporal.py index 00cbe83..c7624e9 100644 --- a/randonautentropy/temporal.py +++ b/randonautentropy/temporal.py @@ -4,7 +4,14 @@ from subprocess import check_output as exec from .install import install def get(length=10, channel=0): - length *= 2 + """ + Fetch data from the local TemporalLib RNG and returns a string of hex16 + + length (int): length of bytes to get from the RNG + channel (int): 0 for slower but higher quality entropy, 1 for faster but lower quality entropy + + """ + length *= 2 # returns nibbles by default, so let's make that bytes module_path = os.path.abspath(os.path.dirname(__file__)) temporal_path = os.path.abspath(f"{module_path}/temporal") exe_path = f'{temporal_path}/result/{os.uname().sysname}/temporal'