From d1cc07f5065a3456b670fab74b7b27737a0147ef Mon Sep 17 00:00:00 2001
From: Nakul Desai <125589034+bravetiger01@users.noreply.github.com>
Date: Sat, 7 Jun 2025 13:14:22 +0530
Subject: [PATCH 01/17] save file to drive

---
 Save file to Drive/drive/hello.txt |  1 +
 Save file to Drive/main.py         | 66 ++++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+)
 create mode 100644 Save file to Drive/drive/hello.txt
 create mode 100644 Save file to Drive/main.py

diff --git a/Save file to Drive/drive/hello.txt b/Save file to Drive/drive/hello.txt
new file mode 100644
index 0000000..5e1c309
--- /dev/null
+++ b/Save file to Drive/drive/hello.txt	
@@ -0,0 +1 @@
+Hello World
\ No newline at end of file
diff --git a/Save file to Drive/main.py b/Save file to Drive/main.py
new file mode 100644
index 0000000..4c5daee
--- /dev/null
+++ b/Save file to Drive/main.py	
@@ -0,0 +1,66 @@
+from pydrive.auth import GoogleAuth
+from pydrive.drive import GoogleDrive
+import os
+
+# Authenticate
+gauth = GoogleAuth()
+gauth.LocalWebserverAuth()
+drive = GoogleDrive(gauth)
+
+# === Prompt for target folder ===
+target_folder_name = input("Enter the name of the target folder in Google Drive: ").strip()
+
+def get_or_create_drive_folder(folder_name, parent_id='root'):
+    """Get Drive folder ID by name or create it under given parent"""
+    query = (
+        f"title='{folder_name}' and "
+        f"mimeType='application/vnd.google-apps.folder' and "
+        f"'{parent_id}' in parents and trashed=false"
+    )
+    file_list = drive.ListFile({'q': query}).GetList()
+    if file_list:
+        print(f"Folder '{folder_name}' found in Google Drive.")
+        return file_list[0]['id']
+    else:
+        print(f"Folder '{folder_name}' not found. Creating it...")
+        folder_metadata = {
+            'title': folder_name,
+            'parents': [{'id': parent_id}],
+            'mimeType': 'application/vnd.google-apps.folder'
+        }
+        folder = drive.CreateFile(folder_metadata)
+        folder.Upload()
+        return folder['id']
+
+# === Configuration ===
+local_root = r"drive"  # Your local folder name
+drive_root_id = get_or_create_drive_folder(target_folder_name)
+
+# Folder mapping cache
+folder_mapping = {local_root: drive_root_id}
+
+# Recursively walk and upload
+for root, dirs, files in os.walk(local_root):
+    rel_path = os.path.relpath(root, local_root)
+    
+    if rel_path == '.':
+        parent_id = drive_root_id
+    else:
+        parent_local = os.path.dirname(root)
+        parent_id = folder_mapping.get(parent_local, drive_root_id)
+
+        folder_name = os.path.basename(root)
+        folder_id = get_or_create_drive_folder(folder_name, parent_id)
+        folder_mapping[root] = folder_id
+
+    for file_name in files:
+        file_path = os.path.join(root, file_name)
+        print(f"Uploading '{file_name}' to '{rel_path}'...")
+
+        file_drive = drive.CreateFile({
+            'title': file_name,
+            'parents': [{'id': folder_mapping[root]}]
+        })
+        file_drive.SetContentFile(file_path)
+        file_drive.Upload()
+        file_drive = None

From b679034b394c9ff13eff76401ed9d6858382ef23 Mon Sep 17 00:00:00 2001
From: Nakul Desai <125589034+bravetiger01@users.noreply.github.com>
Date: Sat, 7 Jun 2025 13:20:47 +0530
Subject: [PATCH 02/17] same file issue

---
 Save file to Drive/drive/hello/hello2.txt |  0
 Save file to Drive/drive/hello/hello3.txt |  0
 Save file to Drive/main.py                | 13 ++++++++++++-
 3 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 Save file to Drive/drive/hello/hello2.txt
 create mode 100644 Save file to Drive/drive/hello/hello3.txt

diff --git a/Save file to Drive/drive/hello/hello2.txt b/Save file to Drive/drive/hello/hello2.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Save file to Drive/drive/hello/hello3.txt b/Save file to Drive/drive/hello/hello3.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Save file to Drive/main.py b/Save file to Drive/main.py
index 4c5daee..881e97c 100644
--- a/Save file to Drive/main.py	
+++ b/Save file to Drive/main.py	
@@ -55,8 +55,19 @@ def get_or_create_drive_folder(folder_name, parent_id='root'):
 
     for file_name in files:
         file_path = os.path.join(root, file_name)
-        print(f"Uploading '{file_name}' to '{rel_path}'...")
 
