Automates the creation and merging of Pull Requests on GitHub to earn the Pull Shark badge 🦈.
Built with the tools and technologies:
This script uses PyGithub to interact with the GitHub API. It generates PRs, merges them automatically, and updates a status file (status.md) with the current count and the corresponding badge.
- Automatically creates temporary branches.
- Generates and merges Pull Requests instantly.
- Updates status.md with the number of merged PRs and the badge (default / bronze / silver / gold).
Instead of cloning directly, please fork this repository to your own GitHub account.
This helps support the project and gives you your own copy to experiment with 🚀
# Fork the repo via GitHub UI, then clone your fork:
git clone https://github.com/<your-username>/Pull-Shark-Script.git
cd Pull-Shark-Script
- Python 3.8+
- PyGithub
Install dependencies:
pip install -r requirements.txt
Create a Personal Access Token and name it as you prefer. You can generate the token in Settings → Developer Settings → Personal Access Token → Token (classic)
The script uses environment variables (or falls back to manual input):
- GITHUB_TOKEN → your GitHub personal access token (with repo permissions).
- GITHUB_REPO → target repo in the format user/repo.
- GITHUB_USER → your GitHub username.
- TARGET_PR → number of PRs to create and merge.
export GITHUB_TOKEN=ghp_xxx
export GITHUB_REPO=username/pull-request-sript
export GITHUB_USER=username
export TARGET_PR=50
python main.py
25 pull requests merged<br>Currently:<br>

- Risk of spam: use this script only on personal/test repos.
- Don’t abuse the GitHub API — you may hit rate limits or trigger abuse detection.
- This script is intended only to unlock the Pull Shark badge, not for production use.
If you find this project useful, don’t forget to:
⭐ Star the repo
👤 Follow me on GitHub → @callmenoway
Your support motivates me to keep improving this project 💙
This project is licensed under the MIT License.