This repository contains Python scripts designed to automate common tasks. It is beginner-friendly and open for contributions during Hacktoberfest 2025.
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.
Before running the scripts, ensure you have the following installed:
- Python 3.9+
- Git
- Optional: Node.js (for additional scripts or integration)
- Fork the repository on GitHub.
- Clone your fork to your local machine:
git clone https://github.com/YOUR-USERNAME/Hacktoberfest-2025.git
cd Hacktoberfest-2025- Install dependencies:
pip install -r requirements.txtIf using Node.js scripts:
npm install- File Renamer
from Scripts.file_renamer import rename_files
rename_files("documents", prefix="report", extension=".txt")- Image Compressor
from Scripts.image_compressor import compress_folder
compress_folder("images","compressed_images",quality=60)- Factorial Calculator
from Scripts.factorial_calculator import factorial
print(f"Factorial of 5: {factorial(5)}")
print(f"Factorial of 0: {factorial(0)}")- 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.
- 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 numpyin terminal.
- run the script using:
python Scripts/Emotion_Detection/EmotionDetection.pyin terminal
- 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
We welcome contributions of all kinds from improving documentation to adding new scripts.
- Review the [CONTRIBUTION.md] guide.
- Create a new branch for your changes:
git checkout -b feat/your-feature-name- Commit your changes with a descriptive message:
git commit -m "docs: improve README and add usage examples"- Push your branch and open a Pull Request.
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.
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.
- Checks out the code: Downloads the latest version of your pull request
- Sets up Python: Installs Python 3.11 environment
- Installs dependencies: Automatically installs pip, flake8, and any project requirements
- Runs the linter: Executes flake8 to check for:
- Python syntax errors
- Undefined variable names
- Code style issues
- Complexity violations
- 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
- β 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.
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.
βββ 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
Thanks to these wonderful people for their contributions!
For questions or support, open an issue and tag the maintainer @milansinghal2004.