From 809e67d4590d62699084aa833a69d6bc1c661c1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ianar=C3=A9=20S=C3=A9vi?= Date: Wed, 12 Jan 2022 15:07:46 +0100 Subject: [PATCH] chg: :sparkles: add user-agent header with SDK and Python versions --- mindee/__init__.py | 1 + mindee/http.py | 8 +++++++- mindee/versions.py | 19 +++++++++++++++++++ setup.py | 7 +++---- 4 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 mindee/versions.py diff --git a/mindee/__init__.py b/mindee/__init__.py index 50514a36..9805dcdb 100644 --- a/mindee/__init__.py +++ b/mindee/__init__.py @@ -9,6 +9,7 @@ from mindee.documents.invoice import Invoice from mindee.documents.passport import Passport + DOCUMENT_CLASSES = { "receipt": Receipt, "invoice": Invoice, diff --git a/mindee/http.py b/mindee/http.py index e6882b64..eeebcd4a 100644 --- a/mindee/http.py +++ b/mindee/http.py @@ -1,4 +1,7 @@ import requests +from mindee.versions import __version__, python_version, get_platform + +platform = get_platform() def request(url, input_file, token, include_words=False): @@ -12,7 +15,10 @@ def request(url, input_file, token, include_words=False): input_file.file_object.seek(0) files = {"document": (input_file.filename, input_file.file_object.read())} - headers = {"Authorization": f"Token {token}"} + headers = { + "Authorization": f"Token {token}", + "User-Agent": f"mindee-api-python@v{__version__} python-v{python_version} {platform}", + } params = {} if include_words: diff --git a/mindee/versions.py b/mindee/versions.py new file mode 100644 index 00000000..762d935b --- /dev/null +++ b/mindee/versions.py @@ -0,0 +1,19 @@ +import sys + +__version__ = "1.2.3" + +python_version = "%s.%s" % (sys.version_info[0], sys.version_info[1]) + + +def get_platform() -> str: + platforms = { + "linux": "linux", + "win32": "windows", + "darwin": "macos", + "aix": "aix", + "freebsd": "freebsd", + } + for name, agent_name in platforms.items(): + if sys.platform.startswith(name): + return agent_name + return sys.platform diff --git a/setup.py b/setup.py index d6d47341..2ed6ce43 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,6 @@ import re from setuptools import find_packages, setup - -__version__ = None +from mindee.versions import __version__ with open("README.md", "r", newline="", encoding="utf-8") as fh: @@ -32,10 +31,10 @@ def make_requirements_list(file="requirements.txt", only_regular=True): setup( - python_requires=">=3.0", + python_requires=">=3.6", name=f"{PACKAGE_NAME}", description="Mindee API helper library for python", - version="v1.2.3", + version=__version__, long_description=long_description, long_description_content_type="text/markdown", url=GIT_URL,