From b58dff6def9a1a1e1048d17127d1dfb7342630e3 Mon Sep 17 00:00:00 2001 From: Chiranjeev Vyas <75154547+thechiranjeevvyas@users.noreply.github.com> Date: Wed, 30 Oct 2024 16:24:49 +0530 Subject: [PATCH] Added Qr Code Scanner script (#361) * all qr code scanner files added * final main readme commits * renamed folder --- QR Code Scanner/Readme.md | 52 +++++++ QR Code Scanner/qr_code.png | Bin 0 -> 61474 bytes QR Code Scanner/qr_scanner.py | 37 +++++ QR Code Scanner/requirements.txt | 4 + README.md | 230 +++++++++++++++---------------- 5 files changed, 208 insertions(+), 115 deletions(-) create mode 100644 QR Code Scanner/Readme.md create mode 100644 QR Code Scanner/qr_code.png create mode 100644 QR Code Scanner/qr_scanner.py create mode 100644 QR Code Scanner/requirements.txt diff --git a/QR Code Scanner/Readme.md b/QR Code Scanner/Readme.md new file mode 100644 index 0000000..45b586d --- /dev/null +++ b/QR Code Scanner/Readme.md @@ -0,0 +1,52 @@ +# QR Code Scanner Script + +This script enables users to scan and decode QR codes from image files (PNG and JPG formats). It uses OpenCV and Pyzbar for decoding QR codes and provides a simple file dialog for selecting images on your local machine. + +## Requirements + +To run this script, you'll need Python 3.x installed on your machine. The required libraries are listed in `requirements.txt`, including: + +- **opencv-python**: For image processing. +- **pyzbar**: For decoding QR codes. +- **Pillow**: Required for handling image formats. +- **tk**: Provides a file dialog for image selection. + +## Installation + +1. **Clone the repository** (or download the script and `requirements.txt` directly): + ```bash + git clone + cd + ``` +2. **Install dependencies:**(Run the following command to install the necessary libraries from `requirements.txt`:) + + ```bash + pip install -r requirements.txt + ``` + +## Usage + +1. **Run the script** (Execute the QR code scanner script using:) + ```bash + python qr_code_scanner.py + ``` +2. **Select an Image** + - A file dialog will open, allowing you to select a PNG or JPG image containing a QR code. + - Once an image is selected, the script will attempt to decode any QR code present in the image. +3. **View the Output** + - If a QR code is detected, its contents will be displayed in the terminal. + +## Requirements.txt File + +The `requirements.txt` file lists all dependencies for the QR code scanner script. This file ensures that the correct versions of each library are installed to avoid compatibility issues. Libraries in `requirements.txt` include: + +```bash +opencv-python +pyzbar +Pillow +tk +``` + +Make sure to install these libraries by running pip install -r `requirements.txt` before using the script. + +## License diff --git a/QR Code Scanner/qr_code.png b/QR Code Scanner/qr_code.png new file mode 100644 index 0000000000000000000000000000000000000000..c75d16d81c95a67c0b970f986758836f6fc9e3a0 GIT binary patch literal 61474 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 G-uXYRrIY~x literal 0 HcmV?d00001 diff --git a/QR Code Scanner/qr_scanner.py b/QR Code Scanner/qr_scanner.py new file mode 100644 index 0000000..6757700 --- /dev/null +++ b/QR Code Scanner/qr_scanner.py @@ -0,0 +1,37 @@ +import cv2 +from pyzbar.pyzbar import decode +from tkinter import filedialog +from tkinter import Tk +from PIL import Image + +def scan_qrcode(image_path): + # Load the image using OpenCV + img = cv2.imread(image_path) + + # Decode the QR code in the image + decoded_objects = decode(img) + + # Check if any QR code is found + if decoded_objects: + for obj in decoded_objects: + print(f"QR Code Detected: {obj.data.decode('utf-8')}") + else: + print("No QR code detected in the image.") + +def open_file(): + # Open a file dialog to allow the user to select an image file (PNG or JPG) + root = Tk() + root.withdraw() # Hide the main tkinter window + file_path = filedialog.askopenfilename( + title="Select Image", + filetypes=[("Image files", "*.png;*.jpg;*.jpeg")] + ) + + if file_path: + print(f"Selected file: {file_path}") + scan_qrcode(file_path) + else: + print("No file selected.") + +if __name__ == "__main__": + open_file() diff --git a/QR Code Scanner/requirements.txt b/QR Code Scanner/requirements.txt new file mode 100644 index 0000000..0d2d4fc --- /dev/null +++ b/QR Code Scanner/requirements.txt @@ -0,0 +1,4 @@ +opencv-python +pyzbar +Pillow +tk diff --git a/README.md b/README.md index 6a27668..2d22336 100644 --- a/README.md +++ b/README.md @@ -38,126 +38,126 @@ More information on contributing and the general code of conduct for discussion ## 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. | -| Countdown Timer | [Countdown Timer](https://github.com/DhanushNehru/Python-Scripts/tree/master/Countdown%20Timer) | Displays a message when the Input time elapses. | -| 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 | -| 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. | -| 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 | -| 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. -|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. | -| 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. | -| 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. -| 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 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. | -| 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. | -| 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 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. | -| 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. | -| 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/Charul00/Python-Scripts/tree/main/Web%20Scraper) | A Python script that scrapes blog titles from 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. +| 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. | +| Countdown Timer | [Countdown Timer](https://github.com/DhanushNehru/Python-Scripts/tree/master/Countdown%20Timer) | Displays a message when the Input time elapses. | +| 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 | +| 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. | +| 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 | +| 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. | +| 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. | +| 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. | +| 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. | +| 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. | +| 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. | +| 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 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. | +| 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. | +| 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/Charul00/Python-Scripts/tree/main/Web%20Scraper) | A Python script that scrapes blog titles from 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. | ## Gitpod Use the cloud-free development environment where you can directly start coding. -You can use Gitpod in the cloud [![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/DhanushNehru/Python-Scripts/) - +You can use Gitpod in the cloud [![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/DhanushNehru/Python-Scripts/) ## Wall of Contributors