From 33069e2ed268758448b8677c4955d4a306e1b304 Mon Sep 17 00:00:00 2001 From: khalid Date: Thu, 6 Aug 2026 12:08:09 +0100 Subject: [PATCH 1/2] fix: move server version from api version index page to homepage --- src/simdb/remote/apis/__init__.py | 2 -- src/simdb/remote/app.py | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/simdb/remote/apis/__init__.py b/src/simdb/remote/apis/__init__.py index b75a9680..dbde4937 100644 --- a/src/simdb/remote/apis/__init__.py +++ b/src/simdb/remote/apis/__init__.py @@ -7,7 +7,6 @@ from flask import Blueprint, Response, jsonify, request from flask_restx import Resource -from simdb import __version__ from simdb.database import Database from simdb.remote.core.auth import AuthenticationError, User, requires_auth from simdb.remote.core.typing import current_app @@ -82,7 +81,6 @@ def get(self): { "api": "simdb", "api_version": api.version, - "server_version": __version__, "endpoints": [ request.url + "simulations", request.url + "files", diff --git a/src/simdb/remote/app.py b/src/simdb/remote/app.py index f436165d..8a80a123 100644 --- a/src/simdb/remote/app.py +++ b/src/simdb/remote/app.py @@ -6,6 +6,7 @@ from flask_compress import Compress from flask_cors import CORS +from simdb import __version__ from simdb.config import Config from simdb.database.database import check_migrations, run_migrations @@ -57,6 +58,7 @@ def index(): "endpoints": endpoints, "authentication": authenticators[0].Name, "authenticators": [auth.Name for auth in authenticators], + "server_version": __version__, } ) From 2e5d0a672d4346a6ecc067e8fe1d1980c90c974c Mon Sep 17 00:00:00 2001 From: khalid Date: Thu, 6 Aug 2026 12:20:52 +0100 Subject: [PATCH 2/2] fix: redirect get_server_version func to server root endpoint --- src/simdb/cli/remote_api.py | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/src/simdb/cli/remote_api.py b/src/simdb/cli/remote_api.py index 99f87363..16682981 100644 --- a/src/simdb/cli/remote_api.py +++ b/src/simdb/cli/remote_api.py @@ -342,7 +342,7 @@ def __init__( self._api_version = selected_version self._api_url += f"{selected_version}/" - self.version = Version.coerce(self.get_api_version()) + self.version = Version.coerce(selected_version.lstrip("v")) self.server_version = Version.coerce(self.get_server_version()) def _load_cookies( @@ -463,6 +463,32 @@ def get( check_return(res) return res + def get_root( + self, + headers: Optional[Dict] = None, + stream: bool = False, + ) -> "requests.Response": + """ + Perform an HTTP GET request to the server root endpoint. + + @param headers: additional headers to send with the request. + @param stream: True to enable streaming. + @return: + """ + + headers = headers or {} + headers["Accept-encoding"] = "gzip" + headers["User-Agent"] = "it_script_basic" + + res = requests.get( + self._url, + headers=headers, + cookies=self._cookies, + stream=stream, + ) + check_return(res) + return res + def put(self, url: str, data: Dict, **kwargs) -> "requests.Response": """ Perform an HTTP PUT request. @@ -651,7 +677,7 @@ def get_api_version(self) -> str: @versioned_method("v1.2", "v1.3") @try_request def get_server_version(self) -> str: - res = self.get("", authenticate=False) + res = self.get_root() data = res.json() return data["server_version"]