Skip to main content

GitBooster: Boosts your GitHub stats with automated, scheduled commits to keep your profile active.

Project description

🚀 GitBooster

Upload Python Package Pylint Python application

GitBooster is a Python-powered automation tool designed to keep your GitHub activity graph green by automatically modifying files, committing changes, and pushing them to your repositories. With seamless scheduling via cron jobs, GitBooster ensures your contributions remain consistent, all while being easy to configure and use.


🌟 Features

  • Automated File Updates: Randomly appends updates to a file in your repository.
  • Dynamic Commit Messages: Choose from a list of customizable commit messages.
  • Automatic Scheduling: Set up cron jobs directly from the script for periodic execution.
  • Fully Configurable: Easily manage repository path, file, commit messages, and schedule with command-line arguments.

🚀 Getting Started

Prerequisites

  1. Install Python (3.6 or higher) 2.a. Install the required Python libraries:
python3 -m venv .venv
source .venv/bin/activate
python setup.py install

2.b. Install from pip:

python3 -m m pip install gitbooster
  1. Create a Repository: It is strongly recommended to use a dummy repository for testing and automation to avoid cluttering important repositories. Example:
    git init dummy-repo
    cd dummy-repo
    echo "Initial commit" > README.md
    git add README.md
    git commit -m "Initial commit"
    git remote add origin https://github.com/your-username/dummy-repo.git
    git push -u origin main
  • Build the package:
rm -rf build dist *.egg-info;
python setup.py sdist bdist_wheel;
pip install dist/GitBooster-0.0.1-py3-none-any.whl;

Usage

  • 1️⃣ Run the Script Manually: Modify a file, commit, and push the changes:
python3 gitbooster.py --repo-path /path/to/repo --file-to-modify activity_file.txt
  • 2️⃣ Schedule the Script: Add a cron job to automate the script execution:
python3 gitbooster.py --repo-path /path/to/repo --file-to-modify activity_file.txt --setup-cron --schedule daily
  • 3️⃣ Customize Commit Messages: Use your own list of commit messages:
python3 gitbooster.py --repo-path /path/to/repo --file-to-modify activity_file.txt --commit-messages "Boosted activity" "Automation is awesome" "Another automated commit"

🔧 Arguments

🔧 Arguments

Argument Type Default Description
--repo-path String Required Path to your local GitHub repository.
--file-to-modify String Required Name of the file to modify within the repository.
--commit-messages List Random messages List of commit messages to randomly choose from.
--setup-cron Flag False If set, the script will schedule itself in the crontab.
--remove-cron Flag False If set, the script will remove itself in the crontab.
--schedule String every3hours Frequency for scheduling (hourly, daily, or every3hours).
--user String username If set, use this user (no check) for the cronjob, else it uses the logged user

Example

cd GitBooster/;
python3 gitbooster/gitbooster.py --repo-path $PWD/. --file-to-modify activity_file.txt --commit-messages "Boosted activity" "Automation is awesome" "Another automated commit" --setup-cron --schedule daily
Modifying file: /home/ElNiak/Documents/Projects/GitBooster/./activity_file.txt
Ensured directories exist for: /home/ElNiak/Documents/Projects/GitBooster/./activity_file.txt
Appended modification: 
Automated update at 2024-12-03 09:57:17.438760
Committing and pushing changes in repo: /home/ElNiak/Documents/Projects/GitBooster/.
Repository has changes.
Changes added to staging area.
Committed changes with message: Automation is awesome
Changes pushed to remote repository: Automation is awesome
Scheduling cron job for user: ElNiak
Created new cron job: * * * * * python3 /home/ElNiak/Documents/Projects/GitBooster/gitbooster/gitbooster.py
Set job frequency to daily.
Cron job scheduled with frequency: daily

🎯 Why Use GitBooster?

  1. 🕒 Save Time: No need to manually make changes or push updates.
  2. 📈 Boost GitHub Stats: Keep your contribution graph consistently green.
  3. 🔄 Fully Automated: Set it and forget it with cron scheduling.

💡 Future Enhancements

  • Add support for multiple file modifications.
  • Support for custom time schedules.
  • Integration with GitHub API for real-time repository insights.

📜 License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitbooster-0.0.1.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

GitBooster-0.0.1-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file gitbooster-0.0.1.tar.gz.

File metadata

  • Download URL: gitbooster-0.0.1.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for gitbooster-0.0.1.tar.gz
Algorithm Hash digest
SHA256 c28a066620e3b5d9ca43991183f92d45ab7da14de9ea2a958576e54dedab3cff
MD5 adaa6050e07c34f40745d019d1319bbc
BLAKE2b-256 5e5fd534634425a25fd64813a85d7ec9ac96b21e5c3341cb1a848e6f7f9b69b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitbooster-0.0.1.tar.gz:

Publisher: python-publish.yml on ElNiak/GitBooster

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file GitBooster-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: GitBooster-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for GitBooster-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9234b9da1eaea8ebe7023f8ce3da5c3189981f45cc4c711c9c2a1f42c264d22c
MD5 e86276cc253f019c1c857edc1169038b
BLAKE2b-256 75757de5385992137f8db6a782a6b50a754e39d8e9e8eda4d4b8128c2299d1de

See more details on using hashes here.

Provenance

The following attestation bundles were made for GitBooster-0.0.1-py3-none-any.whl:

Publisher: python-publish.yml on ElNiak/GitBooster

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page