Skip to main content

🚀 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
  1. (b) Install from pip:
python3 -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
  1. 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
  1. 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

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 -m -pip install gitbooster;
gitbooster --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.
  • Automated github repository creation.

Metadata

Release files for GitBooster 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for GitBooster 1.0.0
File Size Uploaded
gitbooster-1.0.0.tar.gz 9.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for GitBooster 1.0.0
File Interpreter ABI Platform
GitBooster-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 19.9 kB

Release files / gitbooster-1.0.0.tar.gz

Download URL gitbooster-1.0.0.tar.gz
Size 9.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c20ba32508c51be5e85d6328dc5920dad5439f6411f60ba552342267ba612466
BLAKE2b-256 checksum
How to use checksums
1bb73a300020942846eb3743a9629ecc63f2bcc922ab29ac9a6e00c202dcc118
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 3, 2024.

Transparency log

Release files / GitBooster-1.0.0-py3-none-any.whl

Download URL GitBooster-1.0.0-py3-none-any.whl
Size 10.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
273141436a7bf5f4d33e4482f10cf45373c8d4c7c6f3d159e5adb8f48b09b773
BLAKE2b-256 checksum
How to use checksums
5e45fefd35f2fd68f189959669145d0ddaa3fcab142c6f822216d722943d118b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 3, 2024.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page