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

milansinghal2004/Hacktoberfest-2025

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

182 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 scripts are organized into the following categories:

  • ai_ml/: AI and Machine Learning related scripts (Emotion Detection, Object Detection).
  • data_processing/: Scripts for converting or merging data files (CSV, PDF, Text).
  • development_tools/: Tools for development, testing, and CI/CD.
  • games/: Simple logic-based games (Wordle, Tic-Tac-Toe).
  • image_management/: Scripts for image processing (Resizing, Compression, Code-to-Image).
  • management_systems/: Application-like management scripts (Library Management, To-Do List).
  • math_calculators/: Mathematical and logic calculators.
  • networking_web/: Scripts for web APIs, networking, and information retrieval.
  • security_tools/: Password generators and security-related scripts.
  • system_utilities/: System automation, file management, and cleaning scripts.

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 across all contributions. All automation workflows are defined in the .github/workflows directory.

Python Linter Workflow

Our automated Python linter workflow (python-lint.yml) runs on every pull request to ensure code quality and catch common errors before they reach the main branch.

What the workflow does:

  1. Checks out the code: Downloads the latest version of your pull request
  2. Sets up Python: Installs Python 3.11 environment
  3. Installs dependencies: Automatically installs pip, flake8, and any project requirements
  4. Runs the linter: Executes flake8 to check for:
    • Python syntax errors
    • Undefined variable names
    • Code style issues
    • Complexity violations

How it works:

  • Automatic trigger: Runs when you open or update a pull request
  • Smart detection: Only runs when Python files (.py) are modified
  • Two-phase checking:
    • Critical errors (syntax, undefined names) will fail the build
    • Style warnings are reported but won't block the pull request
  • Real-time feedback: Results appear directly on your pull request within minutes

Status indicators:

  • βœ… Pass: Your code meets all quality standards - ready for review!
  • ❌ Fail: Issues found that need to be fixed before merging
  • πŸ”„ Running: The linter is currently checking your code

This automation ensures that all contributions maintain consistent quality standards and helps catch common programming errors before they are merged into the main branch.

Running the Linter Locally

You can test your code with the same linter before submitting a pull request:

# Install flake8
pip install flake8

# Run the linter (same command as the workflow)
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=88 --statistics

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
Dreammcatcher/
Dreammcatcher
Milan
Milan Singhal
Arnav
Arnav Parmar
Vedansh/
Vedansh
runn3r/
runn3r
Arindam
Arindam Shukla
Komal
Komal Harshita
Jalaj
Jalaj Singhal
Anshul-Bartwal/
Anshul-Bartwal
Manav
Manav Desai
Abinesh
Abinesh B
csr76/
csr76
Jay
Jay shah
ADITHYA-37/
ADITHYA-37
Harsh
Harsh Rathore
MSanjanaa/
MSanjanaa
MSanjanaa/
MSanjanaa
Sahithi
Sahithi Achyutha Ishwarya Kalla
Snehith/
Snehith
Sukarth/
Sukarth
Aditya
Aditya Paul

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! πŸŽ‰

Topics

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 25

Languages