Skip to content

A beginner-friendly collection of Python scripts to automate everyday tasks. | Welcoming contributions for Hacktoberfest 2025! πŸŽ‰

Notifications You must be signed in to change notification settings

Tanish-Km/Hacktoberfest-2025-Python-scripts

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

119 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Python Scripts Collection

Hacktoberfest 2025 GitHub License

This repository contains Python scripts designed to automate common tasks. It is beginner-friendly and open for contributions during Hacktoberfest 2025.

Table of Contents

  1. About
  2. Getting Started
  3. Usage
  4. Contributing
  5. Project Structure
  6. Contributors
  7. Contact

About

The repository currently contains the following scripts:

  • file_renamer.py β€” Rename all files in a folder with a specific prefix and optional extension filter.
  • image_compressor.py β€” Compress images individually or in bulk using Pillow.
  • factorial_calculator.py β€” Calculate the factorial of a non-negative integer.
  • password_generator.py β€” Generate strong, random passwords with customizable criteria.
  • Folder Cleaner- Delete files older than n days.
  • PDF Merger - Merge multiple PDFs into one.
  • Bulk Image Resizer - Resize all images to a fixed width.
  • CSV to Excel Converter - Convert all CSV files in a folder to Excel.
  • To Do List - A simple Python-based To-Do List Manager to add, view, and remove tasks directly from the terminal.
  • Emotion Detection - Detect emotions from webcam feed using deep learning.
  • Object Detection - Detects Objects from webcam feed using AI/ML.
  • TicTacToe - In this game the player has to play through the 3X3 grid on 3X3 where firt player will play the turn and subsequently the secong player moves would be restricted in that child board.
  • Wordle Game - A Python implementation of Wordle where you guess a 5-letter word in 6 attempts with feedback for correct letters and positions.
  • Email Sender - Send emails to multiple recipients with optional attachments, including logging and error handling.
  • Library Management System - A Python program to manage books, track borrowing/returning, and store data persistently.

This collection aims to help users automate repetitive tasks efficiently and serve as an introduction to Python scripting and open-source contributions.

Getting Started

Prerequisites

Before running the scripts, ensure you have the following installed:

  • Python 3.9+
  • Git
  • Optional: Node.js (for additional scripts or integration)

Installation

  1. Fork the repository on GitHub.
  2. Clone your fork to your local machine:
git clone https://github.com/YOUR-USERNAME/Hacktoberfest-2025.git
cd Hacktoberfest-2025
  1. Install dependencies:
pip install -r requirements.txt

If using Node.js scripts:

npm install

Usage

  1. File Renamer
from Scripts.file_renamer import rename_files
rename_files("documents", prefix="report", extension=".txt")
  1. Image Compressor
from Scripts.image_compressor import compress_folder
compress_folder("images","compressed_images",quality=60)
  1. Factorial Calculator
from Scripts.factorial_calculator import factorial
print(f"Factorial of 5: {factorial(5)}")
print(f"Factorial of 0: {factorial(0)}")
  1. Password Generator
from Scripts.password_generator import generate_password
print(f"Generated password: {generate_password(length=16, use_symbols=False)}")

Both scripts include detailed docstrings and inline comments to guide usage.

  1. Emotion Detection
  • make sure you are running it on Python 3.9 or above till 3.11.5
  • make sure you have keras, tensorflow, opencv-python, numpy installed. You can install them using:
pip install keras tensorflow opencv-python numpy

in terminal.

  • run the script using:
python Scripts/Emotion_Detection/EmotionDetection.py

in terminal

  1. Object Detection
  • make sure you are running it on Python 3.9 or above
  • make sure you have tkinter, opencv-python, numpy, Pillow. You can install them using:
  • pip install tkinter opencv-python numpy Pillow
  • make sure you download YOLOV3.weights file, check readme file in /scripts/Object-Detection-System/.
  • run the script using:
    python Scripts/Object-Detection-System/main.py

Contributing

We welcome contributions of all kinds from improving documentation to adding new scripts.

  1. Review the [CONTRIBUTION.md] guide.
  2. Create a new branch for your changes:
git checkout -b feat/your-feature-name
  1. Commit your changes with a descriptive message:
git commit -m "docs: improve README and add usage examples"
  1. Push your branch and open a Pull Request.

CI/CD Automation

This repository uses GitHub Actions to automate code quality checks and ensure consistency. All automations are defined in the .github/workflows directory.

Python Linter

We have a workflow that automatically runs the flake8 linter on every pull request. This process checks the Python code for common programming errors, style issues, and complexity.

  1. When a pull request is opened, the workflow is triggered automatically.
  2. It installs Python and the project's dependencies.
  3. It runs flake8 to analyze the code.

If the linter finds any critical errors, the workflow will fail. A "pass" or "fail" status will be reported on the pull request page. All checks must pass before a pull request can be merged. This ensures that all contributions adhere to our project's coding standards.

Project Structure

.
β”œβ”€β”€ Scripts/ # Contains Python scripts
β”‚ β”œβ”€β”€ file_renamer.py
β”‚ └── image_compressor.py
β”œβ”€β”€ .gitignore # Files to ignore in Git
β”œβ”€β”€ CONTRIBUTING.md # Contribution guidelines
β”œβ”€β”€ LICENSE # MIT License file
β”œβ”€β”€ README.md # This file
└── WORKFLOW.md # Git and GitHub workflow guide

Contributors

MILAN
MILAN SINGHAL
strikkerJalaj-25/
strikkerJalaj-25
Arnav
Arnav Parmar
Vedansh/
Vedansh
runn3r/
runn3r
Arindam
Arindam Shukla
Anshul-Bartwal/
Anshul-Bartwal
Jalaj
Jalaj Singhal
Manav
Manav Desai
csr76/
csr76
Jay
Jay shah
Harsh
Harsh Rathore

Thanks to these wonderful people for their contributions!

Contact

For questions or support, open an issue and tag the maintainer @milansinghal2004.

About

A beginner-friendly collection of Python scripts to automate everyday tasks. | Welcoming contributions for Hacktoberfest 2025! πŸŽ‰

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%