From f4cebbfcb5073f9e942fa7b40ecd5a474072c945 Mon Sep 17 00:00:00 2001 From: Matthew Sokoloff Date: Mon, 1 Feb 2021 12:19:32 -0500 Subject: [PATCH 1/8] added sdk version to headers --- labelbox/_version.py | 1 + labelbox/client.py | 5 +++-- setup.py | 5 ++++- 3 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 labelbox/_version.py diff --git a/labelbox/_version.py b/labelbox/_version.py new file mode 100644 index 000000000..f00f55677 --- /dev/null +++ b/labelbox/_version.py @@ -0,0 +1 @@ +__version__ = "2.4.9" diff --git a/labelbox/client.py b/labelbox/client.py index 14384da84..a35078208 100644 --- a/labelbox/client.py +++ b/labelbox/client.py @@ -19,8 +19,8 @@ from labelbox.schema.user import User from labelbox.schema.organization import Organization from labelbox.schema.labeling_frontend import LabelingFrontend - logger = logging.getLogger(__name__) +from labelbox._version import __version__ as SDK_VERSION _LABELBOX_API_KEY = "LABELBOX_API_KEY" @@ -66,7 +66,8 @@ def __init__(self, self.headers = { 'Accept': 'application/json', 'Content-Type': 'application/json', - 'Authorization': 'Bearer %s' % api_key + 'Authorization': 'Bearer %s' % api_key, + 'X-User-Agent' : f'python-sdk {SDK_VERSION}' } @retry.Retry(predicate=retry.if_exception_type( diff --git a/setup.py b/setup.py index 4532e2563..0fc062126 100644 --- a/setup.py +++ b/setup.py @@ -1,11 +1,14 @@ import setuptools +from labelbox._version import __version__ with open("README.md", "r") as fh: long_description = fh.read() + + setuptools.setup( name="labelbox", - version="2.4.9", + version=__version__, author="Labelbox", author_email="engineering@labelbox.com", description="Labelbox Python API", From 8db7692a4cb2b6f7e4714621d89b27621260449a Mon Sep 17 00:00:00 2001 From: Matt Sokoloff Date: Wed, 3 Feb 2021 09:25:15 -0500 Subject: [PATCH 2/8] Update client.py --- labelbox/client.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/labelbox/client.py b/labelbox/client.py index a35078208..231b59714 100644 --- a/labelbox/client.py +++ b/labelbox/client.py @@ -19,9 +19,10 @@ from labelbox.schema.user import User from labelbox.schema.organization import Organization from labelbox.schema.labeling_frontend import LabelingFrontend -logger = logging.getLogger(__name__) from labelbox._version import __version__ as SDK_VERSION +logger = logging.getLogger(__name__) + _LABELBOX_API_KEY = "LABELBOX_API_KEY" From e029d0e7b3fe56d9638d4832e7515fe4dfd2b5ea Mon Sep 17 00:00:00 2001 From: Matt Sokoloff Date: Wed, 3 Feb 2021 09:26:45 -0500 Subject: [PATCH 3/8] Update _version.py --- labelbox/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/labelbox/_version.py b/labelbox/_version.py index f00f55677..be9f35c0d 100644 --- a/labelbox/_version.py +++ b/labelbox/_version.py @@ -1 +1 @@ -__version__ = "2.4.9" +__version__ = "2.4.10" From fb496d6c9ad46dc5b9f983c72570886fb884b9bb Mon Sep 17 00:00:00 2001 From: Matt Sokoloff Date: Thu, 4 Feb 2021 10:06:42 -0500 Subject: [PATCH 4/8] format code --- setup.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/setup.py b/setup.py index 0fc062126..fb7ef4320 100644 --- a/setup.py +++ b/setup.py @@ -4,8 +4,6 @@ with open("README.md", "r") as fh: long_description = fh.read() - - setuptools.setup( name="labelbox", version=__version__, From 07683e490428a20ceb2d0d2a9f67f964f3bc4343 Mon Sep 17 00:00:00 2001 From: Matt Sokoloff Date: Thu, 4 Feb 2021 10:08:57 -0500 Subject: [PATCH 5/8] format --- labelbox/client.py | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/labelbox/client.py b/labelbox/client.py index 231b59714..75da01610 100644 --- a/labelbox/client.py +++ b/labelbox/client.py @@ -33,7 +33,6 @@ class Client: authentication key). Provides functions for querying and creating top-level data objects (Projects, Datasets). """ - def __init__(self, api_key=None, endpoint='https://api.labelbox.com/graphql'): @@ -68,7 +67,7 @@ def __init__(self, 'Accept': 'application/json', 'Content-Type': 'application/json', 'Authorization': 'Bearer %s' % api_key, - 'X-User-Agent' : f'python-sdk {SDK_VERSION}' + 'X-User-Agent': f'python-sdk {SDK_VERSION}' } @retry.Retry(predicate=retry.if_exception_type( @@ -113,10 +112,14 @@ def convert_value(value): if params is not None: params = { - key: convert_value(value) for key, value in params.items() + key: convert_value(value) + for key, value in params.items() } - data = json.dumps({'query': query, 'variables': params}).encode('utf-8') + data = json.dumps({ + 'query': query, + 'variables': params + }).encode('utf-8') try: response = requests.post(self.endpoint, @@ -270,18 +273,18 @@ def upload_data(self, request_data = { "operations": - json.dumps({ - "variables": { - "file": None, - "contentLength": len(content), - "sign": False - }, - "query": - """mutation UploadFile($file: Upload!, $contentLength: Int!, + json.dumps({ + "variables": { + "file": None, + "contentLength": len(content), + "sign": False + }, + "query": + """mutation UploadFile($file: Upload!, $contentLength: Int!, $sign: Boolean) { uploadFile(file: $file, contentLength: $contentLength, sign: $sign) {url filename} } """, - }), + }), "map": (None, json.dumps({"1": ["variables.file"]})), } response = requests.post( @@ -290,7 +293,7 @@ def upload_data(self, data=request_data, files={ "1": (filename, content, content_type) if - (filename and content_type) else content + (filename and content_type) else content }) try: From c5b437fe91ff9cd9a27a435799e123f76f4f2419 Mon Sep 17 00:00:00 2001 From: Matt Sokoloff Date: Thu, 4 Feb 2021 10:10:45 -0500 Subject: [PATCH 6/8] google format --- labelbox/client.py | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/labelbox/client.py b/labelbox/client.py index 75da01610..a4b9a6043 100644 --- a/labelbox/client.py +++ b/labelbox/client.py @@ -33,6 +33,7 @@ class Client: authentication key). Provides functions for querying and creating top-level data objects (Projects, Datasets). """ + def __init__(self, api_key=None, endpoint='https://api.labelbox.com/graphql'): @@ -112,14 +113,10 @@ def convert_value(value): if params is not None: params = { - key: convert_value(value) - for key, value in params.items() + key: convert_value(value) for key, value in params.items() } - data = json.dumps({ - 'query': query, - 'variables': params - }).encode('utf-8') + data = json.dumps({'query': query, 'variables': params}).encode('utf-8') try: response = requests.post(self.endpoint, @@ -273,18 +270,18 @@ def upload_data(self, request_data = { "operations": - json.dumps({ - "variables": { - "file": None, - "contentLength": len(content), - "sign": False - }, - "query": - """mutation UploadFile($file: Upload!, $contentLength: Int!, + json.dumps({ + "variables": { + "file": None, + "contentLength": len(content), + "sign": False + }, + "query": + """mutation UploadFile($file: Upload!, $contentLength: Int!, $sign: Boolean) { uploadFile(file: $file, contentLength: $contentLength, sign: $sign) {url filename} } """, - }), + }), "map": (None, json.dumps({"1": ["variables.file"]})), } response = requests.post( @@ -293,7 +290,7 @@ def upload_data(self, data=request_data, files={ "1": (filename, content, content_type) if - (filename and content_type) else content + (filename and content_type) else content }) try: From 0b8587e78aa0522a1dddfc70dcb7a7def1465f04 Mon Sep 17 00:00:00 2001 From: Matt Sokoloff Date: Thu, 4 Feb 2021 10:19:37 -0500 Subject: [PATCH 7/8] parse __init__.py for version --- labelbox/__init__.py | 3 ++- labelbox/_version.py | 1 - labelbox/client.py | 2 +- setup.py | 9 +++++++-- 4 files changed, 10 insertions(+), 5 deletions(-) delete mode 100644 labelbox/_version.py diff --git a/labelbox/__init__.py b/labelbox/__init__.py index 680e44068..0b876d51c 100644 --- a/labelbox/__init__.py +++ b/labelbox/__init__.py @@ -1,4 +1,5 @@ name = "labelbox" +__version__ = "2.4.10" from labelbox.client import Client from labelbox.schema.bulk_import_request import BulkImportRequest @@ -14,4 +15,4 @@ from labelbox.schema.asset_metadata import AssetMetadata from labelbox.schema.webhook import Webhook from labelbox.schema.prediction import Prediction, PredictionModel -from labelbox.schema.ontology import Ontology +from labelbox.schema.ontology import Ontology \ No newline at end of file diff --git a/labelbox/_version.py b/labelbox/_version.py deleted file mode 100644 index be9f35c0d..000000000 --- a/labelbox/_version.py +++ /dev/null @@ -1 +0,0 @@ -__version__ = "2.4.10" diff --git a/labelbox/client.py b/labelbox/client.py index a4b9a6043..cd4bc97a2 100644 --- a/labelbox/client.py +++ b/labelbox/client.py @@ -19,7 +19,7 @@ from labelbox.schema.user import User from labelbox.schema.organization import Organization from labelbox.schema.labeling_frontend import LabelingFrontend -from labelbox._version import __version__ as SDK_VERSION +from labelbox import __version__ as SDK_VERSION logger = logging.getLogger(__name__) diff --git a/setup.py b/setup.py index fb7ef4320..0cbea9283 100644 --- a/setup.py +++ b/setup.py @@ -1,12 +1,17 @@ import setuptools -from labelbox._version import __version__ + +with open('labelbox/__init__.py') as fid: + for line in fid: + if line.startswith('__version__'): + SDK_VERSION = line.strip().split()[-1][1:-1] + break with open("README.md", "r") as fh: long_description = fh.read() setuptools.setup( name="labelbox", - version=__version__, + version=SDK_VERSION, author="Labelbox", author_email="engineering@labelbox.com", description="Labelbox Python API", From d1a1e42d3b0d64d545c19b91a9e6750b739e01e5 Mon Sep 17 00:00:00 2001 From: Matt Sokoloff Date: Fri, 5 Feb 2021 11:47:01 -0500 Subject: [PATCH 8/8] Updated changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 148d2e103..a1350462d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ * Comparing a Labelbox object (e.g. Project) to None doesn't raise an exception * Adding `order_by` to `Project.labels` doesn't raise an exception +## Version 2.4.10 (2021-01-05) +### Added +* SDK version added to request headers + ## Version 2.4.9 (2020-11-09) ### Fix * 2.4.8 was broken for > Python 3.6