Source code for bosdyn.client.license

# Copyright (c) 2023 Boston Dynamics, Inc.  All rights reserved.
#
# Downloading, reproducing, distributing or otherwise using the SDK Software
# is subject to the terms and conditions of the Boston Dynamics Software
# Development Kit License (20191101-BDSDK-SL).

"""License client"""

from bosdyn.api import license_pb2, license_service_pb2_grpc
from bosdyn.client.common import BaseClient, common_header_errors


def _get_entry_value(response):
    return response.license


[docs]class LicenseClient(BaseClient): """Client to acquire robot license.""" # Typical name of the service in the robot's directory listing. default_service_name = 'license' # gRPC service proto definition implemented by this service service_type = 'bosdyn.api.LicenseService' def __init__(self): super(LicenseClient, self).__init__(license_service_pb2_grpc.LicenseServiceStub)
[docs] def get_license_info(self, **kwargs): """Get the robot's installed license.""" req = license_pb2.GetLicenseInfoRequest() return self.call(self._stub.GetLicenseInfo, req, value_from_response=_get_entry_value, error_from_response=common_header_errors, copy_request=False, **kwargs)
[docs] def get_feature_enabled(self, feature_list, **kwargs): """Check if the installed license allow a list of feature codes.""" assert not isinstance(feature_list, str) req = license_pb2.GetFeatureEnabledRequest() req.feature_codes.extend(feature_list) return self.call(self._stub.GetFeatureEnabled, req, value_from_response=lambda response: dict(response.feature_enabled), error_from_response=common_header_errors, **kwargs)