+        # === Check if file already exists in this Drive folder ===
+        query = (
+            f"title='{file_name}' and "
+            f"'{folder_mapping[root]}' in parents and "
+            f"trashed=false"
+        )
+        existing_files = drive.ListFile({'q': query}).GetList()
+        if existing_files:
+            print(f"⏩ File '{file_name}' already exists in '{rel_path}', skipping.")
+            continue
+
+        print(f"⬆️ Uploading '{file_name}' to '{rel_path}'...")
         file_drive = drive.CreateFile({
             'title': file_name,
             'parents': [{'id': folder_mapping[root]}]

From 8d59b774fef68b29e5aedf13734023c465ac2cda Mon Sep 17 00:00:00 2001
From: Nakul Desai <125589034+bravetiger01@users.noreply.github.com>
Date: Sat, 7 Jun 2025 23:35:06 +0530
Subject: [PATCH 03/17] readme and reuirements.txt

---
 Save file to Drive/readme.md        |  77 ++++++++++++++++++++++++++++
 Save file to Drive/requirements.txt | Bin 0 -> 932 bytes
 2 files changed, 77 insertions(+)
 create mode 100644 Save file to Drive/readme.md
 create mode 100644 Save file to Drive/requirements.txt

diff --git a/Save file to Drive/readme.md b/Save file to Drive/readme.md
new file mode 100644
index 0000000..c7a3b05
--- /dev/null
+++ b/Save file to Drive/readme.md	
@@ -0,0 +1,77 @@
+
+
+# 📁 Save File and Folder to Drive
+
+A simple utility to interact with Google Drive. This project uses the Google Drive API and requires authentication via a `client_secret.json` file.
+
+## 🚀 Features
+
+* Upload files and folders to Google Drive.
+* Doesn't change folder structure
+* Easy setup for Google Drive API.
+
+---
+
+## 🛠️ Setup Instructions
+
+### 1. Clone the Repository
+
+```bash
+git clone https://github.com/yourusername/drive-thing.git
+cd drive-thing
+```
+
+### 2. Install Dependencies
+
+Make sure you have Python 3 installed.
+
+```bash
+pip install -r requirements.txt
+```
+
+### 3. Generate `client_secret.json` (Google OAuth Credentials)
+
+To access Google Drive, you’ll need OAuth 2.0 credentials:
+
+1. Go to the **Google Cloud Console**:
+   👉 [Create OAuth Credentials](https://console.cloud.google.com/apis/credentials)
+
+2. Steps:
+   * Don't forget to check project name, create new project.
+   * Search **Google Drive API**, don't get confused with Google Drive Analytics API
+   * Click Enable
+   * Go to **Credentials** on left sidebar, click **Create Credential** on top and select **OAuth client ID**
+   * You might be asked to **configure consent screen**
+   * Click on it and click Get Started
+   * Add necessary details like app name and emails, Name example: test123
+   * Click **Create**
+   * Now select **Create OAuth Client**
+   * Choose application type as **Desktop app** and leave name as it is
+   * Download the JSON file and **rename it to `client_secret.json`**
+   * Place the file in the project directory
+   * Now you would have to create test user for using this API.
+   * Select **Audience** from left Sidebar
+   * Add all necessary emails under test email and save it
+
+📝 Official Guide:
+[Using OAuth 2.0 for Installed Applications](https://developers.google.com/identity/protocols/oauth2)
+
+---
+
+## ▶️ Running the Script
+
+Once everything is set up:
+
+```bash
+python main.py
+```
+
+---
+
+## 📎 Notes
+
+* Make sure to enable the **Google Drive API** in your Google Cloud Console.
+* The first time you run the script, it will prompt you to authenticate and save a `token.json` for future use.
+
+---
+
diff --git a/Save file to Drive/requirements.txt b/Save file to Drive/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7524380f1f61488f99f481ae17e27f0f3c978be4
GIT binary patch

From 81057fe0300dcd4be1e551fc5fe14f9fc9ed65b7 Mon Sep 17 00:00:00 2001
From: Nakul Desai <125589034+bravetiger01@users.noreply.github.com>
Date: Sat, 7 Jun 2025 23:38:01 +0530
Subject: [PATCH 04/17] Update readme.md

---
 Save file to Drive/readme.md | 1 -
 1 file changed, 1 deletion(-)

diff --git a/Save file to Drive/readme.md b/Save file to Drive/readme.md
index c7a3b05..a636502 100644
--- a/Save file to Drive/readme.md	
+++ b/Save file to Drive/readme.md	
@@ -71,7 +71,6 @@ python main.py
 ## 📎 Notes
 
 * Make sure to enable the **Google Drive API** in your Google Cloud Console.
-* The first time you run the script, it will prompt you to authenticate and save a `token.json` for future use.
 
 ---
 

From 4c3332f07fb099b05c7d636b06574973ddd75b58 Mon Sep 17 00:00:00 2001
From: leftkats <left.katsinelos@gmail.com>
Date: Fri, 6 Jun 2025 16:04:26 +0300
Subject: [PATCH 05/17] feat: csv to ndjson converter script :sparkles:

---
 CONTRIBUTING.md                |  2 +-
 CSV_TO_NDJSON/README.md        | 38 +++++++++++++++++++++++++++++++++
 CSV_TO_NDJSON/csv_to_ndjson.py | 39 ++++++++++++++++++++++++++++++++++
 README.md                      |  1 +
 4 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 CSV_TO_NDJSON/README.md
 create mode 100644 CSV_TO_NDJSON/csv_to_ndjson.py

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 68ebeda..c278f13 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -28,4 +28,4 @@ If this is your first time contributing to an open source project, check out thi
 
 ## Code of Conduct
 
-We strive to maintain a welcoming and inclusive community. Please read and respect our [Code of Conduct](https://github.com/DhanushNehru/Python-Scripts/blob/master/CODE_OF_CONDUCT.md) in all your interactions.
+We strive to maintain a welcoming and inclusive community. Please read and respect our [Code of Conduct](https://github.com/DhanushNehru/Python-Scripts/blob/main/CODE_OF_CONDUCT.md) in all your interactions.
diff --git a/CSV_TO_NDJSON/README.md b/CSV_TO_NDJSON/README.md
new file mode 100644
index 0000000..4aaebdb
--- /dev/null
+++ b/CSV_TO_NDJSON/README.md
@@ -0,0 +1,38 @@
+# README.md
+
+# CSV to NDJSON Converter
+
+This Python script converts a CSV file located in this folder into an NDJSON file saved in the same folder.
+
+## What is NDJSON?
+
+NDJSON (Newline Delimited JSON) is a convenient format for streaming JSON objects, where each line is a valid JSON object.  
+It’s widely used in data pipelines and tools such as **Google Cloud BigQuery**, **ElasticSearch**, and many other data processing platforms.
+
+## How to use
+
+1. Place your CSV file in this folder.
+2. Make sure you have Python 3 installed.
+3. Run the script from this folder with:
+
+   ```bash
+   python csv_to_ndjson.py input.csv output.ndjson
+
+
+#### Example 
+If you have a CSV file like this:
+
+```csv
+name,age,city
+Alice,30,New York
+Bob,25,Los Angeles
+```
+
+The output NDJSON will be:
+
+```json
+{"name":"Alice","age":"30","city":"New York"}
+{"name":"Bob","age":"25","city":"Los Angeles"}
+```
+
+Feel free to modify or extend it as needed.
diff --git a/CSV_TO_NDJSON/csv_to_ndjson.py b/CSV_TO_NDJSON/csv_to_ndjson.py
new file mode 100644
index 0000000..100da9c
--- /dev/null
+++ b/CSV_TO_NDJSON/csv_to_ndjson.py
@@ -0,0 +1,39 @@
+# csv_to_ndjson.py
+import csv
+import json
+import sys
+import os
+
+
+def csv_to_ndjson(csv_filename, ndjson_filename):
+    base_dir = os.path.dirname(os.path.abspath(__file__))
+
+    csv_path = os.path.join(base_dir, csv_filename)
+    ndjson_path = os.path.join(base_dir, ndjson_filename)
+
+    try:
+        with (
+            open(csv_path, mode="r", encoding="utf-8") as f_csv,
+            open(ndjson_path, mode="w", encoding="utf-8") as f_ndjson,
+        ):
+            reader = csv.DictReader(f_csv)
+            for row in reader:
+                f_ndjson.write(
+                    json.dumps(row, ensure_ascii=False, separators=(",", ":")) + "\n"
+                )
+
+        print(f"Successfully converted '{csv_path}' to '{ndjson_path}'")
+
+    except FileNotFoundError:
+        print(f"Error: CSV file '{csv_path}' not found.")
+    except Exception as e:
+        print(f"An error occurred: {e}")
+
+
+if __name__ == "__main__":
+    if len(sys.argv) != 3:
+        print("Usage: python csv_to_ndjson.py input.csv output.ndjson")
+    else:
+        csv_file = sys.argv[1]
+        ndjson_file = sys.argv[2]
+        csv_to_ndjson(csv_file, ndjson_file)
diff --git a/README.md b/README.md
index 7e0f239..780ebb0 100644
--- a/README.md
+++ b/README.md
@@ -53,6 +53,7 @@ More information on contributing and the general code of conduct for discussion
 | Countdown Timer                          | [Countdown Timer](https://github.com/DhanushNehru/Python-Scripts/tree/main/Countdown%20Timer)                                                          | Displays a message when the Input time elapses.                                                                                                                   |
 | Crop Images                              | [Crop Images](https://github.com/DhanushNehru/Python-Scripts/tree/main/Crop%20Images)                                                                  | A Python script to crop a given image.                                                                                                                            |
 | CSV to Excel                             | [CSV to Excel](https://github.com/DhanushNehru/Python-Scripts/tree/main/CSV%20to%20Excel)                                                              | A Python script to convert a CSV to an Excel file.                                                                                                                |
+| CSV_TO_NDJSON                             | [CSV to Excel](https://github.com/DhanushNehru/Python-Scripts/tree/main/CSV_TO_NDJSON)                                                              | A Python script to convert a CSV to an NDJSON files file.                                                                                                                |
 | Currency Script                          | [Currency Script](https://github.com/DhanushNehru/Python-Scripts/tree/main/Currency%20Script)                                                          | A Python script to convert the currency of one country to that of another.                                                                                        |
 | Digital Clock                            | [Digital Clock](https://github.com/DhanushNehru/Python-Scripts/tree/main/Digital%20Clock)                                                              | A Python script to preview a digital clock in the terminal.                                                                                                       |
 | Display Popup Window                     | [Display Popup Window](https://github.com/DhanushNehru/Python-Scripts/tree/main/Display%20Popup%20Window)                                              | A Python script to preview a GUI interface to the user.                                                                                                           |

From f5b080c72fafa303d202c3cbd78d2ac8ab31c14c Mon Sep 17 00:00:00 2001
From: Sue Lim <sue.p.lim@gmail.com>
Date: Mon, 9 Jun 2025 20:06:30 +0800
Subject: [PATCH 06/17] Refactored currencies.py to handle currency logic only

---
 Currency Script/.idea/Currency Script.iml |  4 +-
 Currency Script/.idea/misc.xml            |  3 +
 Currency Script/src/currencies.py         | 71 +++++++----------------
 3 files changed, 28 insertions(+), 50 deletions(-)

diff --git a/Currency Script/.idea/Currency Script.iml b/Currency Script/.idea/Currency Script.iml
index f552a87..1d27ed6 100644
--- a/Currency Script/.idea/Currency Script.iml	
+++ b/Currency Script/.idea/Currency Script.iml	
@@ -1,7 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module type="PYTHON_MODULE" version="4">
   <component name="NewModuleRootManager">
-    <content url="file://$MODULE_DIR$" />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+    </content>
     <orderEntry type="jdk" jdkName="Python 3.13 (github)" jdkType="Python SDK" />
     <orderEntry type="sourceFolder" forTests="false" />
   </component>
diff --git a/Currency Script/.idea/misc.xml b/Currency Script/.idea/misc.xml
index 84dd86c..e939a18 100644
--- a/Currency Script/.idea/misc.xml	
+++ b/Currency Script/.idea/misc.xml	
@@ -1,4 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
+  <component name="Black">
+    <option name="sdkName" value="Python 3.13 (github)" />
+  </component>
   <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.13 (github)" project-jdk-type="Python SDK" />
 </project>
\ No newline at end of file
diff --git a/Currency Script/src/currencies.py b/Currency Script/src/currencies.py
index 409605f..1c387a4 100644
--- a/Currency Script/src/currencies.py	
+++ b/Currency Script/src/currencies.py	
@@ -1,56 +1,29 @@
-# TODO REVIEW BELOW CODE TO ENSURE THAT WHAT IS IN THIS MODULE FOR FUNCTION RECALLING CURRENCY FROM API
-# Importing necessary modules for currency formatting and HTTP requests
-from locale import currency
-import requests
-import json
+from api_handler import get_exchange_data
 
-# Get the base currency input from the user and convert it to lowercase
-currency = input("Enter the base currency (e.g., USD, EUR): ").lower()
+# Returns a list of all supported currency codes.
+def get_supported_currencies(rates):
+    return list(rates.keys())
 
-# Initialize an empty cache to store exchange rates
-cache = {}
+# Checks if a currency code is supported.
+def is_valid_currency(currency_code, rates):
+    return currency_code.upper() in rates
 
-# Infinite loop to process exchange requests until the user exits
-while True:
+# --- DEBUG / MANUAL TEST SECTION ---
+# This section runs only when you run this file directly (not when imported elsewhere)
+if __name__ == "__main__":
+    # Fetch live exchange data from the API
+    exchange_data = get_exchange_data()
 
-    # Get the target currency input from the user and convert it to lowercase
-    currency_exch = input("Enter the currency to exchange to (leave blank to exit): ").lower()
+    # Print the first 5 currencies for quick inspection
+    print("Sample of live rates from API:")
+    print(list(exchange_data["rates"].items())[:5])
 
-    # If the input is blank, break out of the loop (exit condition)
-    if currency_exch == '':
-        break
+    # Sample rates dictionary for local testing
+    rates_example = {"USD": 1.12, "EUR": 1.0, "GBP": 0.87}
 
-    # Get the amount to exchange from the user
-    amount_to_exch = int(input("Enter the amount to exchange: "))
+    # Print supported currencies
+    print("\nSupported currencies:", get_supported_currencies(rates_example))
 
-    # URL for getting exchange rates from floatrates.com
-    URL = f'http://www.floatrates.com/daily/{currency}.json'
-
-    # Fetch the exchange rates in JSON format
-    exch = json.loads(requests.get(URL).text)
-
-    # Update cache for USD and EUR based on the base currency
-    if currency == 'usd':
-        # If base currency is USD, cache EUR rate
-        cache.update(eur=exch['eur']['rate'])
-    elif currency == 'eur':
-        # If base currency is EUR, cache USD rate
-        cache.update(usd=exch['usd']['rate'])
-    else:
-        # For other base currencies, cache both USD and EUR rates
-        cache.update(usd=exch['usd']['rate'], eur=exch['eur']['rate'])
-
-    print("Checking the cache...")
-
-    # Check if the target currency's rate is in the cache
-    if currency_exch in cache:
-        # If the rate is in the cache, calculate the exchanged amount
-        rate = round(amount_to_exch * cache[currency_exch], 2)
-        print("Oh! It is in the cache!")
-        print(f"You received {rate} {currency_exch.upper()}.")
-    else:
-        # If the rate is not in the cache, fetch it from the exchange rates and store it in cache
-        print("Sorry, but it is not in the cache!")
-        cache[currency_exch] = exch[currency_exch]['rate']
-        rate = round(amount_to_exch * cache[currency_exch], 2)
-        print(f"You received {rate} {currency_exch.upper()}.")
+    # Check a few currency codes
+    print("Is 'usd' valid?", is_valid_currency("usd", rates_example))   # True
+    print("Is 'AUD' valid?", is_valid_currency("AUD", rates_example))  # False
\ No newline at end of file

From 62604ad9019634549db5c184b581728ebecf5176 Mon Sep 17 00:00:00 2001
From: Sue Lim <sue.p.lim@gmail.com>
Date: Wed, 11 Jun 2025 16:30:06 +0800
Subject: [PATCH 07/17] Converter.py refactored to contain currency converter
 logic only

---
 Currency Script/src/converter.py | 57 +++++++++++++++-----------------
 1 file changed, 26 insertions(+), 31 deletions(-)

diff --git a/Currency Script/src/converter.py b/Currency Script/src/converter.py
index fbcc027..5d1a74e 100644
--- a/Currency Script/src/converter.py	
+++ b/Currency Script/src/converter.py	
@@ -1,39 +1,34 @@
-# TODO REVIEW AND ENSURE THE PURPOSE OF THIS MODULE IS TO CONVERT
-# Python program to convert the currency
-# of one country to that of another country
+from api_handler import get_exchange_data
 
-# Import the modules needed
-import requests
-
-class Currency_convertor:
-    # empty dict to store the conversion rates
-    rates = {}
-    
-    def __init__(self, url):
-        data = requests.get(url).json()
-        # Extracting only the rates from the json data
+class CurrencyConverter:
+    def __init__(self):
+        data = get_exchange_data()
         self.rates = data["rates"]
 
-    # function to do a simple cross multiplication between
-    # the amount and the conversion rates
-    def convert(self, from_currency, to_currency, amount):
-        initial_amount = amount
-        if from_currency != 'EUR':
-            amount = amount / self.rates[from_currency]
+    def convert(self, from_currency: str, to_currency: str, amount: float) -> float:
+        from_currency = from_currency.upper()
+        to_currency = to_currency.upper()
+
+        if from_currency not in self.rates or to_currency not in self.rates:
+            raise ValueError("Invalid currency code.")
 
-        # limiting the precision to 2 decimal places
-        amount = round(amount * self.rates[to_currency], 2)
-        print('{} {} = {} {}'.format(initial_amount, from_currency, amount, to_currency))
+        # Convert amount to base (EUR), then to target
+        amount_in_base = amount if from_currency == "EUR" else amount / self.rates[from_currency]
+        converted_amount = round(amount_in_base * self.rates[to_currency], 2)
+        return converted_amount
 
-# Driver code
+# --- DEBUG / MANUAL TEST SECTION ---
 if __name__ == "__main__":
+    print("Running manual test for CurrencyConverter...\n")
 
-    YOUR_ACCESS_KEY = 'YOUR_ACCESS_KEY_HERE'  # Define your access key
-    url = f'http://data.fixer.io/api/latest?access_key={YOUR_ACCESS_KEY}'  # Use f-string for cleaner concatenation
-    c = Currency_convertor(url)
-    
-    from_country = input("From Country (currency code): ")
-    to_country = input("To Country (currency code): ")
-    amount = float(input("Amount: "))  # Use float for decimal support
+    converter = CurrencyConverter()
+    from_cur = "USD"
+    to_cur = "AUD"
+    amt = 100.0
 
-    c.convert(from_country, to_country, amount)
+    print(f"Converting {amt} {from_cur} to {to_cur}...")
+    try:
+        result = converter.convert(from_cur, to_cur, amt)
+        print(f"{amt} {from_cur} = {result} {to_cur}")
+    except ValueError as e:
+        print("Error during conversion:", e)
\ No newline at end of file

From a0451f799612562202a266e7d513234623fd4599 Mon Sep 17 00:00:00 2001
From: Sue Lim <sue.p.lim@gmail.com>
Date: Wed, 11 Jun 2025 16:31:26 +0800
Subject: [PATCH 08/17] Updated API Link

---
 Currency Script/src/api_handler.py | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/Currency Script/src/api_handler.py b/Currency Script/src/api_handler.py
index 226c88d..6f3ed23 100644
--- a/Currency Script/src/api_handler.py	
+++ b/Currency Script/src/api_handler.py	
@@ -1,18 +1,21 @@
 import requests
-import json
 
-def get_exchange_data(api_url: str = "https://theratesapi.com/api/latest/") -> dict:
+def get_exchange_data(api_url: str = "https://open.er-api.com/v6/latest") -> dict:
     """Fetch latest exchange data from the API."""
     response = requests.get(api_url)
     if response.status_code != 200:
         raise Exception(f"API request failed with status {response.status_code}")
 
     data = response.json()
-    return data  # This includes 'base', 'date', and 'rates'
+    # Ensure response was successful
+    if data.get("result") != "success":
+        raise Exception(f"API returned error: {data.get('error-type', 'Unknown error')}")
+
+    return data  # Includes 'base_code', 'time_last_update_utc', and 'rates'
 
 # NOTE - for logging & debugging
 if __name__ == "__main__":
     exchange_data = get_exchange_data()
-    print("Base currency:", exchange_data["base"])
-    print("Date:", exchange_data["date"])
+    print("Base currency:", exchange_data["base_code"])
+    print("Date:", exchange_data["time_last_update_utc"])
     print("Rates:", list(exchange_data["rates"].items())[:5])

From 450f78461b9a7e1d47d51f71edc56d36d42d63e5 Mon Sep 17 00:00:00 2001
From: Dhanush <dhanushxenocrate@gmail.com>
Date: Wed, 11 Jun 2025 16:59:21 +0530
Subject: [PATCH 09/17] Update README.md

---
 README.md | 1 -
 1 file changed, 1 deletion(-)

diff --git a/README.md b/README.md
index 780ebb0..c82e073 100644
--- a/README.md
+++ b/README.md
@@ -174,7 +174,6 @@ You can use Gitpod in the cloud [![Gitpod Ready-to-Code](https://img.shields.io/
 <img src="https://contrib.rocks/image?repo=DhanushNehru/Python-Scripts" />
 </a>
 
-</br>
 
 If you liked this repository, support it by starring ⭐
 

From c7d1f2d5a6f7790348b590f8d4dcc7516ed03128 Mon Sep 17 00:00:00 2001
From: Sue Lim <sue.p.lim@gmail.com>
Date: Thu, 12 Jun 2025 20:30:05 +0800
Subject: [PATCH 10/17] Converter.py Doc Strings Updated

---
 Currency Script/src/converter.py | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/Currency Script/src/converter.py b/Currency Script/src/converter.py
index 5d1a74e..faa21d6 100644
--- a/Currency Script/src/converter.py	
+++ b/Currency Script/src/converter.py	
@@ -1,3 +1,7 @@
+"""
+CurrencyConverter: Converts an amount from one currency to another using live exchange rates.
+"""
+
 from api_handler import get_exchange_data
 
 class CurrencyConverter:
@@ -6,6 +10,20 @@ def __init__(self):
         self.rates = data["rates"]
 
     def convert(self, from_currency: str, to_currency: str, amount: float) -> float:
+        """
+        Convert amount between two currencies.
+
+        Args:
+            from_currency: Source currency code (e.g., 'USD')
+            to_currency: Target currency code (e.g., 'AUD')
+            amount: Amount to convert
+
+        Returns:
+            Converted amount as float
+
+        Raises:
+            ValueError: If a currency code is invalid
+        """
         from_currency = from_currency.upper()
         to_currency = to_currency.upper()
 
@@ -17,7 +35,7 @@ def convert(self, from_currency: str, to_currency: str, amount: float) -> float:
         converted_amount = round(amount_in_base * self.rates[to_currency], 2)
         return converted_amount
 
-# --- DEBUG / MANUAL TEST SECTION ---
+# --- DEBUG / MANUAL TEST ---
 if __name__ == "__main__":
     print("Running manual test for CurrencyConverter...\n")
 

From dbca250486883952e11edccb5a95545e45dee1c5 Mon Sep 17 00:00:00 2001
From: Sue Lim <sue.p.lim@gmail.com>
Date: Sat, 14 Jun 2025 11:45:58 +0800
Subject: [PATCH 11/17] .\main.py

---
 Currency Script/{readme.txt => readme.md}     |   0
 Currency Script/tests/__init__.py             |   0
 .../__pycache__/__init__.cpython-313.pyc      | Bin 0 -> 253 bytes
 ...t_api_handler.cpython-313-pytest-8.3.5.pyc | Bin 0 -> 2555 bytes
 ...est_converter.cpython-313-pytest-8.3.5.pyc | Bin 0 -> 2748 bytes
 ...st_currencies.cpython-313-pytest-8.3.5.pyc | Bin 0 -> 2525 bytes
 Currency Script/tests/test_api_handler.py     |  37 ++++++++++++++++++
 Currency Script/tests/test_converter.py       |  33 ++++++++++++++++
 Currency Script/tests/test_currencies.py      |  33 ++++++++++++++++
 9 files changed, 103 insertions(+)
 rename Currency Script/{readme.txt => readme.md} (100%)
 create mode 100644 Currency Script/tests/__init__.py
 create mode 100644 Currency Script/tests/__pycache__/__init__.cpython-313.pyc
 create mode 100644 Currency Script/tests/__pycache__/test_api_handler.cpython-313-pytest-8.3.5.pyc
 create mode 100644 Currency Script/tests/__pycache__/test_converter.cpython-313-pytest-8.3.5.pyc
 create mode 100644 Currency Script/tests/__pycache__/test_currencies.cpython-313-pytest-8.3.5.pyc
 create mode 100644 Currency Script/tests/test_api_handler.py
 create mode 100644 Currency Script/tests/test_converter.py
 create mode 100644 Currency Script/tests/test_currencies.py

diff --git a/Currency Script/readme.txt b/Currency Script/readme.md
similarity index 100%
rename from Currency Script/readme.txt
rename to Currency Script/readme.md
diff --git a/Currency Script/tests/__init__.py b/Currency Script/tests/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/Currency Script/tests/__pycache__/__init__.cpython-313.pyc b/Currency Script/tests/__pycache__/__init__.cpython-313.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..52c26ecd042b37638f0c98822c5fcc345f9f3f13
GIT binary patch
diff --git a/Currency Script/tests/__pycache__/test_api_handler.cpython-313-pytest-8.3.5.pyc b/Currency Script/tests/__pycache__/test_api_handler.cpython-313-pytest-8.3.5.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..adca8b354e254993560a2e5a229bda372082cc19
GIT binary patch
diff --git a/Currency Script/tests/__pycache__/test_converter.cpython-313-pytest-8.3.5.pyc b/Currency Script/tests/__pycache__/test_converter.cpython-313-pytest-8.3.5.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..020a50ff2c09de0439e7a5147d74004aa23a72f9
GIT binary patch
diff --git a/Currency Script/tests/__pycache__/test_currencies.cpython-313-pytest-8.3.5.pyc b/Currency Script/tests/__pycache__/test_currencies.cpython-313-pytest-8.3.5.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..adf1456a3126b9b5799b0049468f27033360830e
GIT binary patch
diff --git a/Currency Script/tests/test_api_handler.py b/Currency Script/tests/test_api_handler.py
new file mode 100644
index 0000000..50faa77
--- /dev/null
+++ b/Currency Script/tests/test_api_handler.py	
@@ -0,0 +1,37 @@
+import sys
+import os
+sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../src')))
+
+import unittest
+from unittest.mock import patch
+from src.api_handler import get_exchange_data
+
+class TestAPIHandler(unittest.TestCase):
+    """
+    Unit tests for the get_exchange_data function in api_handler.py.
+    """
+    @patch("api_handler.requests.get")
+    def test_get_exchange_data_success(self, mock_get):
+        mock_get.return_value.status_code = 200
+        mock_get.return_value.json.return_value = {
+            "base": "EUR",
+            "date": "2025-06-02",
+            "rates": {"USD": 1.14, "GBP": 0.84}
+        }
+
+        data = get_exchange_data()
+        self.assertEqual(data["base"], "EUR")
+        self.assertIn("USD", data["rates"])
+
+    @patch("api_handler.requests.get")
+    def test_get_exchange_data_failure(self, mock_get):
+        """
+        Test that get_exchange_data raises an exception when API response fails.
+        """
+        mock_get.return_value.status_code = 404
+        with self.assertRaises(Exception):
+            get_exchange_data()
+
+if __name__ == "__main__":
+    unittest.main()
+
diff --git a/Currency Script/tests/test_converter.py b/Currency Script/tests/test_converter.py
new file mode 100644
index 0000000..c6c4707
--- /dev/null
+++ b/Currency Script/tests/test_converter.py	
@@ -0,0 +1,33 @@
+import unittest
+from converter import CurrencyConverter
+
+class TestCurrencyConverter(unittest.TestCase):
+    """Unit tests for CurrencyConverter class."""
+
+    @classmethod
+    def setUpClass(cls):
+        """Initialize converter once for all tests."""
+        cls.converter = CurrencyConverter()
+
+    def test_valid_conversion(self):
+        """Test converting from USD to EUR returns a float value."""
+        result = self.converter.convert("USD", "EUR", 100)
+        self.assertIsInstance(result, float)
+        self.assertGreater(result, 0)
+
+    def test_same_currency(self):
+        """Test converting a currency to itself returns the same amount."""
+        amount = 50
+        result = self.converter.convert("USD", "USD", amount)
+        self.assertAlmostEqual(result, amount, places=2)
+
+    def test_invalid_currency(self):
+        """Test invalid currency codes raise ValueError."""
+        with self.assertRaises(ValueError):
+            self.converter.convert("XXX", "EUR", 100)
+
+        with self.assertRaises(ValueError):
+            self.converter.convert("USD", "YYY", 100)
+
+if __name__ == "__main__":
+    unittest.main()
diff --git a/Currency Script/tests/test_currencies.py b/Currency Script/tests/test_currencies.py
new file mode 100644
index 0000000..f79a116
--- /dev/null
+++ b/Currency Script/tests/test_currencies.py	
@@ -0,0 +1,33 @@
+import unittest
+from currencies import get_supported_currencies, is_valid_currency
+
+class TestCurrencies(unittest.TestCase):
+    """Unit tests for currency helper functions."""
+
+    def setUp(self):
+        """Set up sample rates dictionary for use in tests."""
+        self.sample_rates = {
+            "USD": 1.1,
+            "EUR": 1.0,
+            "GBP": 0.85,
+            "JPY": 150.0
+        }
+
+    def test_get_supported_currencies(self):
+        """Test that all currency codes are returned correctly."""
+        expected = ["USD", "EUR", "GBP", "JPY"]
+        result = get_supported_currencies(self.sample_rates)
+        self.assertListEqual(sorted(result), sorted(expected))
+
+    def test_is_valid_currency_true(self):
+        """Test that valid currency codes return True."""
+        self.assertTrue(is_valid_currency("usd", self.sample_rates))
+        self.assertTrue(is_valid_currency("EUR", self.sample_rates))
+
+    def test_is_valid_currency_false(self):
+        """Test that unsupported currency codes return False."""
+        self.assertFalse(is_valid_currency("ABC", self.sample_rates))
+        self.assertFalse(is_valid_currency("xyz", self.sample_rates))
+
+if __name__ == "__main__":
+    unittest.main()

From 6c7e02b87c4faffbb5746b2466ede47cc6d19d9d Mon Sep 17 00:00:00 2001
From: Sue Lim <sue.p.lim@gmail.com>
Date: Sat, 14 Jun 2025 11:47:10 +0800
Subject: [PATCH 12/17] Updated Main.py, Readme, Requirements, Docstrings,
 Tests Files

---
 Currency Script/main.py            | 40 +++++++++++++++++++--
 Currency Script/readme.md          | 58 +++++++++++++++++++++++++++++-
 Currency Script/requirements.txt   |  2 +-
 Currency Script/setup.py           | 10 +++++-
 Currency Script/src/api_handler.py | 16 ++++++---
 Currency Script/src/converter.py   |  7 ++--
 Currency Script/src/currencies.py  | 21 +++++++++--
 7 files changed, 138 insertions(+), 16 deletions(-)

diff --git a/Currency Script/main.py b/Currency Script/main.py
index ed705b9..f364303 100644
--- a/Currency Script/main.py	
+++ b/Currency Script/main.py	
@@ -1,2 +1,38 @@
-# TODO IMPORT API / CONVERTER / CURRENCY MODULES
-# TODO UPDATE / POPULATE MAIN TO ENSURE THERE IS A INTUITIVE SIMPLE UI
\ No newline at end of file
+"""
+main.py - Simple CLI interface for Currency Converter
+
+Prompts user for input currencies and amount, and displays the converted value.
+"""
+
+from converter import CurrencyConverter
+
+def main():
+    """
+    Run the interactive currency converter CLI loop.
+    Prompts user for source and target currencies and amount to convert.
+    Continues until the user types 'no' to exit.
+    """
+    print("Welcome to the Currency Converter\n")
+
+    converter = CurrencyConverter()
+
+    while True:
+        try:
+            from_currency = input("Enter source currency code (e.g., AUD): ").strip().upper()
+            to_currency = input("Enter target currency code (e.g., USD): ").strip().upper()
+            amount = float(input(f"Enter amount in {from_currency}: "))
+
+            converted = converter.convert(from_currency, to_currency, amount)
+            print(f"\n✅ {amount} {from_currency} = {converted} {to_currency}\n")
+
+        except ValueError as e:
+            print(f"❌ Error: {e}\n")
+
+        # Ask to convert another or exit
+        again = input("Do you want to convert another amount? (yes/no): ").strip().lower()
+        if again != "yes":
+            print("Thank you for using the Currency Converter. Goodbye!")
+            break
+
+if __name__ == "__main__":
+    main()
diff --git a/Currency Script/readme.md b/Currency Script/readme.md
index 3202240..8fed161 100644
--- a/Currency Script/readme.md	
+++ b/Currency Script/readme.md	
@@ -1 +1,57 @@
-# TODO - UPDATE README
\ No newline at end of file
+Currency Converter
+==================
+
+A simple Python CLI application that converts an amount from one currency to another
+using live exchange rates fetched from an open API.
+
+Modules:
+--------
+
+1. **api_handler.py**
+   - Handles fetching exchange rate data from the online API.
+
+2. **currencies.py**
+   - Provides utility functions to list supported currencies and validate currency codes.
+
+3. **converter.py**
+   - Contains the core logic to convert between currencies using the exchange rates.
+
+4. **main.py**
+   - CLI interface where users input the currencies and amount to convert.
+
+5. **test_*.py**
+   - Unit tests for each module to ensure functionality.
+
+Requirements:
+-------------
+- Python 3.7+
+- `requests` library
+
+Install dependencies:
+---------------------
+Run the following command to install dependencies:
+- pip install -r requirements.txt
+
+How to Use:
+-----------
+Run the main script from the terminal:
+
+Follow the prompts to enter:
+- Source currency code (e.g., USD)
+- Target currency code (e.g., AUD)
+- Amount to convert
+
+The app will display the converted amount and allow you to repeat or exit.
+
+Testing:
+--------
+To run tests:
+- python -m unittest discover
+
+Note:
+-----
+The conversion is based on live exchange rates retrieved from:
+https://open.er-api.com/v6/latest
+
+Make sure you are connected to the internet when running the app.
+
diff --git a/Currency Script/requirements.txt b/Currency Script/requirements.txt
index ef92400..663bd1f 100644
--- a/Currency Script/requirements.txt	
+++ b/Currency Script/requirements.txt	
@@ -1 +1 @@
-# TODO - UPDATE REQUIREMENTS TO NOTE INSTALLS ARE NOTED
\ No newline at end of file
+requests
\ No newline at end of file
diff --git a/Currency Script/setup.py b/Currency Script/setup.py
index d132278..de3a610 100644
--- a/Currency Script/setup.py	
+++ b/Currency Script/setup.py	
@@ -1 +1,9 @@
-# UPDATE SETUP TO NOTE SET UP / PACKAGES
\ No newline at end of file
+from setuptools import setup
+
+setup(
+    name="currency_converter",
+    version="0.1",
+    install_requires=[
+        "requests"
+    ],
+)
\ No newline at end of file
diff --git a/Currency Script/src/api_handler.py b/Currency Script/src/api_handler.py
index 6f3ed23..8a8f192 100644
--- a/Currency Script/src/api_handler.py	
+++ b/Currency Script/src/api_handler.py	
@@ -1,15 +1,23 @@
 import requests
 
 def get_exchange_data(api_url: str = "https://open.er-api.com/v6/latest") -> dict:
-    """Fetch latest exchange data from the API."""
+    """
+    Retrieve the latest foreign exchange rates from the specified API.
+
+    Args:
+        api_url (str): Endpoint to fetch exchange data from. Defaults to the open.er-api URL.
+
+    Returns:
+        dict: A dictionary containing the base currency, timestamp, and exchange rates.
+
+    Raises:
+        Exception: If the API request fails or returns a non-200 status.
+    """
     response = requests.get(api_url)
     if response.status_code != 200:
         raise Exception(f"API request failed with status {response.status_code}")
 
     data = response.json()
-    # Ensure response was successful
-    if data.get("result") != "success":
-        raise Exception(f"API returned error: {data.get('error-type', 'Unknown error')}")
 
     return data  # Includes 'base_code', 'time_last_update_utc', and 'rates'
 
diff --git a/Currency Script/src/converter.py b/Currency Script/src/converter.py
index faa21d6..df03f70 100644
--- a/Currency Script/src/converter.py	
+++ b/Currency Script/src/converter.py	
@@ -1,7 +1,3 @@
-"""
-CurrencyConverter: Converts an amount from one currency to another using live exchange rates.
-"""
-
 from api_handler import get_exchange_data
 
 class CurrencyConverter:
@@ -35,7 +31,8 @@ def convert(self, from_currency: str, to_currency: str, amount: float) -> float:
         converted_amount = round(amount_in_base * self.rates[to_currency], 2)
         return converted_amount
 
-# --- DEBUG / MANUAL TEST ---
+# --- DEBUG / MANUAL TEST SECTION ---
+# This section runs only when you run this file directly (not when imported elsewhere)
 if __name__ == "__main__":
     print("Running manual test for CurrencyConverter...\n")
 
diff --git a/Currency Script/src/currencies.py b/Currency Script/src/currencies.py
index 1c387a4..ba5be17 100644
--- a/Currency Script/src/currencies.py	
+++ b/Currency Script/src/currencies.py	
@@ -1,11 +1,28 @@
 from api_handler import get_exchange_data
 
-# Returns a list of all supported currency codes.
 def get_supported_currencies(rates):
+    """
+    Return a list of supported currency codes from the rates dictionary.
+
+    Args:
+        rates (dict): Dictionary of currency codes and their exchange rates.
+
+    Returns:
+        list: List of supported currency codes (e.g., ['USD', 'EUR']).
+    """
     return list(rates.keys())
 
-# Checks if a currency code is supported.
 def is_valid_currency(currency_code, rates):
+    """
+    Check if the given currency code is valid and supported.
+
+    Args:
+        currency_code (str): Currency code to validate (e.g., 'USD').
+        rates (dict): Dictionary of available exchange rates.
+
+    Returns:
+        bool: True if the currency code exists in the rates, False otherwise.
+    """
     return currency_code.upper() in rates
 
 # --- DEBUG / MANUAL TEST SECTION ---

From 62ed597a75daa63b03608be1559cdb693e461ef7 Mon Sep 17 00:00:00 2001
From: Nakul Desai <nakuldesai2006@gmail.com>
Date: Sat, 14 Jun 2025 10:38:23 +0530
Subject: [PATCH 13/17] updated readme

---
 Save file to Drive/readme.md | 13 +++----------
 1 file changed, 3 insertions(+), 10 deletions(-)

diff --git a/Save file to Drive/readme.md b/Save file to Drive/readme.md
index c7a3b05..df73027 100644
--- a/Save file to Drive/readme.md	
+++ b/Save file to Drive/readme.md	
@@ -2,7 +2,7 @@
 
 # 📁 Save File and Folder to Drive
 
-A simple utility to interact with Google Drive. This project uses the Google Drive API and requires authentication via a `client_secret.json` file.
+A simple utility to interact with Google Drive. This project uses the Google Drive API and requires authentication via  `client_secret.json` file.
 
 ## 🚀 Features
 
@@ -14,14 +14,7 @@ A simple utility to interact with Google Drive. This project uses the Google Dri
 
 ## 🛠️ Setup Instructions
 
-### 1. Clone the Repository
-
-```bash
-git clone https://github.com/yourusername/drive-thing.git
-cd drive-thing
-```
-
-### 2. Install Dependencies
+### 1. Install Dependencies
 
 Make sure you have Python 3 installed.
 
@@ -29,7 +22,7 @@ Make sure you have Python 3 installed.
 pip install -r requirements.txt
 ```
 
-### 3. Generate `client_secret.json` (Google OAuth Credentials)
+### 2. Generate `client_secret.json` (Google OAuth Credentials)
 
 To access Google Drive, you’ll need OAuth 2.0 credentials:
 

From bd3d321f7a47138ad03370cef85c2a68bfbb200e Mon Sep 17 00:00:00 2001
From: Nakul Desai <125589034+bravetiger01@users.noreply.github.com>
Date: Sat, 14 Jun 2025 22:58:49 +0530
Subject: [PATCH 14/17] Update main README.md

---
 README.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/README.md b/README.md
index ff757cb..b7a9ba0 100644
--- a/README.md
+++ b/README.md
@@ -129,6 +129,7 @@ General code of conduct for discussion and feedback in this repo can be found he
 | Rock Paper Scissor 1                     | [Rock Paper Scissor 1](https://github.com/DhanushNehru/Python-Scripts/tree/master/Rock%20Paper%20Scissor%201)                                            | A game of Rock Paper Scissors.                                                                                                                                    |
 | Rock Paper Scissor 2                     | [Rock Paper Scissor 2](https://github.com/DhanushNehru/Python-Scripts/tree/master/Rock%20Paper%20Scissor%202)                                            | A new version game of Rock Paper Scissors.                                                                                                                        |
 | Run Then Notify                          | [Run Then Notify](https://github.com/DhanushNehru/Python-Scripts/tree/master/Run%20Then%20Notify)                                                        | Runs a slow command and emails you when it completes execution.                                                                                                   |
+| Save File To Drive                       | [Save File To Drive](https://github.com/DhanushNehru/Python-Scripts/tree/master/Save%20file%20to%20Drive)                                                | Saves all files and folder with proper structure from a folder to drive easily through a python script .                                                                                                                                    |
 | Selfie with Python                       | [Selfie with Python](https://github.com/DhanushNehru/Python-Scripts/tree/master/Selfie%20with%20Python)                                                  | Take your selfie with python .                                                                                                                                    |
 | Simple DDOS                              | [Simple DDOS](https://github.com/VanshajR/Python-Scripts/tree/master/Simple%20DDOS)                                                                      | The code allows you to send multiple HTTP requests concurrently for a specified duration.                                                                         |
 | Simple TCP Chat Server                   | [Simple TCP Chat Server](https://github.com/DhanushNehru/Python-Scripts/tree/master/TCP%20Chat%20Server)                                                 | Creates a local server on your LAN for receiving and sending messages!                                                                                            |

From e1707ecbea328e784ffef9c9e1704d804e4cbae3 Mon Sep 17 00:00:00 2001
From: Nakul Desai <125589034+bravetiger01@users.noreply.github.com>
Date: Sat, 14 Jun 2025 23:08:02 +0530
Subject: [PATCH 15/17] Update main README.md 2

---
 README.md | 246 +++++++++++++++++++++++++++---------------------------
 1 file changed, 122 insertions(+), 124 deletions(-)

diff --git a/README.md b/README.md
index b7a9ba0..9a97f51 100644
--- a/README.md
+++ b/README.md
@@ -33,136 +33,135 @@ _**Note: Please follow the maintainer of the repository for quick approval of th
 
 **NOTE:** Remember to close your issues once your PR has been merged! They can be reopened if needed.
 
-More information on contributing can be found here: [CONTRIBUTING.md](https://github.com/DhanushNehru/Python-Scripts/blob/master/CONTRIBUTING.md)
-
-General code of conduct for discussion and feedback in this repo can be found here: [CODE_OF_CONDUCT.md](https://github.com/DhanushNehru/Python-Scripts/blob/master/CODE_OF_CONDUCT.md)
+More information on contributing and the general code of conduct for discussion and feedback in this repo can be found here: [CONTRIBUTIONS.md](https://github.com/DhanushNehru/Python-Scripts/blob/main/CONTRIBUTIONS.md)
 
 ## List of Scripts in Repo
 
 | Script                                   | Link                                                                                                                                                     | Description                                                                                                                                                       |
 | ---------------------------------------- |----------------------------------------------------------------------------------------------------------------------------------------------------------| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Arrange It                               | [Arrange It](https://github.com/DhanushNehru/Python-Scripts/tree/master/Arrange%20It)                                                                    | A Python script that can automatically move files into corresponding folders based on their extensions.                                                           |
-| Auto WiFi Check                          | [Auto WiFi Check](https://github.com/DhanushNehru/Python-Scripts/tree/master/Auto%20WiFi%20Check)                                                        | A Python script to monitor if the WiFi connection is active or not                                                                                                |
-| AutoCert                                 | [AutoCert](https://github.com/DhanushNehru/Python-Scripts/tree/master/AutoCert)                                                                          | A Python script to auto-generate e-certificates in bulk.                                                                                                          |
-| Autocomplete Notes App                   | [AutoCert](https://github.com/DhanushNehru/Python-Scripts/tree/master/Autocomplete%20Notes%20App)                                                        | A Python script to auto-generate e-certificates in bulk.                                                                                                          |
-| Automated Emails                         | [Automated Emails](https://github.com/DhanushNehru/Python-Scripts/tree/master/Automate%20Emails%20Daily)                                                 | A Python script to send out personalized emails by reading a CSV file.                                                                                            |
-| Black Hat Python                         | [Black Hat Python](https://github.com/DhanushNehru/Python-Scripts/tree/master/Black%20Hat%20Python)                                                      | Source code from the book Black Hat Python                                                                                                                        |
-| Blackjack                                | [Blackjack](https://github.com/DhanushNehru/Python-Scripts/tree/master/Blackjack)                                                                        | A game of Blackjack - let's get a 21.                                                                                                                             |
-| Chessboard                               | [Chessboard](https://github.com/DhanushNehru/Python-Scripts/tree/master/Chess%20Board)                                                                   | Creates a chessboard using matplotlib.                                                                                                                            |
-| Compound Interest Calculator             | [Compound Interest Calculator](https://github.com/DhanushNehru/Python-Scripts/tree/master/Calculate%20Compound%20Interest)                               | A Python script to calculate compound interest.                                                                                                                   |
-| Convert Temperature                      | [Convert Temperature](https://github.com/DhanushNehru/Python-Scripts/tree/master/Convert%20Temperature)                                                  | A python script to convert temperature between Fahreheit, Celsius and Kelvin                                                                                      |
-| Connect Four                             | [Connect Four](https://github.com/DhanushNehru/Python-Scripts/tree/master/Connect%20Four)                                                                | A Python script for the board game Connect Four, which can be played by 1-2 players                                                                               |
-| Countdown Timer                          | [Countdown Timer](https://github.com/DhanushNehru/Python-Scripts/tree/master/Countdown%20Timer)                                                          | Displays a message when the Input time elapses.                                                                                                                   |
-| Crop Images                              | [Crop Images](https://github.com/DhanushNehru/Python-Scripts/tree/master/Crop%20Images)                                                                  | A Python script to crop a given image.                                                                                                                            |
-| CSV to Excel                             | [CSV to Excel](https://github.com/DhanushNehru/Python-Scripts/tree/master/CSV%20to%20Excel)                                                              | A Python script to convert a CSV to an Excel file.                                                                                                                |
-| Currency Script                          | [Currency Script](https://github.com/DhanushNehru/Python-Scripts/tree/master/Currency%20Script)                                                          | A Python script to convert the currency of one country to that of another.                                                                                        |
-| Digital Clock                            | [Digital Clock](https://github.com/DhanushNehru/Python-Scripts/tree/master/Digital%20Clock)                                                              | A Python script to preview a digital clock in the terminal.                                                                                                       |
-| Display Popup Window                     | [Display Popup Window](https://github.com/DhanushNehru/Python-Scripts/tree/master/Display%20Popup%20Window)                                              | A Python script to preview a GUI interface to the user.                                                                                                           |
-| Distance Calculator                      | [Distance Calculator](https://github.com/Mathdallas-code/Python-Scripts/tree/master/Distance%20Calculator)                                               | A Python script to calculate the distance between two points.
-| Duplicate Finder                         | [Duplicate Finder](https://github.com/DhanushNehru/Python-Scripts/tree/master/Duplicate%Fnder)                                                           | The script identifies duplicate files by MD5 hash and allows deletion or relocation.                                                                              |
-| Emoji                                    | [Emoji](https://github.com/DhanushNehru/Python-Scripts/tree/master/Emoji)                                                                                | The script generates a PDF with an emoji using a custom TrueType font.                                                                                            |
-| Emoji to PDF                             | [Emoji to PDF](https://github.com/DhanushNehru/Python-Scripts/tree/master/Emoji%20To%20Pdf)                                                              | A Python Script to view Emoji in PDF.                                                                                                                             |
-| Expense Tracker                          | [Expense Tracker](https://github.com/DhanushNehru/Python-Scripts/tree/master/Expense%20Tracker)                                                          | A Python script which can track expenses.                                                                                                                         |
-| Face Reaction                            | [Face Reaction](https://github.com/DhanushNehru/Python-Scripts/tree/master/Face%20Reaction)                                                              | A script which attempts to detect facial expressions.                                                                                                             |
-| Fake Profiles                            | [Fake Profiles](https://github.com/DhanushNehru/Python-Scripts/tree/master/Fake%20Profile)                                                               | Creates fake profiles.                                                                                                                                            |
-| File Encryption Decryption               | [File Encryption Decryption](https://github.com/DhanushNehru/Python-Scripts/tree/master/File%20Encryption%20Decryption)                                  | Encrypts and Decrypts files using AES Algorithms for Security purposes.                                                                                           |
-| File Search                              | [File_search](https://github.com/debojit11/Python-Scripts/tree/master/File_Search)                                                                       | A python script that searches a specified folder for all files, regardless of file type, within its directory and subdirectories.                                 |
-| Font Art                                 | [Font Art](https://github.com/DhanushNehru/Python-Scripts/tree/master/Font%20Art)                                                                        | Displays a font art using Python.                                                                                                                                 |
-| File Organizer                           | [FileOrganizer](https://github.com/DhanushNehru/Python-Scripts/tree/master/FileOrganizer)                                                                | Organizes files into different folders according to their file type                                                                                               |
-| File Renamer                             | [FileRenamer](https://github.com/DhanushNehru/Python-Scripts/tree/master/FileRenamer)                                                                    | Bulk renames files with the same start/end                                                                                                                        |
-| File Text Search                         | [FileTextSearch](https://github.com/DhanushNehru/Python-Scripts/tree/master/FileTextSearch)                                                              | Searches for a keyword/phrase accross different files                                                                                                             |
-| Freelance Helper Program                 | [freelance-helper](https://github.com/DhanushNehru/Python-Scripts/tree/master/freelance-help-program)                                                    | Takes an Excel file with working hours and calculates the payment.                                                                                                |
-| Get Hexcodes From Websites               | [Get Hexcodes From Websites](https://github.com/DhanushNehru/Python-Scripts/tree/master/Get%20Hexcodes%20From%20Websites)                                | Generates a Python list containing Hexcodes from a website.                                                                                                       |
-| Hand_Volume                              | [Hand_Volume](https://github.com/DhanushNehru/Python-Scripts/tree/master/Hand%20Volume)                                                                  | Detects and tracks hand movements to control volume.                                                                                                              |
-| Hangman Game                             | [Hangman](https://github.com/DhanushNehru/Python-Scripts/tree/master/Hangman%20Game)                                                                     | A classic word-guessing game where players guess letters to find the hidden word                                                                                  |
-| Hardware Detector                        | [Hardware Detector](https://github.com/DhanushNehru/Python-Scripts/tree/master/Hardware%20Detector)                                                      | A Python script that detects and displays hardware specifications and resource usage, including CPU, RAM, disk space, and GPU information.                        |
-| Harvest Predictor                        | [Harvest Predictor](https://github.com/DhanushNehru/Python-Scripts/tree/master/Harvest%20Predictor)                                                      | Takes some necessary input parameters and predicts harvest according to it.                                                                                       |
-| Html-to-images                           | [html-to-images](https://github.com/DhanushNehru/Python-Scripts/tree/master/HTML%20to%20Images)                                                          | Converts HTML documents to image files.                                                                                                                           |
-| Image Capture                            | [Image Capture](https://github.com/DhanushNehru/Python-Scripts/tree/master/Image%20Capture)                                                              | Captures image from your webcam and saves it on your local device.                                                                                                |
-| Image Compress                           | [Image Compress](https://github.com/DhanushNehru/Python-Scripts/tree/master/Image%20Compress)                                                            | Takes an image and compresses it.                                                                                                                                 |
-| Image Manipulation without libraries     | [Image Manipulation without libraries](https://github.com/DhanushNehru/Python-Scripts/tree/master/Image%20Manipulation%20without%20libraries)            | Manipulates images without using any external libraries.                                                                                                          |
-| Image Text                               | [Image Text](https://github.com/DhanushNehru/Python-Scripts/tree/master/Image%20Text)                                                                    | Extracts text from the image.                                                                                                                                     |
-| Image Text to PDF                        | [Image Text to PDF](https://github.com/DhanushNehru/Python-Scripts/tree/master/Image%20Text%20to%20PDF)                                                  | Adds an image and text to a PDF.                                                                                                                                  |
-| Image Uploader                           | [Image Uploader](https://github.com/DhanushNehru/Python-Scripts/tree/master/Image%20Uploader)                                                            | Uploads images to Imgur using a keyboard shortcut.                                                                                                                |
-| Image Watermarker                        | [Image Watermarker](https://github.com/DhanushNehru/Python-Scripts/tree/master/Image%20Watermarker)                                                      | Adds a watermark to an image.                                                                                                                                     |
-| Image to ASCII                           | [Image to ASCII](https://github.com/DhanushNehru/Python-Scripts/tree/master/Image%20to%20ASCII)                                                          | Converts an image into ASCII art.                                                                                                                                 |
-| Image to Gif                             | [Image to Gif](https://github.com/DhanushNehru/Python-Scripts/tree/master/Image%20to%20GIF)                                                              | Generate gif from images.                                                                                                                                         |
-| Images to WebP Converter                 | [Images to WebP Converter](https://github.com/DhanushNehru/Python-Scripts/tree/master/Images%20to%20WebP%20Converter)                                   | Converts images to WebP vie cmd or GUI                                                                                                                            |
-| Interactive Dictionary                   | [Interactive Dictionary](https://github.com/DhanushNehru/Python-Scripts/tree/master/Image%20InteractiveDictionary)                                       | finding out meanings of words                                                                                                                                     |
-| IP Geolocator                            | [IP Geolocator](https://github.com/DhanushNehru/Python-Scripts/tree/master/IP%20Geolocator)                                                              | Uses an IP address to geolocate a location on Earth.                                                                                                              |
-| Jokes Generator                          | [Jokes generator](https://github.com/DhanushNehru/Python-Scripts/tree/master/Jokes%20Generator)                                                          | Generates jokes.                                                                                                                                                  |
-| JSON to CSV 1                            | [JSON to CSV 1](https://github.com/DhanushNehru/Python-Scripts/tree/master/JSON%20to%20CSV)                                                              | Converts JSON to CSV files.                                                                                                                                       |
-| JSON to CSV 2                            | [JSON to CSV 2](https://github.com/DhanushNehru/Python-Scripts/tree/master/JSON%20to%20CSV%202)                                                          | Converts a JSON file to a CSV file.                                                                                                                               |
-| JSON to CSV converter                    | [JSON to CSV converter](https://github.com/DhanushNehru/Python-Scripts/tree/master/Json%20to%20CSV%20Convertor)                                          | Converts JSON file to CSV files. It can convert nested JSON files as well. A sample JSON is included for testing.                                                 |
-| JSON to YAML converter                   | [JSON to YAML converter](https://github.com/DhanushNehru/Python-Scripts/tree/master/JSON%20to%20YAML)                                                    | Converts JSON file to YAML files. A sample JSON is included for testing.                                                                                          |
-| Keylogger                                | [Keylogger](https://github.com/DhanushNehru/Python-Scripts/tree/master/Keylogger)                                                                        | Keylogger that can track your keystrokes, clipboard text, take screenshots at regular intervals, and records audio.                                               |
-| Keyword - Retweeting                     | [Keyword - Retweeting](https://github.com/DhanushNehru/Python-Scripts/tree/master/Keyword%20Retweet%20Twitter%20Bot)                                     | Find the latest tweets containing given keywords and then retweet them.                                                                                           |
-| LinkedIn Bot                             | [LinkedIn Bot](https://github.com/DhanushNehru/Python-Scripts/tree/master/LinkedIn%20Bot)                                                                | Automates the process of searching for public profiles on LinkedIn and exporting the data to an Excel sheet.                                                      |
+| Arrange It                               | [Arrange It](https://github.com/DhanushNehru/Python-Scripts/tree/main/Arrange%20It)                                                                    | A Python script that can automatically move files into corresponding folders based on their extensions.                                                           |
+| Auto WiFi Check                          | [Auto WiFi Check](https://github.com/DhanushNehru/Python-Scripts/tree/main/Auto%20WiFi%20Check)                                                        | A Python script to monitor if the WiFi connection is active or not                                                                                                |
+| AutoCert                                 | [AutoCert](https://github.com/DhanushNehru/Python-Scripts/tree/main/AutoCert)                                                                          | A Python script to auto-generate e-certificates in bulk.                                                                                                          |
+| Autocomplete Notes App                   | [AutoCert](https://github.com/DhanushNehru/Python-Scripts/tree/main/Autocomplete%20Notes%20App)                                                        | A Python script to auto-generate e-certificates in bulk.                                                                                                          |
+| Automated Emails                         | [Automated Emails](https://github.com/DhanushNehru/Python-Scripts/tree/main/Automate%20Emails%20Daily)                                                 | A Python script to send out personalized emails by reading a CSV file.                                                                                            |
+| Black Hat Python                         | [Black Hat Python](https://github.com/DhanushNehru/Python-Scripts/tree/main/Black%20Hat%20Python)                                                      | Source code from the book Black Hat Python                                                                                                                        |
+| Blackjack                                | [Blackjack](https://github.com/DhanushNehru/Python-Scripts/tree/main/Blackjack)                                                                        | A game of Blackjack - let's get a 21.                                                                                                                             |
+| Chessboard                               | [Chessboard](https://github.com/DhanushNehru/Python-Scripts/tree/main/Chess%20Board)                                                                   | Creates a chessboard using matplotlib.                                                                                                                            |
+| Compound Interest Calculator             | [Compound Interest Calculator](https://github.com/DhanushNehru/Python-Scripts/tree/main/Calculate%20Compound%20Interest)                               | A Python script to calculate compound interest.                                                                                                                   |
+| Convert Temperature                      | [Convert Temperature](https://github.com/DhanushNehru/Python-Scripts/tree/main/Convert%20Temperature)                                                  | A python script to convert temperature between Fahreheit, Celsius and Kelvin                                                                                      |
+| Connect Four                             | [Connect Four](https://github.com/DhanushNehru/Python-Scripts/tree/main/Connect%20Four)                                                                | A Python script for the board game Connect Four, which can be played by 1-2 players                                                                               |
+| Countdown Timer                          | [Countdown Timer](https://github.com/DhanushNehru/Python-Scripts/tree/main/Countdown%20Timer)                                                          | Displays a message when the Input time elapses.                                                                                                                   |
+| Crop Images                              | [Crop Images](https://github.com/DhanushNehru/Python-Scripts/tree/main/Crop%20Images)                                                                  | A Python script to crop a given image.                                                                                                                            |
+| CSV to Excel                             | [CSV to Excel](https://github.com/DhanushNehru/Python-Scripts/tree/main/CSV%20to%20Excel)                                                              | A Python script to convert a CSV to an Excel file.                                                                                                                |
+| CSV_TO_NDJSON                             | [CSV to Excel](https://github.com/DhanushNehru/Python-Scripts/tree/main/CSV_TO_NDJSON)                                                              | A Python script to convert a CSV to an NDJSON files file.                                                                                                                |
+| Currency Script                          | [Currency Script](https://github.com/DhanushNehru/Python-Scripts/tree/main/Currency%20Script)                                                          | A Python script to convert the currency of one country to that of another.                                                                                        |
+| Digital Clock                            | [Digital Clock](https://github.com/DhanushNehru/Python-Scripts/tree/main/Digital%20Clock)                                                              | A Python script to preview a digital clock in the terminal.                                                                                                       |
+| Display Popup Window                     | [Display Popup Window](https://github.com/DhanushNehru/Python-Scripts/tree/main/Display%20Popup%20Window)                                              | A Python script to preview a GUI interface to the user.                                                                                                           |
+| Distance Calculator                      | [Distance Calculator](https://github.com/Mathdallas-code/Python-Scripts/tree/main/Distance%20Calculator)                                               | A Python script to calculate the distance between two points.
+| Duplicate Finder                         | [Duplicate Finder](https://github.com/DhanushNehru/Python-Scripts/tree/main/Duplicate%Fnder)                                                           | The script identifies duplicate files by MD5 hash and allows deletion or relocation.                                                                              |
+| Emoji                                    | [Emoji](https://github.com/DhanushNehru/Python-Scripts/tree/main/Emoji)                                                                                | The script generates a PDF with an emoji using a custom TrueType font.                                                                                            |
+| Emoji to PDF                             | [Emoji to PDF](https://github.com/DhanushNehru/Python-Scripts/tree/main/Emoji%20To%20Pdf)                                                              | A Python Script to view Emoji in PDF.                                                                                                                             |
+| Expense Tracker                          | [Expense Tracker](https://github.com/DhanushNehru/Python-Scripts/tree/main/Expense%20Tracker)                                                          | A Python script which can track expenses.                                                                                                                         |
+| Face Reaction                            | [Face Reaction](https://github.com/DhanushNehru/Python-Scripts/tree/main/Face%20Reaction)                                                              | A script which attempts to detect facial expressions.                                                                                                             |
+| Fake Profiles                            | [Fake Profiles](https://github.com/DhanushNehru/Python-Scripts/tree/main/Fake%20Profile)                                                               | Creates fake profiles.                                                                                                                                            |
+| File Encryption Decryption               | [File Encryption Decryption](https://github.com/DhanushNehru/Python-Scripts/tree/main/File%20Encryption%20Decryption)                                  | Encrypts and Decrypts files using AES Algorithms for Security purposes.                                                                                           |
+| File Search                              | [File_search](https://github.com/debojit11/Python-Scripts/tree/main/File_Search)                                                                       | A python script that searches a specified folder for all files, regardless of file type, within its directory and subdirectories.                                 |
+| Font Art                                 | [Font Art](https://github.com/DhanushNehru/Python-Scripts/tree/main/Font%20Art)                                                                        | Displays a font art using Python.                                                                                                                                 |
+| File Organizer                           | [FileOrganizer](https://github.com/DhanushNehru/Python-Scripts/tree/main/FileOrganizer)                                                                | Organizes files into different folders according to their file type                                                                                               |
+| File Renamer                             | [FileRenamer](https://github.com/DhanushNehru/Python-Scripts/tree/main/FileRenamer)                                                                    | Bulk renames files with the same start/end                                                                                                                        |
+| File Text Search                         | [FileTextSearch](https://github.com/DhanushNehru/Python-Scripts/tree/main/FileTextSearch)                                                              | Searches for a keyword/phrase accross different files                                                                                                             |
+| Freelance Helper Program                 | [freelance-helper](https://github.com/DhanushNehru/Python-Scripts/tree/main/freelance-help-program)                                                    | Takes an Excel file with working hours and calculates the payment.                                                                                                |
+| Get Hexcodes From Websites               | [Get Hexcodes From Websites](https://github.com/DhanushNehru/Python-Scripts/tree/main/Get%20Hexcodes%20From%20Websites)                                | Generates a Python list containing Hexcodes from a website.                                                                                                       |
+| Hand_Volume                              | [Hand_Volume](https://github.com/DhanushNehru/Python-Scripts/tree/main/Hand%20Volume)                                                                  | Detects and tracks hand movements to control volume.                                                                                                              |
+| Hangman Game                             | [Hangman](https://github.com/DhanushNehru/Python-Scripts/tree/main/Hangman%20Game)                                                                     | A classic word-guessing game where players guess letters to find the hidden word                                                                                  |
+| Hardware Detector                        | [Hardware Detector](https://github.com/DhanushNehru/Python-Scripts/tree/main/Hardware%20Detector)                                                      | A Python script that detects and displays hardware specifications and resource usage, including CPU, RAM, disk space, and GPU information.                        |
+| Harvest Predictor                        | [Harvest Predictor](https://github.com/DhanushNehru/Python-Scripts/tree/main/Harvest%20Predictor)                                                      | Takes some necessary input parameters and predicts harvest according to it.                                                                                       |
+| Html-to-images                           | [html-to-images](https://github.com/DhanushNehru/Python-Scripts/tree/main/HTML%20to%20Images)                                                          | Converts HTML documents to image files.                                                                                                                           |
+| Image Capture                            | [Image Capture](https://github.com/DhanushNehru/Python-Scripts/tree/main/Image%20Capture)                                                              | Captures image from your webcam and saves it on your local device.                                                                                                |
+| Image Compress                           | [Image Compress](https://github.com/DhanushNehru/Python-Scripts/tree/main/Image%20Compress)                                                            | Takes an image and compresses it.                                                                                                                                 |
+| Image Manipulation without libraries     | [Image Manipulation without libraries](https://github.com/DhanushNehru/Python-Scripts/tree/main/Image%20Manipulation%20without%20libraries)            | Manipulates images without using any external libraries.                                                                                                          |
+| Image Text                               | [Image Text](https://github.com/DhanushNehru/Python-Scripts/tree/main/Image%20Text)                                                                    | Extracts text from the image.                                                                                                                                     |
+| Image Text to PDF                        | [Image Text to PDF](https://github.com/DhanushNehru/Python-Scripts/tree/main/Image%20Text%20to%20PDF)                                                  | Adds an image and text to a PDF.                                                                                                                                  |
+| Image Uploader                           | [Image Uploader](https://github.com/DhanushNehru/Python-Scripts/tree/main/Image%20Uploader)                                                            | Uploads images to Imgur using a keyboard shortcut.                                                                                                                |
+| Image Watermarker                        | [Image Watermarker](https://github.com/DhanushNehru/Python-Scripts/tree/main/Image%20Watermarker)                                                      | Adds a watermark to an image.                                                                                                                                     |
+| Image to ASCII                           | [Image to ASCII](https://github.com/DhanushNehru/Python-Scripts/tree/main/Image%20to%20ASCII)                                                          | Converts an image into ASCII art.                                                                                                                                 |
+| Image to Gif                             | [Image to Gif](https://github.com/DhanushNehru/Python-Scripts/tree/main/Image%20to%20GIF)                                                              | Generate gif from images.                                                                                                                                         |
+| Images to WebP Converter                 | [Images to WebP Converter](https://github.com/DhanushNehru/Python-Scripts/tree/main/Images%20to%20WebP%20Converter)                                   | Converts images to WebP vie cmd or GUI                                                                                                                            |
+| Interactive Dictionary                   | [Interactive Dictionary](https://github.com/DhanushNehru/Python-Scripts/tree/main/Image%20InteractiveDictionary)                                       | finding out meanings of words                                                                                                                                     |
+| IP Geolocator                            | [IP Geolocator](https://github.com/DhanushNehru/Python-Scripts/tree/main/IP%20Geolocator)                                                              | Uses an IP address to geolocate a location on Earth.                                                                                                              |
+| Jokes Generator                          | [Jokes generator](https://github.com/DhanushNehru/Python-Scripts/tree/main/Jokes%20Generator)                                                          | Generates jokes.                                                                                                                                                  |
+| JSON to CSV 1                            | [JSON to CSV 1](https://github.com/DhanushNehru/Python-Scripts/tree/main/JSON%20to%20CSV)                                                              | Converts JSON to CSV files.                                                                                                                                       |
+| JSON to CSV 2                            | [JSON to CSV 2](https://github.com/DhanushNehru/Python-Scripts/tree/main/JSON%20to%20CSV%202)                                                          | Converts a JSON file to a CSV file.                                                                                                                               |
+| JSON to CSV converter                    | [JSON to CSV converter](https://github.com/DhanushNehru/Python-Scripts/tree/main/Json%20to%20CSV%20Convertor)                                          | Converts JSON file to CSV files. It can convert nested JSON files as well. A sample JSON is included for testing.                                                 |
+| JSON to YAML converter                   | [JSON to YAML converter](https://github.com/DhanushNehru/Python-Scripts/tree/main/JSON%20to%20YAML)                                                    | Converts JSON file to YAML files. A sample JSON is included for testing.                                                                                          |
+| Keylogger                                | [Keylogger](https://github.com/DhanushNehru/Python-Scripts/tree/main/Keylogger)                                                                        | Keylogger that can track your keystrokes, clipboard text, take screenshots at regular intervals, and records audio.                                               |
+| Keyword - Retweeting                     | [Keyword - Retweeting](https://github.com/DhanushNehru/Python-Scripts/tree/main/Keyword%20Retweet%20Twitter%20Bot)                                     | Find the latest tweets containing given keywords and then retweet them.                                                                                           |
+| LinkedIn Bot                             | [LinkedIn Bot](https://github.com/DhanushNehru/Python-Scripts/tree/main/LinkedIn%20Bot)                                                                | Automates the process of searching for public profiles on LinkedIn and exporting the data to an Excel sheet.                                                      |
 | Longitude & Latitude to conical coverter | [Longitude Latitude conical converter](master/Longitude%20Latitude%20conical%20converter)                                                                | Converts Longitude and Latitude to Lambert conformal conic projection.                                                                                            |
-| Mail Sender                              | [Mail Sender](https://github.com/DhanushNehru/Python-Scripts/tree/master/Mail%20Sender)                                                                  | Sends an email.                                                                                                                                                   |
-| Merge Two Images                         | [Merge Two Images](https://github.com/DhanushNehru/Python-Scripts/tree/master/Merge%20Two%20Images)                                                      | Merges two images horizontally or vertically.                                                                                                                     |
-| Mood based youtube song generator        | [Mood based youtube song generator](https://github.com/DhanushNehru/Python-Scripts/tree/master/Mood%20based%20youtube%20song%20generator)                | This Python script fetches a random song from YouTube based on your mood input and opens it in your default web browser.                                          |
-| Mouse mover                              | [Mouse mover](https://github.com/DhanushNehru/Python-Scripts/tree/master/Mouse%20Mover)                                                                  | Moves your mouse every 15 seconds.                                                                                                                                |
-| Morse Code                               | [Mose Code](https://github.com/DhanushNehru/Python-Scripts/tree/master/Morse%20Code)                                                                     | Encodes and decodes Morse code.                                                                                                                                   |
-| No Screensaver                           | [No Screensaver](https://github.com/DhanushNehru/Python-Scripts/tree/master/No%20Screensaver)                                                            | Prevents screensaver from turning on.                                                                                                                             |
-| OTP Verification                         | [OTP Verification](https://github.com/DhanushNehru/Python-Scripts/tree/master/OTP%20%20Verify)                                                           | An OTP Verification Checker.                                                                                                                                      |
-| Password Generator                       | [Password Generator](https://github.com/DhanushNehru/Python-Scripts/tree/master/Password%20Generator)                                                    | Generates a random password.                                                                                                                                      |
-| Password Manager                         | [Password Manager](https://github.com/nem5345/Python-Scripts/tree/master/Password%20Manager)                                                             | Generate and interact with a password manager.                                                                                                                    |
-| Password Strength Checker                | [Password Strength Checker](https://github.com/nem5345/Python-Scripts/tree/master/Password%20Strength%20Checker)                                         | Evaluates how strong a given password is.                                                                                                                         |
-| PDF Merger                               | [PDF Merger](https://github.com/DhanushNehru/Python-Scripts/tree/master/PDF%20Merger)                                                                    | Merges multiple PDF files into a single PDF, with options for output location and custom order.                                                                   |
-| PDF to Audio                             | [PDF to Audio](https://github.com/DhanushNehru/Python-Scripts/tree/master/PDF%20to%20Audio)                                                              | Converts PDF to audio.                                                                                                                                            |
-| PDF to Text                              | [PDF to text](https://github.com/DhanushNehru/Python-Scripts/tree/master/PDF%20to%20text)                                                                | Converts PDF to text.                                                                                                                                             |
-| PDF merger and splitter                  | [PDF Merger and Splitter](https://github.com/AbhijitMotekar99/Python-Scripts/blob/master/PDF%20Merger%20and%20Splitter/PDF%20Merger%20and%20Splitter.py) | Create a tool that can merge multiple PDF files into one or split a single PDF into separate pages.                                                               |
-| Pizza Order                              | [Pizza Order](https://github.com/DhanushNehru/Python-Scripts/tree/master/Pizza%20Order)                                                                  | An algorithm designed to handle pizza orders from customers with accurate receipts and calculations.                                                                                                        |
-| Planet Simulation                        | [Planet Simulation](https://github.com/DhanushNehru/Python-Scripts/tree/master/Planet%20Simulation)                                                      | A simulation of several planets rotating around the sun.                                                                                                          |
-| Playlist Exchange                        | [Playlist Exchange](https://github.com/DhanushNehru/Python-Scripts/tree/master/Playlist%20Exchange)                                                      | A Python script to exchange songs and playlists between Spotify and Python.                                                                                       |
-| Pigeonhole Sort                          | [Algorithm](https://github.com/DhanushNehru/Python-Scripts/tree/master/PigeonHole)                                                                       | The pigeonhole sort algorithm to sort your arrays efficiently!                                                                                                    |
-| PNG TO JPG CONVERTOR                     | [PNG-To-JPG](https://github.com/DhanushNehru/Python-Scripts/tree/master/PNG%20To%20JPG)                                                                  | A PNG TO JPG IMAGE CONVERTOR.                                                                                                                                     |
-| Pomodoro Timer                           | [Pomodoro Timer](https://github.com/DhanushNehru/Python-Scripts/tree/master/Pomodoro%20Timer)                                                            | A Pomodoro timer                                                                                                                                                  |
-| Python GUI Notepad                       | [Python GUI Notepad](https://github.com/DhanushNehru/Python-Scripts/blob/master/PDF%20Merger%20and%20Splitter/PDF%20Merger%20and%20Splitter.py)          | A Python-based GUI Notepad with essential features like saving, opening, editing text files, basic formatting, and a simple user interface for quick note-taking. |
-| QR Code Generator                        | [QR Code Generator](https://github.com/DhanushNehru/Python-Scripts/tree/master/QR%20Code%20Generator)                                                    | This is generate a QR code from the provided link                                                                                                                 |
-| QR Code Scanner                          | [QR Code Scanner](https://github.com/DhanushNehru/Python-Scripts/tree/master/QR%20Code%20Scanner)                                                        | Helps in Sacanning the QR code in form of PNG or JPG just by running the python script.                                                                           |
-| QR Code with logo                        | [QR code with Logo](https://github.com/DhanushNehru/Python-Scripts/tree/master/QR%20with%20Logo)                                                         | QR Code Customization Feature                                                                                                                                     |
-| Random Color Generator                   | [Random Color Generator](https://github.com/DhanushNehru/Python-Scripts/tree/master/Random%20Color%20Generator)                                          | A random color generator that will show you the color and values!                                                                                                 |
-| Remove Background                        | [Remove Background](https://github.com/DhanushNehru/Python-Scripts/tree/master/Remove%20Background)                                                      | Removes the background of images.                                                                                                                                 |
-| Road-Lane-Detection                      | [Road-Lane-Detection](https://github.com/NotIncorecc/Python-Scripts/tree/master/Road-Lane-Detection)                                                     | Detects the lanes of the road                                                                                                                                     |
-| Rock Paper Scissor 1                     | [Rock Paper Scissor 1](https://github.com/DhanushNehru/Python-Scripts/tree/master/Rock%20Paper%20Scissor%201)                                            | A game of Rock Paper Scissors.                                                                                                                                    |
-| Rock Paper Scissor 2                     | [Rock Paper Scissor 2](https://github.com/DhanushNehru/Python-Scripts/tree/master/Rock%20Paper%20Scissor%202)                                            | A new version game of Rock Paper Scissors.                                                                                                                        |
-| Run Then Notify                          | [Run Then Notify](https://github.com/DhanushNehru/Python-Scripts/tree/master/Run%20Then%20Notify)                                                        | Runs a slow command and emails you when it completes execution.                                                                                                   |
-| Save File To Drive                       | [Save File To Drive](https://github.com/DhanushNehru/Python-Scripts/tree/master/Save%20file%20to%20Drive)                                                | Saves all files and folder with proper structure from a folder to drive easily through a python script .                                                                                                                                    |
-| Selfie with Python                       | [Selfie with Python](https://github.com/DhanushNehru/Python-Scripts/tree/master/Selfie%20with%20Python)                                                  | Take your selfie with python .                                                                                                                                    |
-| Simple DDOS                              | [Simple DDOS](https://github.com/VanshajR/Python-Scripts/tree/master/Simple%20DDOS)                                                                      | The code allows you to send multiple HTTP requests concurrently for a specified duration.                                                                         |
-| Simple TCP Chat Server                   | [Simple TCP Chat Server](https://github.com/DhanushNehru/Python-Scripts/tree/master/TCP%20Chat%20Server)                                                 | Creates a local server on your LAN for receiving and sending messages!                                                                                            |
-| Smart Attendance System                  | [Smart Attendance System](https://github.com/DhanushNehru/Python-Scripts/tree/master/Smart%20Attendance%20System)                                        | This OpenCV framework is for Smart Attendance by actively decoding a student's QR Code.                                                                           |
-| Snake Game                               | [Snake Game](https://github.com/DhanushNehru/Python-Scripts/tree/master/Snake%20Game)                                                                    | Classic snake game using python.                                                                                                                                  |
-| Snake Water Gun                          | [Snake Water Gun](https://github.com/DhanushNehru/Python-Scripts/tree/master/Snake%20Water%20Gun)                                                        | A game similar to Rock Paper Scissors.                                                                                                                            |
-| Sorting                                  | [Sorting](https://github.com/DhanushNehru/Python-Scripts/tree/master/Sorting)                                                                            | Algorithm for bubble sorting.                                                                                                                                     |
-| Star Pattern                             | [Star Pattern](https://github.com/DhanushNehru/Python-Scripts/tree/master/Star%20Pattern)                                                                | Creates a star pattern pyramid.                                                                                                                                   |
-| Subnetting Calculator                    | [Subnetting Calculator](https://github.com/DhanushNehru/Python-Scripts/tree/master/Subnetting%20Calculator)                                              | Calculates network information based on a given IP address and subnet mask.                                                                                       |
-| Take a break                             | [Take a break](https://github.com/DhanushNehru/Python-Scripts/tree/master/Take%20A%20Break)                                                              | Python code to take a break while working long hours.                                                                                                             |
+| Mail Sender                              | [Mail Sender](https://github.com/DhanushNehru/Python-Scripts/tree/main/Mail%20Sender)                                                                  | Sends an email.                                                                                                                                                   |
+| Merge Two Images                         | [Merge Two Images](https://github.com/DhanushNehru/Python-Scripts/tree/main/Merge%20Two%20Images)                                                      | Merges two images horizontally or vertically.                                                                                                                     |
+| Mood based youtube song generator        | [Mood based youtube song generator](https://github.com/DhanushNehru/Python-Scripts/tree/main/Mood%20based%20youtube%20song%20generator)                | This Python script fetches a random song from YouTube based on your mood input and opens it in your default web browser.                                          |
+| Mouse mover                              | [Mouse mover](https://github.com/DhanushNehru/Python-Scripts/tree/main/Mouse%20Mover)                                                                  | Moves your mouse every 15 seconds.                                                                                                                                |
+| Morse Code                               | [Mose Code](https://github.com/DhanushNehru/Python-Scripts/tree/main/Morse%20Code)                                                                     | Encodes and decodes Morse code.                                                                                                                                   |
+| No Screensaver                           | [No Screensaver](https://github.com/DhanushNehru/Python-Scripts/tree/main/No%20Screensaver)                                                            | Prevents screensaver from turning on.                                                                                                                             |
+| OTP Verification                         | [OTP Verification](https://github.com/DhanushNehru/Python-Scripts/tree/main/OTP%20%20Verify)                                                           | An OTP Verification Checker.                                                                                                                                      |
+| Password Generator                       | [Password Generator](https://github.com/DhanushNehru/Python-Scripts/tree/main/Password%20Generator)                                                    | Generates a random password.                                                                                                                                      |
+| Password Manager                         | [Password Manager](https://github.com/nem5345/Python-Scripts/tree/main/Password%20Manager)                                                             | Generate and interact with a password manager.                                                                                                                    |
+| Password Strength Checker                | [Password Strength Checker](https://github.com/nem5345/Python-Scripts/tree/main/Password%20Strength%20Checker)                                         | Evaluates how strong a given password is.                                                                                                                         |
+| PDF Merger                               | [PDF Merger](https://github.com/DhanushNehru/Python-Scripts/tree/main/PDF%20Merger)                                                                    | Merges multiple PDF files into a single PDF, with options for output location and custom order.                                                                   |
+| PDF to Audio                             | [PDF to Audio](https://github.com/DhanushNehru/Python-Scripts/tree/main/PDF%20to%20Audio)                                                              | Converts PDF to audio.                                                                                                                                            |
+| PDF to Text                              | [PDF to text](https://github.com/DhanushNehru/Python-Scripts/tree/main/PDF%20to%20text)                                                                | Converts PDF to text.                                                                                                                                             |
+| PDF merger and splitter                  | [PDF Merger and Splitter](https://github.com/AbhijitMotekar99/Python-Scripts/blob/main/PDF%20Merger%20and%20Splitter/PDF%20Merger%20and%20Splitter.py) | Create a tool that can merge multiple PDF files into one or split a single PDF into separate pages.                                                               |
+| Pizza Order                              | [Pizza Order](https://github.com/DhanushNehru/Python-Scripts/tree/main/Pizza%20Order)                                                                  | An algorithm designed to handle pizza orders from customers with accurate receipts and calculations.                                                                                                        |
+| Planet Simulation                        | [Planet Simulation](https://github.com/DhanushNehru/Python-Scripts/tree/main/Planet%20Simulation)                                                      | A simulation of several planets rotating around the sun.                                                                                                          |
+| Playlist Exchange                        | [Playlist Exchange](https://github.com/DhanushNehru/Python-Scripts/tree/main/Playlist%20Exchange)                                                      | A Python script to exchange songs and playlists between Spotify and Python.                                                                                       |
+| Pigeonhole Sort                          | [Algorithm](https://github.com/DhanushNehru/Python-Scripts/tree/main/PigeonHole)                                                                       | The pigeonhole sort algorithm to sort your arrays efficiently!                                                                                                    |
+| PNG TO JPG CONVERTOR                     | [PNG-To-JPG](https://github.com/DhanushNehru/Python-Scripts/tree/main/PNG%20To%20JPG)                                                                  | A PNG TO JPG IMAGE CONVERTOR.                                                                                                                                     |
+| Pomodoro Timer                           | [Pomodoro Timer](https://github.com/DhanushNehru/Python-Scripts/tree/main/Pomodoro%20Timer)                                                            | A Pomodoro timer                                                                                                                                                  |
+| Python GUI Notepad                       | [Python GUI Notepad](https://github.com/DhanushNehru/Python-Scripts/blob/main/PDF%20Merger%20and%20Splitter/PDF%20Merger%20and%20Splitter.py)          | A Python-based GUI Notepad with essential features like saving, opening, editing text files, basic formatting, and a simple user interface for quick note-taking. |
+| QR Code Generator                        | [QR Code Generator](https://github.com/DhanushNehru/Python-Scripts/tree/main/QR%20Code%20Generator)                                                    | This is generate a QR code from the provided link                                                                                                                 |
+| QR Code Scanner                          | [QR Code Scanner](https://github.com/DhanushNehru/Python-Scripts/tree/main/QR%20Code%20Scanner)                                                        | Helps in Sacanning the QR code in form of PNG or JPG just by running the python script.                                                                           |
+| QR Code with logo                        | [QR code with Logo](https://github.com/DhanushNehru/Python-Scripts/tree/main/QR%20with%20Logo)                                                         | QR Code Customization Feature                                                                                                                                     |
+| Random Color Generator                   | [Random Color Generator](https://github.com/DhanushNehru/Python-Scripts/tree/main/Random%20Color%20Generator)                                          | A random color generator that will show you the color and values!                                                                                                 |
+| Remove Background                        | [Remove Background](https://github.com/DhanushNehru/Python-Scripts/tree/main/Remove%20Background)                                                      | Removes the background of images.                                                                                                                                 |
+| Road-Lane-Detection                      | [Road-Lane-Detection](https://github.com/NotIncorecc/Python-Scripts/tree/main/Road-Lane-Detection)                                                     | Detects the lanes of the road                                                                                                                                     |
+| Rock Paper Scissor 1                     | [Rock Paper Scissor 1](https://github.com/DhanushNehru/Python-Scripts/tree/main/Rock%20Paper%20Scissor%201)                                            | A game of Rock Paper Scissors.                                                                                                                                    |
+| Rock Paper Scissor 2                     | [Rock Paper Scissor 2](https://github.com/DhanushNehru/Python-Scripts/tree/main/Rock%20Paper%20Scissor%202)                                            | A new version game of Rock Paper Scissors.                                                                                                                        |
+| Run Then Notify                          | [Run Then Notify](https://github.com/DhanushNehru/Python-Scripts/tree/main/Run%20Then%20Notify)                                                        | Runs a slow command and emails you when it completes execution.                                                                                                   |
+| Save File To Drive                       | [Save File To Drive](https://github.com/DhanushNehru/Python-Scripts/tree/master/Save%20file%20to%20Drive)                                              | Saves all files and folder with proper structure from a folder to drive easily through a python script . 
+| Selfie with Python                       | [Selfie with Python](https://github.com/DhanushNehru/Python-Scripts/tree/main/Selfie%20with%20Python)                                                  | Take your selfie with python .                                                                                                                                    |
+| Simple DDOS                              | [Simple DDOS](https://github.com/VanshajR/Python-Scripts/tree/main/Simple%20DDOS)                                                                      | The code allows you to send multiple HTTP requests concurrently for a specified duration.                                                                         |
+| Simple TCP Chat Server                   | [Simple TCP Chat Server](https://github.com/DhanushNehru/Python-Scripts/tree/main/TCP%20Chat%20Server)                                                 | Creates a local server on your LAN for receiving and sending messages!                                                                                            |
+| Smart Attendance System                  | [Smart Attendance System](https://github.com/DhanushNehru/Python-Scripts/tree/main/Smart%20Attendance%20System)                                        | This OpenCV framework is for Smart Attendance by actively decoding a student's QR Code.                                                                           |
+| Snake Game                               | [Snake Game](https://github.com/DhanushNehru/Python-Scripts/tree/main/Snake%20Game)                                                                    | Classic snake game using python.                                                                                                                                  |
+| Snake Water Gun                          | [Snake Water Gun](https://github.com/DhanushNehru/Python-Scripts/tree/main/Snake%20Water%20Gun)                                                        | A game similar to Rock Paper Scissors.                                                                                                                            |
+| Sorting                                  | [Sorting](https://github.com/DhanushNehru/Python-Scripts/tree/main/Sorting)                                                                            | Algorithm for bubble sorting.                                                                                                                                     |
+| Star Pattern                             | [Star Pattern](https://github.com/DhanushNehru/Python-Scripts/tree/main/Star%20Pattern)                                                                | Creates a star pattern pyramid.                                                                                                                                   |
+| Subnetting Calculator                    | [Subnetting Calculator](https://github.com/DhanushNehru/Python-Scripts/tree/main/Subnetting%20Calculator)                                              | Calculates network information based on a given IP address and subnet mask.                                                                                       |
+| Take a break                             | [Take a break](https://github.com/DhanushNehru/Python-Scripts/tree/main/Take%20A%20Break)                                                              | Python code to take a break while working long hours.                                                                                                             |
 | Text Recognition                         | [Text Recognition](https://github.com/DhanushNehru/Python-Scripts/tree/Text-Recognition/Text%20Recognition)                                              | A Image Text Recognition ML Model to extract text from Images                                                                                                     |
-| Text to Image                            | [Text to Image](https://github.com/DhanushNehru/Python-Scripts/tree/master/Text%20to%20Image)                                                            | A Python script that will take your text and convert it to a JPEG.                                                                                                |
-| Tic Tac Toe 1                            | [Tic Tac Toe 1](https://github.com/DhanushNehru/Python-Scripts/tree/master/Tic-Tac-Toe%201)                                                              | A game of Tic Tac Toe.                                                                                                                                            |
-| Tik Tac Toe 2                            | [Tik Tac Toe 2](https://github.com/DhanushNehru/Python-Scripts/tree/master/Tic-Tac-Toe%202)                                                              | A game of Tik Tac Toe.                                                                                                                                            |
-| Turtle Art & Patterns                    | [Turtle Art](https://github.com/DhanushNehru/Python-Scripts/tree/master/Turtle%20Art)                                                                    | Scripts to view turtle art also have prompt-based ones.                                                                                                           |
-| Turtle Graphics                          | [Turtle Graphics](https://github.com/DhanushNehru/Python-Scripts/tree/master/Turtle%20Graphics)                                                          | Code using turtle graphics.                                                                                                                                       |
-| Twitter Selenium Bot                     | [Twitter Selenium Bot](https://github.com/DhanushNehru/Python-Scripts/tree/master/Twitter%20Selenium%20Bot)                                              | A bot that can interact with Twitter in a variety of ways.                                                                                                        |
-| Umbrella Reminder                        | [Umbrella Reminder](https://github.com/DhanushNehru/Python-Scripts/tree/master/Umbrella%20Reminder)                                                      | A reminder for umbrellas.                                                                                                                                         |
-| University Rankings                      | [University Rankings](https://github.com/DhanushNehru/Python-Scripts/tree/master/University%20Rankings)                                                  | Ranks Universities across the globes using the Country, Continent, and Captial                                                                                    |
-| URL Shortener                            | [URL Shortener](https://github.com/DhanushNehru/Python-Scripts/tree/master/URL%20Shortener)                                                              | A URL shortener code compresses long URLs into shorter, more manageable links                                                                                     |
-| Video Downloader                         | [Video Downloader](https://github.com/DhanushNehru/Python-Scripts/tree/master/Video%20Downloader)                                                        | Download Videos from youtube to your local system.                                                                                                                |
-| Video Watermarker                        | [Video Watermarker](https://github.com/DhanushNehru/Python-Scripts/tree/master/Video%20Watermarker)                                                      | Adds watermark to any video of your choice.                                                                                                                       |
-| Virtual Painter                          | [Virtual Painter](https://github.com/DhanushNehru/Python-Scripts/tree/master/Virtual%20Painter)                                                          | Virtual painting application.                                                                                                                                     |
-| Wallpaper Changer                        | [Wallpaper Changer](https://github.com/DhanushNehru/Python-Scripts/tree/master/Wallpaper%20Changer)                                                      | Automatically changes home wallpaper, adding a random quote and stock tickers on it.                                                                              |
-| Weather GUI                              | [Weather GUI](https://github.com/DhanushNehru/Python-Scripts/tree/master/Weather%20GUI)                                                                  | Displays information on the weather.                                                                                                                              |
-| Website Blocker                          | [Website Blocker](https://github.com/DhanushNehru/Python-Scripts/tree/master/Website%20Blocker)                                                          | Downloads the website and loads it on your homepage in your local IP.                                                                                             |
-| Website Cloner                           | [Website Cloner](https://github.com/DhanushNehru/Python-Scripts/tree/master/Website%20Cloner)                                                            | Clones any website and opens the site in your local IP.                                                                                                           |
-| Web Scraper                              | [Web Scraper](https://github.com/DhanushNehru/Python-Scripts/tree/master/Web%20Scraper)                                                                        | A Python script that scrapes blog titles from [Python.org](https://www.python.org/) and saves them to a file.                                                                                |
-| Weight Converter                         | [Weight Converter](https://github.com/WatashiwaSid/Python-Scripts/tree/master/Weight%20Converter)                                                        | Simple GUI script to convert weight in different measurement units.                                                                                               |
-| Wikipedia Data Extractor                 | [Wikipedia Data Extractor](https://github.com/DhanushNehru/Python-Scripts/tree/master/Wikipedia%20Data%20Extractor)                                      | A simple Wikipedia data extractor script to get output in your IDE.                                                                                               |
-| Word to PDF                              | [Word to PDF](https://github.com/DhanushNehru/Python-Scripts/tree/master/Word%20to%20PDF%20converter)                                                    | A Python script to convert an MS Word file to a PDF file.                                                                                                         |
-| Youtube Downloader                       | [Youtube Downloader](https://github.com/DhanushNehru/Python-Scripts/tree/master/Youtube%20Downloader)                                                    | Downloads any video from [YouTube](https://youtube.com) in video or audio format!                                                                                 |
-| Youtube Playlist Info Scraper            | [Youtube Playlist Info Scraper](https://github.com/DhanushNehru/Python-Scripts/tree/master/Youtube%20Playlist%20Info%20Scraper)                          | This python module retrieve information about a YouTube playlist in json format using playlist link.                                                              |
+| Text to Image                            | [Text to Image](https://github.com/DhanushNehru/Python-Scripts/tree/main/Text%20to%20Image)                                                            | A Python script that will take your text and convert it to a JPEG.                                                                                                |
+| Tic Tac Toe 1                            | [Tic Tac Toe 1](https://github.com/DhanushNehru/Python-Scripts/tree/main/Tic-Tac-Toe%201)                                                              | A game of Tic Tac Toe.                                                                                                                                            |
+| Tik Tac Toe 2                            | [Tik Tac Toe 2](https://github.com/DhanushNehru/Python-Scripts/tree/main/Tic-Tac-Toe%202)                                                              | A game of Tik Tac Toe.                                                                                                                                            |
+| Turtle Art & Patterns                    | [Turtle Art](https://github.com/DhanushNehru/Python-Scripts/tree/main/Turtle%20Art)                                                                    | Scripts to view turtle art also have prompt-based ones.                                                                                                           |
+| Turtle Graphics                          | [Turtle Graphics](https://github.com/DhanushNehru/Python-Scripts/tree/main/Turtle%20Graphics)                                                          | Code using turtle graphics.                                                                                                                                       |
+| Twitter Selenium Bot                     | [Twitter Selenium Bot](https://github.com/DhanushNehru/Python-Scripts/tree/main/Twitter%20Selenium%20Bot)                                              | A bot that can interact with Twitter in a variety of ways.                                                                                                        |
+| Umbrella Reminder                        | [Umbrella Reminder](https://github.com/DhanushNehru/Python-Scripts/tree/main/Umbrella%20Reminder)                                                      | A reminder for umbrellas.                                                                                                                                         |
+| University Rankings                      | [University Rankings](https://github.com/DhanushNehru/Python-Scripts/tree/main/University%20Rankings)                                                  | Ranks Universities across the globes using the Country, Continent, and Captial                                                                                    |
+| URL Shortener                            | [URL Shortener](https://github.com/DhanushNehru/Python-Scripts/tree/main/URL%20Shortener)                                                              | A URL shortener code compresses long URLs into shorter, more manageable links                                                                                     |
+| Video Downloader                         | [Video Downloader](https://github.com/DhanushNehru/Python-Scripts/tree/main/Video%20Downloader)                                                        | Download Videos from youtube to your local system.                                                                                                                |
+| Video Watermarker                        | [Video Watermarker](https://github.com/DhanushNehru/Python-Scripts/tree/main/Video%20Watermarker)                                                      | Adds watermark to any video of your choice.                                                                                                                       |
+| Virtual Painter                          | [Virtual Painter](https://github.com/DhanushNehru/Python-Scripts/tree/main/Virtual%20Painter)                                                          | Virtual painting application.                                                                                                                                     |
+| Wallpaper Changer                        | [Wallpaper Changer](https://github.com/DhanushNehru/Python-Scripts/tree/main/Wallpaper%20Changer)                                                      | Automatically changes home wallpaper, adding a random quote and stock tickers on it.                                                                              |
+| Weather GUI                              | [Weather GUI](https://github.com/DhanushNehru/Python-Scripts/tree/main/Weather%20GUI)                                                                  | Displays information on the weather.                                                                                                                              |
+| Website Blocker                          | [Website Blocker](https://github.com/DhanushNehru/Python-Scripts/tree/main/Website%20Blocker)                                                          | Downloads the website and loads it on your homepage in your local IP.                                                                                             |
+| Website Cloner                           | [Website Cloner](https://github.com/DhanushNehru/Python-Scripts/tree/main/Website%20Cloner)                                                            | Clones any website and opens the site in your local IP.                                                                                                           |
+| Web Scraper                              | [Web Scraper](https://github.com/DhanushNehru/Python-Scripts/tree/main/Web%20Scraper)                                                                        | A Python script that scrapes blog titles from [Python.org](https://www.python.org/) and saves them to a file.                                                                                |
+| Weight Converter                         | [Weight Converter](https://github.com/WatashiwaSid/Python-Scripts/tree/main/Weight%20Converter)                                                        | Simple GUI script to convert weight in different measurement units.                                                                                               |
+| Wikipedia Data Extractor                 | [Wikipedia Data Extractor](https://github.com/DhanushNehru/Python-Scripts/tree/main/Wikipedia%20Data%20Extractor)                                      | A simple Wikipedia data extractor script to get output in your IDE.                                                                                               |
+| Word to PDF                              | [Word to PDF](https://github.com/DhanushNehru/Python-Scripts/tree/main/Word%20to%20PDF%20converter)                                                    | A Python script to convert an MS Word file to a PDF file.                                                                                                         |
+| Youtube Downloader                       | [Youtube Downloader](https://github.com/DhanushNehru/Python-Scripts/tree/main/Youtube%20Downloader)                                                    | Downloads any video from [YouTube](https://youtube.com) in video or audio format!                                                                                 |
+| Youtube Playlist Info Scraper            | [Youtube Playlist Info Scraper](https://github.com/DhanushNehru/Python-Scripts/tree/main/Youtube%20Playlist%20Info%20Scraper)                          | This python module retrieve information about a YouTube playlist in json format using playlist link.                                                              |
 
 ## Gitpod
 
@@ -176,7 +175,6 @@ You can use Gitpod in the cloud [![Gitpod Ready-to-Code](https://img.shields.io/
 <img src="https://contrib.rocks/image?repo=DhanushNehru/Python-Scripts" />
 </a>
 
-</br>
 
 If you liked this repository, support it by starring ⭐
 

From d605ac9bea2acf5f90a149eceecd473d1267c752 Mon Sep 17 00:00:00 2001
From: Dhanush <dhanushxenocrate@gmail.com>
Date: Sun, 15 Jun 2025 13:12:12 +0530
Subject: [PATCH 16/17] Corrected links

---
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 8da48dc..74f1276 100644
--- a/README.md
+++ b/README.md
@@ -130,7 +130,7 @@ More information on contributing and the general code of conduct for discussion
 | Run Then Notify                          | [Run Then Notify](https://github.com/DhanushNehru/Python-Scripts/tree/main/Run%20Then%20Notify)                                                        | Runs a slow command and emails you when it completes execution.                                                                                                   |
 | Save File To Drive                       | [Save File To Drive](https://github.com/DhanushNehru/Python-Scripts/tree/master/Save%20file%20to%20Drive)                                              | Saves all files and folder with proper structure from a folder to drive easily through a python script .                                                          |
 | Selfie with Python                       | [Selfie with Python](https://github.com/DhanushNehru/Python-Scripts/tree/main/Selfie%20with%20Python)                                                  | Take your selfie with python .                                                                                                                                    |
-| Simple DDOS                              | [Simple DDOS](https://github.com/VanshajR/Python-Scripts/tree/main/Simple%20DDOS)                                                                      | The code allows you to send multiple HTTP requests concurrently for a specified duration.                                                                         |
+| Simple DDOS                              | [Simple DDOS](https://github.com/DhanushNehru/Python-Scripts/tree/main/Simple%20DDOS)                                                                      | The code allows you to send multiple HTTP requests concurrently for a specified duration.                                                                         |
 | Simple TCP Chat Server                   | [Simple TCP Chat Server](https://github.com/DhanushNehru/Python-Scripts/tree/main/TCP%20Chat%20Server)                                                 | Creates a local server on your LAN for receiving and sending messages!                                                                                            |
 | Smart Attendance System                  | [Smart Attendance System](https://github.com/DhanushNehru/Python-Scripts/tree/main/Smart%20Attendance%20System)                                        | This OpenCV framework is for Smart Attendance by actively decoding a student's QR Code.                                                                           |
 | Snake Game                               | [Snake Game](https://github.com/DhanushNehru/Python-Scripts/tree/main/Snake%20Game)                                                                    | Classic snake game using python.                                                                                                                                  |
@@ -157,7 +157,7 @@ More information on contributing and the general code of conduct for discussion
 | Website Blocker                          | [Website Blocker](https://github.com/DhanushNehru/Python-Scripts/tree/main/Website%20Blocker)                                                          | Downloads the website and loads it on your homepage in your local IP.                                                                                             |
 | Website Cloner                           | [Website Cloner](https://github.com/DhanushNehru/Python-Scripts/tree/main/Website%20Cloner)                                                            | Clones any website and opens the site in your local IP.                                                                                                           |
 | Web Scraper                              | [Web Scraper](https://github.com/DhanushNehru/Python-Scripts/tree/main/Web%20Scraper)                                                                        | A Python script that scrapes blog titles from [Python.org](https://www.python.org/) and saves them to a file.                                                                                |
-| Weight Converter                         | [Weight Converter](https://github.com/WatashiwaSid/Python-Scripts/tree/main/Weight%20Converter)                                                        | Simple GUI script to convert weight in different measurement units.                                                                                               |
+| Weight Converter                         | [Weight Converter](https://github.com/DhanushNehru/Python-Scripts/tree/main/Weight%20Converter)                                                        | Simple GUI script to convert weight in different measurement units.                                                                                               |
 | Wikipedia Data Extractor                 | [Wikipedia Data Extractor](https://github.com/DhanushNehru/Python-Scripts/tree/main/Wikipedia%20Data%20Extractor)                                      | A simple Wikipedia data extractor script to get output in your IDE.                                                                                               |
 | Word to PDF                              | [Word to PDF](https://github.com/DhanushNehru/Python-Scripts/tree/main/Word%20to%20PDF%20converter)                                                    | A Python script to convert an MS Word file to a PDF file.                                                                                                         |
 | Youtube Downloader                       | [Youtube Downloader](https://github.com/DhanushNehru/Python-Scripts/tree/main/Youtube%20Downloader)                                                    | Downloads any video from [YouTube](https://youtube.com) in video or audio format!                                                                                 |

From 0b09cdeccb2334325cebebb1dce36d9c65c1baad Mon Sep 17 00:00:00 2001
From: Dhanush <dhanushxenocrate@gmail.com>
Date: Fri, 20 Jun 2025 11:28:49 +0000
Subject: [PATCH 17/17] feat: Thread Progress Script

---
 README.md                          |  1 +
 Thread Progress/README.md          | 19 +++++++++++++++++++
 Thread Progress/thread_progress.py | 28 ++++++++++++++++++++++++++++
 3 files changed, 48 insertions(+)
 create mode 100644 Thread Progress/README.md
 create mode 100644 Thread Progress/thread_progress.py

diff --git a/README.md b/README.md
index 74f1276..6f9cbe5 100644
--- a/README.md
+++ b/README.md
@@ -141,6 +141,7 @@ More information on contributing and the general code of conduct for discussion
 | Take a break                             | [Take a break](https://github.com/DhanushNehru/Python-Scripts/tree/main/Take%20A%20Break)                                                              | Python code to take a break while working long hours.                                                                                                             |
 | Text Recognition                         | [Text Recognition](https://github.com/DhanushNehru/Python-Scripts/tree/Text-Recognition/Text%20Recognition)                                              | A Image Text Recognition ML Model to extract text from Images                                                                                                     |
 | Text to Image                            | [Text to Image](https://github.com/DhanushNehru/Python-Scripts/tree/main/Text%20to%20Image)                                                            | A Python script that will take your text and convert it to a JPEG.                                                                                                |
+| Thread Progress                          | [Thread Progress](https://github.com/DhanushNehru/Python-Scripts/tree/main/Thread%20Progress)                                                              | A Python script demonstrating safe multithreading by using a lock to update a shared progress variable concurrently.                                                           |
 | Tic Tac Toe 1                            | [Tic Tac Toe 1](https://github.com/DhanushNehru/Python-Scripts/tree/main/Tic-Tac-Toe%201)                                                              | A game of Tic Tac Toe.                                                                                                                                            |
 | Tik Tac Toe 2                            | [Tik Tac Toe 2](https://github.com/DhanushNehru/Python-Scripts/tree/main/Tic-Tac-Toe%202)                                                              | A game of Tik Tac Toe.                                                                                                                                            |
 | Turtle Art & Patterns                    | [Turtle Art](https://github.com/DhanushNehru/Python-Scripts/tree/main/Turtle%20Art)                                                                    | Scripts to view turtle art also have prompt-based ones.                                                                                                           |
diff --git a/Thread Progress/README.md b/Thread Progress/README.md
new file mode 100644
index 0000000..1430bf2
--- /dev/null
+++ b/Thread Progress/README.md	
@@ -0,0 +1,19 @@
+## Thread Progress
+
+This script demonstrates the use of **Python threads** to simulate parallel progress updates using a shared variable and a `Lock` to avoid race conditions.
+
+### 🧠 Concepts Covered
+
+- Python `threading.Thread`
+- Synchronization with `threading.Lock`
+- Global variables and shared state
+- Simulated concurrent work using `time.sleep`
+
+### 📝 Description
+
+Two threads increment a shared `progress` variable by `10` in a loop. A `Lock` ensures only one thread can modify the shared variable at a time, preventing race conditions.
+
+### 👉 Run
+```
+python3 thread_progress.py
+```
diff --git a/Thread Progress/thread_progress.py b/Thread Progress/thread_progress.py
new file mode 100644
index 0000000..4b272e8
--- /dev/null
+++ b/Thread Progress/thread_progress.py	
@@ -0,0 +1,28 @@
+import threading
+import time
+
+# Shared variable
+progress = 0
+lock = threading.Lock()
+
+def increase_by_10():
+    global progress
+    for _ in range(10):
+        time.sleep(0.01)  # Simulate work
+        with lock:  # Only one thread can change `progress` at a time
+            progress += 10
+            print(f"{threading.current_thread().name}: progress = {progress}%")
+
+# Create two threads
+thread1 = threading.Thread(target=increase_by_10, name="Thread-1")
+thread2 = threading.Thread(target=increase_by_10, name="Thread-2")
+
+# Start the threads
+thread1.start()
+thread2.start()
+
+# Wait for both threads to finish
+thread1.join()
+thread2.join()
+
+print(f"Final progress: {progress}%")
