Skip to main content

A Python library to automatically generate suggestions and improvements for patches in GitHub PRs by leveraging the power of OpenAI.

Project description

PyAnsys Python PyPI GH-CI MIT Black

Overview

The review-bot package is a Python development tool for leveraging the power of OpenAI to automatically generate suggestions for improving GitHub pull requests. To generate suggestions for improvements, this tool considers code style, logical errors, and other possible issues. Using this tool makes the code review process smoother and more efficient, ensuring that your code base is high quality, easy to maintain, and adheres to best practices.

Install the review-bot package with this command:

pip install review-bot

Installation

Two installation modes are provided: user and developer.

For users

First, to make sure that you have the latest version of pip, run this command:

python -m pip install -U pip

Then, to install the review-bot package, run this command:

python -m pip install review-bot

Token configuration

To use this tool to review GitHub pull requests, you must have two tokens for accessing the bot functionalities:

  • GitHub access token

  • Azure OpenAI token

Subsequent sections explain how to obtain these tokens and set them up for your project.

Ensure that you keep your tokens confidential and do not share them publicly. Additionally, always follow the best security practices to protect your project and data from unauthorized access.

GitHub access token

A GitHub access token is required to access the GitHub API for certain features, such as querying repositories, creating issues, and managing pull requests.

To obtain a GitHub access token, perform these steps:

  1. Create a GitHub account: If you do not already have a GitHub account, sign up for one at https://github.com/signup.

  2. Generate a PAT (personal access token): After signing into your GitHub account, go to Personal access tokens (classic) in your GitHub developer settings and click the Generate a personal access token link. Follow the prompts to configure your new token, choosing the scope of access required based on your project’s needs.

  1. Copy the token: After creating the token, GitHub displays it only once. Make sure that you copy the token to a secure location because you are not able to see it again.

  2. Set the token as an environment variable: To use the project with your GitHub access token, set the token as an environment variable having this name: GITHUB_TOKEN.

Azure OpenAI token

The Azure OpenAI token is required to access the OpenAI API for utilizing the advanced AI capabilities provided by Microsoft Azure.

To obtain an Azure OpenAI token, perform these steps:

  1. Sign up for Azure: If you do not already have an Azure account, sign up for a free account at https://azure.com/free.

  2. Create an OpenAI resource: Once you have an Azure account, create an OpenAI resource in the Azure portal. This resource provides you with the necessary credentials to access the OpenAI API.

  3. Copy the token: After creating the resource, Azure sends you a token (key) that grants you access to the OpenAI services. Make sure that you copy this token to a secure location.

  4. Set the token as an environment variable: To use the project with your Azure OpenAI token, set the token as an environment variable having this name: OPEN_AI_TOKEN.

Additional required environment variables

In addition to setting up environment variables for the GitHub access token and Azure OpenAI token, you must set up some additional environment variables to customize the behavior of the OpenAI project. The following variables allow you to fine tune various aspects of the OpenAI model and the OpenAI API integration.

OPENAI_API_BASE

  • Description: Specifies the base URL of the OpenAI Azure API. This environment variable allows you to set the API endpoint for making requests to the OpenAI services.

  • Example: https://your-api-name.openai.azure.com

OPENAI_API_TYPE

  • Description: Defines the type of the OpenAI API. This environment variable is used to specify that you are using the Azure version of OpenAI.

  • Example: azure

OPENAI_API_VERSION

  • Description: Indicates the version of the OpenAI API to use. This environment variable ensures compatibility with the specific version of the AI model.

  • Example: 2023-05-15

OPENAI_MODEL

  • Description: Allows you to select a particular AI model or engine provided by your Azure OpenAI deployment. You can check your deployment to see the names of your models. Different models may have varying capabilities and performance.

  • Example: gpt-3.5-turbo-france or text-davinci-002

With all these environment variables properly configured, you are ready to leverage the full potential of the review bot.

Optionally, if you are using the review bot through CLI locally, you can set the Azure OpenAI variables in a JSON configuration file as per this example:

{
   "OPEN_AI_TOKEN": "your-token",
   "OPENAI_MODEL": "gpt-4",
   "OPENAI_API_BASE": "https://your-api-base.openai.azure.com/",
   "OPENAI_API_VERSION": "2023-03-15-preview",
   "OPENAI_API_TYPE": "azure"
}

CLI usage

To use the CLI (command-line interface) of the review bot, run this command:

reviewbot <-r path-to-repo> [-c path-to-openai-config]

pre-commit

The style checks take advantage of pre-commit. Developers are encouraged to install this tool by running this command:

python -m pip install pre-commit && pre-commit install

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

review_bot-0.2.0.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

review_bot-0.2.0-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file review_bot-0.2.0.tar.gz.

File metadata

  • Download URL: review_bot-0.2.0.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for review_bot-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9cf6b29aaa4a0e39bdfa8a923f474c37075020d6ae4eb1e94baf38df8e9b4060
MD5 8c78d33dfae09e6b8b1bca8d1e76f145
BLAKE2b-256 d884e680e115de4350c39c3db10533b0aa8ae6e3509e1036c80ae254a6dcbef6

See more details on using hashes here.

File details

Details for the file review_bot-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: review_bot-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 20.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for review_bot-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2447a0d3e930474888371062c6b0f2d341d26099aaa0dc852366c49865a726fb
MD5 e17b1265c5219104b8f45a8dd16349f9
BLAKE2b-256 213f6b77d3059bfe118e8a549517581ae7b885605a6954cfa5eddadb9ebaa47e

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