Skip to content

Integration of ANU Quantum API and SSL for secure random quantum-based analysis Human Development Index from CSV dataset

License

Notifications You must be signed in to change notification settings

rmardonesa/QuantumCitizen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuantumCitizen ⚛🌍

🚀 Overview

QuantumCitizen is an educational software developed in Ruby that explores the integration of quantum random number generation and data extraction from a Human Development Index (HDI) dataset. This project combines the power of modern APIs with CSV data manipulation, enabling the analysis of specific indicators for various countries selected based on a quantum-generated value.

🌟 Features

  • ⚛️ Quantum Number Generation: Integrates the quantum random number generator API by the Australian National University (ANU).
  • 📊 Dataset Analysis: Works with an HDI CSV dataset containing data from 1990 to 2021.
  • 🧠 Quantum-Based Selection:
    • The software uses quantum-generated values to select a country from the dataset.
    • It calculates the "best available year" based on data completeness for the selected country.
  • 🧩 Clear Interface: Provides a logical flow for querying, selection, and displaying relevant results.

🧰 Technologies & Libraries

Languages and Tools

  • Ruby: Version 3.2.0
  • CSV: Standard library for handling CSV files.

Integrations

  • ANU Quantum API: Used to generate truly random quantum values based on vacuum quantum fluctuations.

🧪 How It Works

  1. Quantum Generation:
    • The program queries the ANU API to obtain a random quantum number.
  2. Country Selection:
    • The quantum number is used as an index to select a country from the dataset (modulo the total number of countries).
  3. Best Year Determination:
    • The software evaluates available HDI data for the selected country and picks the most complete year.
  4. Data Extraction and Visualization:
    • Displays the HDI and other key indicators for the selected country and year.

📖 Setup Guide

Prerequisites

  • Ruby (Version 3.2.0 or later): Install Ruby
  • Git: To clone the repository.
  • HDI CSV dataset (already included in the repository).

Installation

  1. Clone the Repository

    git clone https://github.com/tuusuario/QuantumCitizen.git
    cd QuantumCitizen
  2. Obtain API key and SSL certificate
    You need to create an account on the official site of ANU and generate your key https://quantumnumbers.anu.edu.au
    Download a fresh SSL certificate from https://curl.se/ca/cacert.pem

  3. Set Up Environment Variables Create an .env file in the root directoy with the following content:

ANU_API_KEY=your_private_key
SSL_CERT_FILE_PATH=C:/your/local/route/cacert.pem
  1. Run the software
ruby main.rb

Project Structure

    QuantumCitizen/
  │
  ├── dataset/
  │   └── HDI.csv              # HDI dataset (1990-2021)
  │
  ├── lib/
  │   ├── country_data.rb      # Module for dataset manipulation
  │   ├── quantum_generator.rb # Module for quantum API integration
  │   └── visualizer.rb        # Optional module for future visualizations
  │
  ├── spec/                    # Tests (in development)
  ├── .env                     # Environment variables
  ├── main.rb                  # Main program entry point
  ├── Gemfile                  # Dependencies (no external gems in this project)
  ├── LICENSE                  # BSD-3 License
  └── README.md                # Project documentation

📊 Dataset

The HDI.csv file contains human development data from 1990 to 2021, including:

  • ISO3: Country code.
  • Country: Country name.
  • HDI Rank (2021): Human Development Index rank for 2021.
  • Human Development Index (by year): Human Development Index values.
  • Life Expectancy at Birth (by year): Life expectancy at birth.

⚗️ How to Use

  1. Run the program with rub main.rb
  2. The software will generate a quantum number
  3. Using the number, it will select a country from the dataset
  4. It will identify the best available year and display the HDI and other key indicators

⚖️ License

This project is licensed under the tems of the BSD-3 Clause License

See the LICENSE file for more details

🔮 Contributing

Contibutions are welcome! Follow these steps:

  1. Fork the Project

  2. Create a feature branch:

git checkout -b feature/new-feature
  1. Make your changes and commit them

  2. Open a Pull Request!

🎯 Future implementations

  • Data visualization: Add graphs using Plotly or similar libraries

  • New Dataset Integrations: Expand the analysis to other HDI metrics

About

Integration of ANU Quantum API and SSL for secure random quantum-based analysis Human Development Index from CSV dataset

Topics

Resources

License

Stars

Watchers

Forks

Languages