# Getting Started

## Introduction

uniform Quantum Random Number Generation (uQRNG) from Quantum Computing Inc. (QCi) can be utilized to enhance security or to fuel true random simulations. This hardware implements a photonic-based quantum random number generation method. It exploits inherent randomness through the stochastic process of detecting single photons in superposition of time modes. The `uqrng-direct` Python package provides a framework for direct integration to use and monitor QCi’s uQRNG device. For more information on setting up QCi’s uQRNG hardware and it’s function see the uQRNG User Guide.

## Installation

Python package is availble from PyPI repository and can be installed by:

    pip install uqrng-direct

## Table of Contents

- Getting Started
- Basic Usage
  - uQRNG Sampling
    - Pulling random bits
    - Reading Raw Data from the Device
    - Additional Sampling Parameters
  - Health Tests and System Monitoring
    - Checking System Status
    - Requesting System Information
    - Running Health Tests On-Demand
    - Scheduling Health Tests
    - Health Test Results
  - Troubleshooting and Support
- uqrng_direct
  - uqrng_direct.client
    - `UqrngClient`
  - uqrng_direct.utils
    - `resultNISTdetail`
    - `resultNIST`
    - `SystemInfoDict`
    - `SysStatus`
    - `StatusDict`
    - `message_to_dict()`
    - `create_summary_table()`
    - `check_qrng_busy_error()`
- Dependencies
  - Packages