From 7b4d711b4d2ba41ddcb31dfdba2725aadaa87b74 Mon Sep 17 00:00:00 2001 From: Ben Pedigo Date: Wed, 11 Sep 2024 11:54:40 -0700 Subject: [PATCH] possible smarter versioning --- caveclient/base.py | 5 ++++- caveclient/materializationengine.py | 7 ++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/caveclient/base.py b/caveclient/base.py index 32a43960..3ac9c27d 100644 --- a/caveclient/base.py +++ b/caveclient/base.py @@ -251,7 +251,10 @@ def server_version(self) -> Optional[Version]: """The version of the service running on the remote server. Note that this refers to the software running on the server and has nothing to do with the version of the datastack itself.""" - return self._server_version + if self._server_version is None and self._api_version is not None: + return Version(str(self._api_version)) + else: + return self._server_version @staticmethod def raise_for_status(r, log_warning=True): diff --git a/caveclient/materializationengine.py b/caveclient/materializationengine.py index 86642561..dbe4e640 100644 --- a/caveclient/materializationengine.py +++ b/caveclient/materializationengine.py @@ -14,6 +14,7 @@ from cachetools import TTLCache, cached from cachetools.keys import hashkey from IPython.display import HTML +from packaging.version import Version from requests import HTTPError from .auth import AuthClient @@ -1659,7 +1660,7 @@ def _assemble_attributes( @property def tables(self) -> TableManager: """The table manager for the materialization engine.""" - if self.server_version < "3.0.0": + if self.server_version < Version("3"): if self._tables is None: if self.fc is not None and self.fc._materialize is not None: self._tables = TableManager(self.fc) @@ -1698,7 +1699,7 @@ def tables(self) -> TableManager: @property def views(self) -> ViewManager: """The view manager for the materialization engine.""" - if self.server_version < "3.0.0": + if self.server_version < Version("3"): if self._views is None: if self.fc is not None and self.fc._materialize is not None: self._views = ViewManager(self.fc) @@ -1896,7 +1897,7 @@ def live_live_query( >>> "column_name": "regex_string" >>> } """ - if self.server_version < 3: + if self.server_version < Version("3"): logging.warning( "Deprecation: this method is to facilitate beta testing of this feature, \ it will likely get removed in future versions. "