Skip to main content

Python Project for reviewing GitHub PRs with Open AI and Chat-GPT.

Project description

gpt-review

Actions Status Coverage Status License: MIT PyPI Downloads Code style: black

A Python based CLI and GitHub Action to use Open AI or Azure Open AI models to review contents of pull requests.

How to install CLI

First, install the package via pip:

pip install gpt-review

GPT API credentials

You will need to provide an OpenAI API key to use this CLI tool. In order of precedence, it will check the following methods:

  1. Presence of a context file at azure.yaml or wherever CONTEXT_FILE points to. See azure.yaml.template for an example.

  2. AZURE_OPENAI_API_URL and AZURE_OPENAI_API_KEY to connect to an Azure OpenAI API:

    export AZURE_OPENAI_API=<your azure api url>
    export AZURE_OPENAI_API_KEY=<your azure key>
    
  3. OPENAI_API_KEY for direct use of the OpenAI API

    export OPENAI_API_KEY=<your openai key>
    
  4. AZURE_KEY_VAULT_URL to use Azure Key Vault. Put secrets for the url at azure-open-ai and the API Key azure-openai-key, then run:

    export AZURE_KEY_VAULT_URL=https://<keyvault_name>.vault.azure.net/
    az login
    

Main Commands

To show help information about available commands and their usage, run:

gpt --help

To display the current version of this CLI tool, run:

gpt --version

Here are the main commands for using this CLI tool:

1. Ask a Question

To submit a question to GPT and receive an answer, use the following format:

gpt ask "What is the capital of France?"

You can customize your request using various options like maximum tokens (--max-tokens), temperature (--temperature), top-p value (--top-p), frequency penalty (--frequency-penalty), presence penalty (--presence-penalty), etc.

Ask a Question about a File

To submit a question to GPT with a file and receive an answer, use the following format:

gpt ask --files WordDocument.docx "Summarize the contents of this document."

2. Review a PR

To review a PR, use the following format:

gpt github review \
    --access-token $GITHUB_ACCESS_TOKEN \
    --pull-request $PULL_REQUEST_NUMBER \
    --repository $REPOSITORY_NAME

3. Generate a git commit message with GPT

To generate a git commit message with GPT after having added the files, use the following format:

git add .

gpt git commit

For more detailed information on each command and its options, run:

gpt COMMAND --help

Replace COMMAND with one of the main commands listed above (e.g., 'ask').

Developer Setup

To install the package in development mode, with additional packages for testing, run the following command:

pip install -e .[test]

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

gpt_review-0.9.5.tar.gz (34.7 kB view details)

Uploaded Source

Built Distribution

gpt_review-0.9.5-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file gpt_review-0.9.5.tar.gz.

File metadata

  • Download URL: gpt_review-0.9.5.tar.gz
  • Upload date:
  • Size: 34.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for gpt_review-0.9.5.tar.gz
Algorithm Hash digest
SHA256 c9a9e48ec7a561bce38d98ced8a87d54ec831c3553d263ed724607292460ffd5
MD5 181778e055c0c08d728600622ba3760b
BLAKE2b-256 67c73759e37e09f7597ea07c4c8fcfbf1ae43e0e43c24fa92911cb06b71bd9c5

See more details on using hashes here.

File details

Details for the file gpt_review-0.9.5-py3-none-any.whl.

File metadata

  • Download URL: gpt_review-0.9.5-py3-none-any.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for gpt_review-0.9.5-py3-none-any.whl
Algorithm Hash digest
SHA256 04a4a996f3742715ffef18ab3f9d847766285d341b9bdd179bc2100fcaf1be73
MD5 2656870fd721afb0196caae69e56cd3c
BLAKE2b-256 5bf36dd9c4ee43adeda507e70b65361d5f6cc5b30a2ce2ee2a53e0fce65e6fbb

See more details on using hashes here.

Supported by

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