Skip to main content

A simple tool to automate github uploads

Project description

๐Ÿš€ Motorgit

๐ŸŒŸ Overview

Motorgit is a smart tool designed to automate GitHub repository creations and updates with a single command. It simplifies the workflow for developers by integrating common tasks into a streamlined command-line interface.

๐Ÿ“‹ Table of Contents

  1. โœจ Features
  2. โš™๏ธ Installation
  3. ๐Ÿ“š Usage
  4. ๐Ÿค Contribution
  5. ๐Ÿ“œ License
  6. ๐Ÿ‘ค Author

โœจ Features

  • ๐Ÿ†• Create New Repositories: Quickly create new GitHub repositories from the command line.
  • ๐Ÿ”„ Update Repositories: Easily update existing repositories with a single command.
  • โšก Efficient Workflow: Automates repetitive tasks, saving time and reducing errors.
  • ๐Ÿ” Tab Completion: Support for Bash, Zsh, and Fish shell completion.
  • ๐Ÿ” Secure Credentials: Store GitHub credentials securely using system keyring.

โš™๏ธ Installation

๐Ÿ“ฆ Install from pip

To install Motorgit using pip, run:

pip install motorgit

๐Ÿ”‘ Configure GitHub Credentials

Motorgit provides multiple secure ways to configure your GitHub credentials:

1. Interactive Setup Wizard (Recommended)

Run the setup wizard to configure your credentials interactively:

motorgit setup

This will prompt for your GitHub username, email, and access token, and store them securely using your system's credential store.

2. Manual Login/Logout

You can also use the login/logout commands to manage your credentials:

# Store credentials securely
motorgit login

# Remove stored credentials
motorgit logout

Note: Use motorgit setup for first-time or full configuration (including credentials and other settings). Use motorgit login if you only want to update your GitHub credentials without changing other settings.

Command Prompts for Credentials Stores Credentials Configures Other Settings Intended Use
motorgit setup Yes Yes Yes First-time or full setup
motorgit login Yes Yes No Update credentials only

3. Configuration Management

View or update configuration settings:

# View all configuration
motorgit config

# View specific configuration
motorgit config github_username

# Update configuration
motorgit config github_username yourusername

4. Environment Variables (Legacy Method)

For backward compatibility or CI/CD environments, you can still use environment variables. Add the following lines to your .bashrc or .zshrc file:

export GITHUB_ACCESSTOKEN='your_personal_access_token'
export GITHUB_USERNAME='your_github_username'
export GITHUB_USEREMAIL='your_email@example.com'

After adding the lines, reload your shell configuration:

source ~/.bashrc  # For bash users
source ~/.zshrc   # For zsh users

๐Ÿ”ง Install Locally

To install Motorgit locally from the source code, follow these steps:

1. Clone the repository:

git clone https://github.com/AyushGupta0202/motorgit.git
cd motorgit

2. Install in editable mode:

pip install --editable .

๐Ÿ“š Usage

Usage ๐Ÿ†• Create a New Repository

To create a new repository, use the following command:

motorgit createNewRepo

This command has optional parameters for folder name and whether it should be made as a private repository or not. And then it will create a new repository on GitHub with the specified settings.

Example

motorgit createNewRepo [-n foldername] [-p privaterepo]

๐Ÿ”„ Update Repository

To update an existing repository with a commit message, use:

motorgit updateRepo -m "Motorgit Commit"

This command will add changes to the repository and commit them with the provided message.

Example

motorgit updateRepo [-m commitmessage] [-b branchname]

๐Ÿ” Shell Completion

Motorgit supports shell tab completion for Bash, Zsh, and Fish using Click's built-in shell completion system. To enable shell completion, follow the instructions for your shell:

Bash

Add this to your ~/.bashrc:

eval "$(_MOTORGIT_COMPLETE=bash_source motorgit)"

Or, to generate and source a static script:

_MOTORGIT_COMPLETE=bash_source motorgit > ~/.motorgit-complete.bash
. ~/.motorgit-complete.bash

Zsh

Add this to your ~/.zshrc:

eval "$(_MOTORGIT_COMPLETE=zsh_source motorgit)"

Or, to generate and source a static script:

_MOTORGIT_COMPLETE=zsh_source motorgit > ~/.motorgit-complete.zsh
. ~/.motorgit-complete.zsh

Fish

Add this to ~/.config/fish/completions/motorgit.fish:

_MOTORGIT_COMPLETE=fish_source motorgit > ~/.config/fish/completions/motorgit.fish

After modifying your shell configuration, start a new shell session or source the relevant file to activate completion.

For more details, see the Click Shell Completion documentation.

๐Ÿค Contribution

Contributions are welcome! Please open an issue or submit a pull request on GitHub.

1. ๐Ÿด Fork the repository

2. ๐ŸŒฟ Create a new branch: git checkout -b my-new-feature

3. ๐Ÿ’พ Commit your changes: git commit -am 'Add some feature'

4. ๐Ÿ“ค Push to the branch: git push origin my-new-feature

5. ๐Ÿ” Create a new Pull Request

or after cloning use motorgit commands itself!

๐Ÿ“œ License

Motorgit is licensed under the MIT License. See the LICENSE_MOTORGIT.txt file for more details.

Note: The license file was renamed from LICENSE.txt to LICENSE_MOTORGIT.txt to avoid PyPI upload metadata issues. This ensures smooth uploads and full license compliance.

๐Ÿ‘ค Author

Ayush Gupta

For any inquiries, feel free to contact: ayushg430@gmail.com

Made with โค๏ธ using Python click

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

motorgit-1.0.2.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

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

motorgit-1.0.2-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file motorgit-1.0.2.tar.gz.

File metadata

  • Download URL: motorgit-1.0.2.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for motorgit-1.0.2.tar.gz
Algorithm Hash digest
SHA256 864f25f57861192038418b6bc1c84bd8bf6eb3d7df5562c71cc40db498bf546c
MD5 398f5b37cb51e91b877d4a26b6b7ff23
BLAKE2b-256 25e36feed84bf9a053f7ec43369c9b68e379a73fbbd76e99f4d0d96e9815ee27

See more details on using hashes here.

File details

Details for the file motorgit-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: motorgit-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 4.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for motorgit-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 730b4be99c5ed636faabc843e7df931f17d8122e8fd5be75edbf3794d79cc8cd
MD5 8bacf5bb3cbc48a075b08540b1a5614e
BLAKE2b-256 a7ae53ea5e74a14a58547f7377f45d66ebebdf2d0708e70a164efbc1adb06b02

See more details on using hashes here.

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