Skip to main content

No project description provided

Project description

Code Sage

A django middleware package that provides suggestions for unhandled errors/exceptions by using OpenAI.

Currently, the suggestions are added to the python loggers extra fields.

Features

  • Provide suggestions to resolve unhandled errors using OpenAI
  • Locally cached code sage suggestions
  • Easily enable or disable code sage per environment
  • Customize code sage's suggestion response word length

Requirements

An API key from OpenAPI, which can be found here.

Quickstart

  1. Install code-sage with a package manager, eg.:
    • pip install code-sage
    • poetry add code-sage
    • pipenv install code-sage
  2. Add the following to either django settings or environment variables:
OPEN_AI_API_KEY = "your-api-key"
CODE_SAGE_ENABLED = True
  1. Update the django middleware to include code-sage
MIDDLEWARE = [
    # ...
    "code-sage.middleware.ErrorHandlerMiddleware",
    # ...
]

Example

This was tested with the code

for x in 100:
    print(x)

which gave the suggestion

To fix this error, you need to replace the line "for x in 100:" with "for x in range(100):". This will create an iterable object from the integer 100, allowing the loop to execute correctly.

Testing showed that it can also reference variables names when suggesting a solution. This is thanks to the traceback.format_exc() that is provided to OpenAI when requesting a solution.

This also plays well with things like datadog, thanks to using the extra field in pythons logging. datadog_example.png

Configuration

A few things can be done to configure code sage. These can be set in either environment variables or through django settings files.

Setting Type Default
OPEN_AI_API_KEY String (None)
CODE_SAGE_ENABLED Boolean False
CODE_SAGE_SUGGESTION_WORD_LIMIT Integer 120

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

code_sage-0.1.3.tar.gz (3.8 kB view hashes)

Uploaded Source

Built Distribution

code_sage-0.1.3-py3-none-any.whl (4.7 kB view hashes)

Uploaded Python 3

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