Catalog PyPI
Back to packageRELEASE DETAILS

0.1.9

PyPI

aigit

A CLI tool to automatically generate git commit messages using OpenAI GPT-4

Published2 Jan 2025
Direct dependencies7
Transitive dependenciesNot calculated

README

Version 0.1.9 documentation

AI-powered Git Helper (AIGIT)

AIGIT is a command-line interface (CLI) tool that uses OpenAI to generate commit messages for your Git repositories. It checks the status of your Git repository, generates a commit message based on the changes, and commits those changes.

Installation

To install AIGIT, you need Python 3.6+ installed on your system. You have several options:

Using uv (fastest):

uv tool install aigit

Using pipx (alternative):

pipx install aigit

These methods install AIGIT globally and isolate its dependencies, making it available as the aig command anywhere on your system.

Regular Installation

If you prefer a regular installation:

pip install aigit

Or using uv:

uv pip install aigit

Configuration

Before using AIGIT, you need to configure your OpenAI API key. Run the following command and enter your API key when prompted:

aig --config

Usage

$ aig -h
usage: aig [-h] [--config] [-y]

AI-powered Git Helper

options:
  -h, --help  show this help message and exit
  --config    Configure API Key
  -y, --yes   Auto commit without asking for confirmation

To use AIGIT, navigate to your Git repository and run the following command:

aig

AIGIT will check the status of your Git repository, generate a commit message, and ask for your confirmation before committing the changes. If you want to auto commit without confirmation, use the -y or --yes option:

aig -y

Development

Setup Development Environment

  1. Clone the repository
  2. Install uv if you haven't already: pip install uv
  3. Install dependencies:
    uv pip install .
    

Making Changes

The project uses pyproject.toml for dependency management and build configuration. To add new dependencies:

uv add <package-name>

To remove dependencies:

uv remove <package-name>

Version Updates

When releasing a new version, update the version number in both:

  1. pyproject.toml: Update the version = "x.x.x" field under [project]
  2. aigit/__init__.py: Update the __version__ = "x.x.x" variable

Building and Publishing

  1. Update the version as described above
  2. Run the deployment script:
    ./scripts/deploy.sh
    

The script will:

  • Clean any existing build artifacts
  • Build the package with uv
  • Upload to PyPI
  • Clean up build artifacts if successful
  • Keep build artifacts for inspection if upload fails

For manual deployment, you can run these commands individually:

# Clean artifacts
rm -rf dist/ build/ *.egg-info/

# Build
uv build

# Upload to PyPI
uvx twine upload dist/*

Contributing

Contributions are welcome! Please feel free to submit a pull request.

License

AIGIT is open-source software licensed under the MIT license.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 7

Native requirements
7 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
gitpython
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
gitpythonruntime
instructor
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
instructorruntime
keyring
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
keyringruntime
loguru
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
logururuntime
openai
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
openairuntime
python-dotenv
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
python-dotenvruntime
tiktoken
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
tiktokenruntime

Distribution files

2 collected
aigit-0.1.9-py3-none-any.whl

bdist_wheel · 7.33 KB · Python py3

Source file
aigit-0.1.9.tar.gz

sdist · 6.4 KB · Python source

Source file

Repository

PENDING
nachoal/aig

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 10:49 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:9c4ca2902abb8a601646a8dfd2c99b7ccc0cd9bd206f0eef0f93eb327cbb6da9

Other collected versions

View all collected versions →