Skip to main content

Quantum random number generation using IBM Quantum (Qiskit)

Project description

Command Line Usage

You can use the package directly from the command line with the following commands:

# Show help and usage
python -m qrngtools --help

# Generate a random bit
python -m qrngtools --type bit

# Generate a string of 16 random bits
python -m qrngtools --type bits --length 16

# Generate a random integer in [0, 1000)
python -m qrngtools --type int --max 1000

# Generate a random float in [0, 1)
python -m qrngtools --type float

# Generate a random string of length 12
python -m qrngtools --type string --length 12

# Generate 8 random bytes
python -m qrngtools --type bytes --length 8

# Generate a random boolean value
python -m qrngtools --type bool

# Pick a random element from a sequence
python -m qrngtools --type choice --seq A B C D

# Pick 2 unique random elements from a sequence
python -m qrngtools --type sample --seq A B C D --k 2

# Generate a random UUID
python -m qrngtools --type uuid

# Generate a 3x3 matrix of random floats
python -m qrngtools --type matrix --rows 3 --cols 3

# Generate a random permutation of a sequence
python -m qrngtools --type permutation --seq A B C D

# Generate a list of 10 random bits
python -m qrngtools --type bit_array --length 10

# Generate a list of 10 random floats
python -m qrngtools --type float_array --length 10

# Add --with-source to any command to show the randomness source
python -m qrngtools --type int --max 1000 --with-source

qrngtools

Quantum random number generation using IBM Quantum (Qiskit) and AerSimulator.

1. Environment Setup (Recommended)

Create and activate a clean Python environment:

Windows PowerShell:

python -m venv .venv
.\.venv\Scripts\Activate.ps1

Windows Command Prompt:

python -m venv .venv
.\.venv\Scripts\activate.bat

Linux/macOS:

python3 -m venv .venv
source .venv/bin/activate

2. Install the Package

Install from PyPI:

pip install qrngtools

3. (Optional) Set Up IBM Quantum Cloud Backend

Set your IBM Quantum API token as an environment variable:

Windows PowerShell:

$env:IBM_QUANTUM_TOKEN="your_token_here"

Windows Command Prompt:

set IBM_QUANTUM_TOKEN=your_token_here

If the token is set and the IBM provider is available, the package will use the IBM Quantum cloud backend. Otherwise, it defaults to AerSimulator (local quantum simulation).

4. Usage

Import and use the API functions:

from qrngtools import get_random_bit, get_random_bits, get_random_int, get_random_float, get_random_string

# By default, functions return only the random value
print(get_random_bit())      # 0 or 1
print(get_random_bits(8))    # e.g. '01101001'
print(get_random_int(100))   # random int in [0, 100)
print(get_random_float())    # random float in [0, 1)
print(get_random_string(10)) # e.g. 'aB3kLmP9Qz'

# To get the randomness source as well, pass with_source=True
bit, source = get_random_bit(with_source=True)
print(bit, source)           # e.g. 1, 'quantum' or 'system'

5. CLI Usage

Generate a quantum random integer from the command line:

python -m qrngtools

6. Fallback

If Qiskit or AerSimulator is unavailable, the package automatically falls back to system randomness.

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

qrngtools-0.1.3.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

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

qrngtools-0.1.3-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file qrngtools-0.1.3.tar.gz.

File metadata

  • Download URL: qrngtools-0.1.3.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for qrngtools-0.1.3.tar.gz
Algorithm Hash digest
SHA256 35a472bf47145472269787e8aa6ae193559053c1113fa0b77c37e7bec04438d6
MD5 3e6a37d33b16340980c480fa35e39ceb
BLAKE2b-256 25da325db936a1f8f974ad1a85218366d52b9bc3cdf5e67d9a3a782e0b600f1f

See more details on using hashes here.

File details

Details for the file qrngtools-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: qrngtools-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for qrngtools-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3b180a30b4d972c2549c1fda762f84fb06bd0822b26f96537e814ae2faba5316
MD5 76e6598badc496a3f8180e36764c79e5
BLAKE2b-256 9f36916bc35db4b0cc574e21411aa8a7efdec838a0e0c28f3097ff77506bba85

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