qrandom is a small, inspectable CLI tool for generating and maintaining local pools of random bits derived directly from measurements performed on remote quantum computing backends.
The project is minimal by design. Its primary goals are:
- clarity of entropy provenance
- reproducibility
- avoidance of unnecessary complexity
This early release focuses on simple operation and transparency.
- Retrieves measurement results from live quantum backends
- Derives random bits from those results
- Appends bits into a local bucket file on disk
- Provides a CLI to:
- fill the bucket
- inspect the bucket status
- run basic statistical health checks on the bucket
The bucket is stored locally using OS-native paths and is never transmitted elsewhere by qrandom.
- It is not a replacement for
/dev/urandom - It is not a cryptographic oracle
- It does not claim certified or provably perfect randomness
- It does not run as a background daemon or service (yet)
The current release is deliberately scoped.
- Python ≥ 3.10
- A Unix-like environment (Linux, macOS, or WSL)
- IBM Quantum account credentials (configured via
qiskit-ibm-runtime)
qrandom targets Qiskit ≥1.0 and relies on Qiskit to manage its internal components (Terra, Rustworkx, etc). Legacy Qiskit (<1.0) environments are not supported.
Clone the repository and run the provided setup script:
git clone https://github.com/LyndonShuster/qrandom
cd qrandom
./qsetup.shThe setup script will:
-
Create a local Python virtual environment
-
Install qrandom and its dependencies
-
Display the CLI help output to confirm installation
No global Python packages are modified.
Once installed, the qrandom CLI is available inside the virtual environment.
Before using the CLI, activate the virtual environment that was created during setup:
cd path/to/qrandom source venv/bin/activate
Examples:
qrandom -h
qrandom status
qrandom fill
qrandom healthstatus shows current bucket size, path, and shots per fill
fill retrieves additional quantum-derived bits
health runs basic statistical checks on the bucket
This is an early, intentionally minimal release.
v0.1.x focuses on:
- stable interfaces
- predictable behavior
- explicit handling of entropy sources
More complex features are explicitly deferred.
Apache License 2.0