Add CLI client name to client header

This commit is contained in:
allegroai 2023-06-19 11:02:05 +03:00
parent 050d6d8970
commit 1da47a20f8
4 changed files with 29 additions and 5 deletions

View File

@ -156,6 +156,19 @@ class Session(TokenManager):
self._connect() self._connect()
@classmethod
def add_client(cls, client, value, first=True):
# noinspection PyBroadException
try:
if not any(True for c in cls._client if c[0] == client):
if first:
cls._client.insert(0, (client, value))
else:
cls._client.append((client, value))
cls.client = ", ".join("{}-{}".format(*x) for x in cls._client)
except Exception:
pass
def _connect(self): def _connect(self):
if self._offline_mode: if self._offline_mode:
return return
@ -219,8 +232,7 @@ class Session(TokenManager):
if not api_version: if not api_version:
api_version = '2.2' if token_dict.get('env', '') == 'prod' else Session.api_version api_version = '2.2' if token_dict.get('env', '') == 'prod' else Session.api_version
if token_dict.get('server_version'): if token_dict.get('server_version'):
if not any(True for c in Session._client if c[0] == 'clearml-server'): self.add_client('clearml-server', token_dict.get('server_version'))
Session._client.append(('clearml-server', token_dict.get('server_version'), ))
Session.max_api_version = Session.api_version = str(api_version) Session.max_api_version = Session.api_version = str(api_version)
Session.feature_set = str(token_dict.get('feature_set', self.feature_set) or "basic") Session.feature_set = str(token_dict.get('feature_set', self.feature_set) or "basic")

View File

@ -7,7 +7,11 @@ from typing import Sequence
from pathlib2 import Path from pathlib2 import Path
import clearml.backend_api.session
from clearml.datasets import Dataset from clearml.datasets import Dataset
from clearml.version import __version__
clearml.backend_api.session.Session.add_client("clearml-data", __version__)
def check_null_id(args): def check_null_id(args):

View File

@ -1,7 +1,9 @@
import sys
import json import json
import sys
from argparse import ArgumentParser, RawTextHelpFormatter from argparse import ArgumentParser, RawTextHelpFormatter
import clearml.backend_api.session
from clearml import Task
from clearml.automation import ( from clearml.automation import (
DiscreteParameterRange, DiscreteParameterRange,
UniformIntegerParameterRange, UniformIntegerParameterRange,
@ -11,8 +13,11 @@ from clearml.automation import (
RandomSearch, RandomSearch,
GridSearch, GridSearch,
) )
from clearml import Task
from clearml.backend_interface.task.populate import CreateAndPopulate from clearml.backend_interface.task.populate import CreateAndPopulate
from clearml.version import __version__
clearml.backend_api.session.Session.add_client("clearml-param-search", __version__)
try: try:
from clearml.automation.optuna import OptimizerOptuna # noqa from clearml.automation.optuna import OptimizerOptuna # noqa

View File

@ -3,9 +3,12 @@ from argparse import ArgumentParser
from pathlib2 import Path from pathlib2 import Path
import clearml.backend_api.session
from clearml import Task from clearml import Task
from clearml.version import __version__
from clearml.backend_interface.task.populate import CreateAndPopulate from clearml.backend_interface.task.populate import CreateAndPopulate
from clearml.version import __version__
clearml.backend_api.session.Session.add_client("clearml-task", __version__)
def setup_parser(parser): def setup_parser(parser):