Skip to content

Fix Linting Issues #14

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 5 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -2,4 +2,6 @@
__pycache__
/public/dist
.idea
.python-version
.python-version
build/
dist/
4 changes: 1 addition & 3 deletions openai/__init__.py
Original file line number Diff line number Diff line change
@@ -27,6 +27,4 @@
log = None

# API resources
from openai.api_resources import * # noqa

from openai.error import OpenAIError, APIError, InvalidRequestError
from openai.api_resources import * # noqa
25 changes: 11 additions & 14 deletions openai/api_requestor.py
Original file line number Diff line number Diff line change
@@ -7,7 +7,6 @@
import time
import uuid
import warnings
import gzip
from io import BytesIO
from collections import OrderedDict

@@ -18,13 +17,11 @@
from openai.openai_response import OpenAIResponse
from openai.upload_progress import BufferReader


def _encode_datetime(dttime):
if dttime.tzinfo and dttime.tzinfo.utcoffset(dttime) is not None:
utc_timestamp = calendar.timegm(dttime.utctimetuple())
else:
utc_timestamp = time.mktime(dttime.timetuple())

return int(utc_timestamp)


@@ -41,23 +38,23 @@ def _api_encode(data):
if value is None:
continue
elif hasattr(value, "openai_id"):
yield (key, value.openai_id)
yield key, value.openai_id
elif isinstance(value, list) or isinstance(value, tuple):
for i, sv in enumerate(value):
if isinstance(sv, dict):
subdict = _encode_nested_dict("%s[%d]" % (key, i), sv)
for k, v in _api_encode(subdict):
yield (k, v)
yield k, v
else:
yield ("%s[%d]" % (key, i), util.utf8(sv))
yield "%s[%d]" % (key, i), util.utf8(sv)
elif isinstance(value, dict):
subdict = _encode_nested_dict(key, value)
for subkey, subvalue in _api_encode(subdict):
yield (subkey, subvalue)
yield subkey, subvalue
elif isinstance(value, datetime.datetime):
yield (key, _encode_datetime(value))
yield key, _encode_datetime(value)
else:
yield (key, util.utf8(value))
yield key, util.utf8(value)


