From 433faf76f839d2720eced8b3fcb634e5d3fddc9a Mon Sep 17 00:00:00 2001 From: justinpolygon <123573436+justinpolygon@users.noreply.github.com> Date: Fri, 16 Oct 2026 13:15:26 -0700 Subject: [PATCH] [SPT-1668] Report the SDK version in the User-Agent and __version__ The version was looked up for the "massive-api-client" package, an unofficial third-party wrapper, instead of "massive". The User-Agent was "Massive.com PythonClient/unknown" for everyone (or the wrapper's version if it was installed). massive.__version__ was also set to the importlib.metadata.version function instead of the version string. --- massive/__init__.py | 4 ++-- massive/rest/base.py | 2 +- test_rest/test_version.py | 20 ++++++++++++++++++++ 3 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 test_rest/test_version.py diff --git a/massive/__init__.py b/massive/__init__.py index da6c5136..3e662352 100644 --- a/massive/__init__.py +++ b/massive/__init__.py @@ -1,6 +1,6 @@ from .rest import RESTClient -from .rest.base import version +from .rest.base import version, version_number from .websocket import WebSocketClient from .exceptions import * -__version__ = version +__version__ = version_number diff --git a/massive/rest/base.py b/massive/rest/base.py index 294dd482..8e2c4ac7 100644 --- a/massive/rest/base.py +++ b/massive/rest/base.py @@ -16,7 +16,7 @@ logger = get_logger("RESTClient") version_number = "unknown" try: - version_number = version("massive-api-client") + version_number = version("massive") except PackageNotFoundError: pass diff --git a/test_rest/test_version.py b/test_rest/test_version.py new file mode 100644 index 00000000..abe80d5a --- /dev/null +++ b/test_rest/test_version.py @@ -0,0 +1,20 @@ +import unittest +from importlib.metadata import version + +import massive +from massive import RESTClient + + +class VersionTest(unittest.TestCase): + def test_version(self): + self.assertEqual(massive.__version__, version("massive")) + + def test_user_agent(self): + self.assertEqual( + RESTClient(api_key="key").headers["User-Agent"], + f"Massive.com PythonClient/{version('massive')}", + ) + + +if __name__ == "__main__": + unittest.main()