From 9c5ef1302e0bc063b65b43d04d1b771c9d415a0f Mon Sep 17 00:00:00 2001 From: Daniel D Date: Mon, 3 Aug 2026 18:55:49 +0200 Subject: [PATCH] Add dstack user agent to Nebius SDK --- .../_internal/core/backends/nebius/resources.py | 2 ++ .../_internal/core/backends/nebius/__init__.py | 0 .../core/backends/nebius/test_resources.py | 16 ++++++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 src/tests/_internal/core/backends/nebius/__init__.py create mode 100644 src/tests/_internal/core/backends/nebius/test_resources.py diff --git a/src/dstack/_internal/core/backends/nebius/resources.py b/src/dstack/_internal/core/backends/nebius/resources.py index a27aab3e26..0c56fd9572 100644 --- a/src/dstack/_internal/core/backends/nebius/resources.py +++ b/src/dstack/_internal/core/backends/nebius/resources.py @@ -60,6 +60,7 @@ from dstack._internal.core.models.common import validate_extra_ignore from dstack._internal.utils.event_loop import DaemonEventLoop from dstack._internal.utils.logging import get_logger +from dstack.version import __version__ # # Guidelines on using the Nebius SDK: @@ -107,6 +108,7 @@ def make_sdk(creds: NebiusServiceAccountCreds) -> SDK: service_account_private_key_file_name=f.name, service_account_public_key_id=creds.public_key_id, service_account_id=creds.service_account_id, + user_agent_prefix=f"dstack/{__version__}", ) diff --git a/src/tests/_internal/core/backends/nebius/__init__.py b/src/tests/_internal/core/backends/nebius/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/tests/_internal/core/backends/nebius/test_resources.py b/src/tests/_internal/core/backends/nebius/test_resources.py new file mode 100644 index 0000000000..2764e867c0 --- /dev/null +++ b/src/tests/_internal/core/backends/nebius/test_resources.py @@ -0,0 +1,16 @@ +from dstack._internal.core.backends.nebius import resources +from dstack._internal.core.backends.nebius.models import NebiusServiceAccountCreds + + +def test_make_sdk_sets_user_agent_prefix(mocker): + sdk_cls = mocker.patch.object(resources, "SDK") + mocker.patch.object(resources, "__version__", "1.2.3") + creds = NebiusServiceAccountCreds( + service_account_id="service-account-id", + public_key_id="public-key-id", + private_key_content="private-key", + ) + + resources.make_sdk(creds) + + assert sdk_cls.call_args.kwargs["user_agent_prefix"] == "dstack/1.2.3"