def _build_api_url(url, query):
@@ -258,10 +255,10 @@ def request_raw(
if my_api_key is None:
raise error.AuthenticationError(
"No API key provided. (HINT: set your API key using in code using "
'"openai.api_key = <API-KEY>", or you can set the environment variable OPENAI_API_KEY=<API-KEY>). You can generate API keys '
'"openai.api_key = <API-KEY>", or you can set the environment variable OPENAI_API_KEY=<API-KEY>). '
'You can generate API keys '
"in the OpenAI web interface. See https://onboard.openai.com "
"for details, or email support@openai.com if you have any "
"questions."
"for details, or email support@openai.com if you have any questions"
)

abs_url = "%s%s" % (self.api_base, url)
@@ -313,9 +310,9 @@ def request_raw(
post_data = GZIPCompressedStream(post_data, compression_level=9)
else:
raise error.APIConnectionError(
"Unrecognized HTTP method %r. This may indicate a bug in the "
"Unrecognized HTTP method {}. This may indicate a bug in the "
"OpenAI bindings. Please contact support@openai.com for "
"assistance." % (method,)
"assistance.".format(method)
)

headers = self.request_headers(my_api_key, method, headers)
2 changes: 1 addition & 1 deletion openai/api_resources/engine.py
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@

import time

from openai import api_requestor, util
from openai import util
from openai.api_resources.abstract import (
ListableAPIResource,
UpdateableAPIResource,
2 changes: 1 addition & 1 deletion openai/api_resources/fine_tune.py
Original file line number Diff line number Diff line change
@@ -18,4 +18,4 @@ def cancel(cls, id, api_key=None, request_id=None, **params):
url = "%s/%s/cancel" % (base, extn)
instance = cls(id, api_key, **params)
headers = util.populate_headers(request_id=request_id)
return instance.request("post", url, headers=headers)
return instance.request("post", url, headers=headers)
4 changes: 1 addition & 3 deletions openai/api_resources/list_object.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
from __future__ import absolute_import, division, print_function

from openai import api_requestor, six, util
from openai.openai_object import OpenAIObject

from openai.six.moves.urllib.parse import quote_plus


@@ -67,7 +65,7 @@ def _request(
openai_account = openai_account or self.openai_account

requestor = api_requestor.APIRequestor(
api_key, api_version=openai_version, account=openai_account
api_key, api_version=openai_version
)
headers = util.populate_headers(idempotency_key)
response, api_key = requestor.request(method_, url_, params, headers)
1 change: 0 additions & 1 deletion openai/api_resources/snapshot.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
from openai.api_resources.abstract.engine_api_resource import EngineAPIResource
from openai.api_resources.abstract import (
ListableAPIResource,
DeletableAPIResource,
1 change: 0 additions & 1 deletion openai/cli.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import json
import sys
import warnings

import openai


23 changes: 12 additions & 11 deletions openai/multipart_data_generator.py
Original file line number Diff line number Diff line change
@@ -1,31 +1,35 @@
from __future__ import absolute_import, division, print_function

import random
import io

import openai
import re
from openai import six


def initialize_boundary():
return random.randint(0, 2 ** 63)


def remove_array_element(input_string):
match = re.match(r"^(.*)\[.*\]$", input_string)
return match[1] if match else input_string


class MultipartDataGenerator(object):
def __init__(self, chunk_size=1028):
self.data = io.BytesIO()
self.line_break = "\r\n"
self.boundary = self._initialize_boundary()
self.boundary = initialize_boundary()
self.chunk_size = chunk_size

def _remove_array_element(self, input_string):
match = re.match(r"^(.*)\[.*\]$", input_string)
return match[1] if match else input_string

def add_params(self, params):
# Flatten parameters first
params = dict(openai.api_requestor._api_encode(params))

for key, value in openai.six.iteritems(params):

# strip array elements if present from key
key = self._remove_array_element(key)
key = remove_array_element(key)

if value is None:
continue
@@ -87,6 +91,3 @@ def _write_file(self, f):
if not file_contents:
break
self._write(file_contents)

def _initialize_boundary(self):
return random.randint(0, 2 ** 63)
1 change: 0 additions & 1 deletion openai/object_classes.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from __future__ import absolute_import, division, print_function

from openai import api_resources
from openai.api_resources.experimental.completion_config import CompletionConfig

2 changes: 0 additions & 2 deletions openai/openai_object.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
from __future__ import absolute_import, division, print_function

import datetime
import json
from copy import deepcopy

import openai
from openai import api_requestor, util, six

1 change: 0 additions & 1 deletion openai/openai_response.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from __future__ import absolute_import, division, print_function

import json


1 change: 0 additions & 1 deletion openai/upload_progress.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import requests
import io


10 changes: 4 additions & 6 deletions openai/util.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
from __future__ import absolute_import, division, print_function

import functools
import hmac
import io
import logging
import sys
import os
import re

import openai
from openai import six
from openai.six.moves.urllib.parse import parse_qsl


OPENAI_LOG = os.environ.get("OPENAI_LOG")
@@ -19,13 +16,13 @@

__all__ = [
"io",
"parse_qsl",
"utf8",
"log_info",
"log_debug",
"log_warn",
"dashboard_link",
"logfmt",
"merge_dicts"
]


@@ -64,10 +61,11 @@ def log_info(message, **params):
print(msg, file=sys.stderr)
logger.info(msg)


def log_warn(message, **params):
msg = logfmt(dict(message=message, **params))
print(msg, file=sys.stderr)
logger.warn(msg)
logger.warning(msg)


def _test_or_live_environment():
@@ -87,7 +85,7 @@ def dashboard_link(request_id):

def logfmt(props):
def fmt(key, val):
# Handle case where val is a bytes or bytesarray
# Handle case where val is a bytes or bytes array
if six.PY3 and hasattr(val, "decode"):
val = val.decode("utf-8")
# Check if val is already a string to avoid re-encoding into
1 change: 0 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import os

from setuptools import find_packages, setup

version_contents = {}