From 3c701798b13d25432a1c5741f8397b9ff2a3c31c Mon Sep 17 00:00:00 2001 From: Henk Oordt Date: Wed, 10 Sep 2025 14:19:26 +0200 Subject: [PATCH] Support loading project data from standard pyproject.toml files, falling back to poetry structure --- redisbench_admin/cli.py | 19 +++++++++++++------ redisbench_admin/profilers/daemon.py | 4 ++-- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/redisbench_admin/cli.py b/redisbench_admin/cli.py index 88260e9..a8647e0 100644 --- a/redisbench_admin/cli.py +++ b/redisbench_admin/cli.py @@ -36,15 +36,22 @@ LOG_DATEFMT = "%Y-%m-%d %H:%M:%S" -def populate_with_poetry_data(): +def populate_with_project_data(): project_name = "redisbench-admin" project_version = __version__ project_description = None try: - poetry_data = toml.load("pyproject.toml")["tool"]["poetry"] - project_name = poetry_data["name"] - project_version = poetry_data["version"] - project_description = poetry_data["description"] + pyproject_toml = toml.load("pyproject.toml") + if 'project' in pyproject_toml: + project_data = pyproject_toml["project"] + project_name = project_data["name"] + project_version = project_data["version"] + project_description = project_data.get("description") + else: + poetry_data = pyproject_toml["tool"]["poetry"] + project_name = poetry_data["name"] + project_version = poetry_data["version"] + project_description = poetry_data["description"] except FileNotFoundError: pass @@ -59,7 +66,7 @@ def main(): ) sys.exit(1) requested_tool = sys.argv[1] - project_name, project_description, project_version = populate_with_poetry_data() + project_name, project_description, project_version = populate_with_project_data() parser = argparse.ArgumentParser( description=project_description, formatter_class=argparse.ArgumentDefaultsHelpFormatter, diff --git a/redisbench_admin/profilers/daemon.py b/redisbench_admin/profilers/daemon.py index 4c90613..66310dd 100644 --- a/redisbench_admin/profilers/daemon.py +++ b/redisbench_admin/profilers/daemon.py @@ -16,7 +16,7 @@ import daemonize from flask import Flask, request -from redisbench_admin.cli import populate_with_poetry_data +from redisbench_admin.cli import populate_with_project_data from redisbench_admin.profilers.perf import Perf from redisbench_admin.profilers.perf_daemon_caller import PERF_DAEMON_LOGNAME from redisbench_admin.profilers.profilers_local import local_profilers_platform_checks @@ -282,7 +282,7 @@ def profile_stop(profiler_name, pid): def main(): - _, project_description, project_version = populate_with_poetry_data() + _, project_description, project_version = populate_with_project_data() project_name = "perf-daemon" parser = argparse.ArgumentParser( description=project_description,