:py:mod:`viam.rpc.server` ========================= .. py:module:: viam.rpc.server Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: viam.rpc.server.Server Attributes ~~~~~~~~~~ .. autoapisummary:: viam.rpc.server.LOGGER .. py:data:: LOGGER .. py:class:: Server(resources: List[viam.resource.base.ResourceBase], *, module_service: Optional[viam.module.service.ModuleRPCService] = None) Bases: :py:obj:`viam.resource.manager.ResourceManager` gRPC Server .. py:method:: serve(host: Optional[str] = 'localhost', port: Optional[int] = 9090, log_level: Optional[int] = logging.INFO, *, path: Optional[str] = None) :async: Server the gRPC server on the provided host and port :param host: Desired hostname of the server. Defaults to "localhost". :type host: Optional[str], optional :param port: Desired port of the server. Defaults to 9090. :type port: Optional[int], optional :param log_level: The minimum log level. To not receive any logs, set to None. Defaults to logging.INFO. :type log_level: Optional[int], optional :param path: UNIX socket path. Takes precedence over `host` and `port` if set. Defaults to None. :type path: Optional[str], optional .. py:method:: create_and_serve(components: List[viam.resource.base.ResourceBase], host: Optional[str] = 'localhost', port: Optional[int] = 9090, log_level: int = logging.INFO, *, path: Optional[str] = None) :classmethod: :async: Convenience method to create and start the server. :param components: List of components to manage :type components: List[ComponentBase] :param host: Desired hostname. Defaults to "localhost". :type host: str, optional :param port: Desired port. Defaults to 9090. :type port: int, optional :param log_level: The minimum log level. To not receive any logs, set to None. Defaults to logging.INFO :type log_level: int, optional :param path: UNIX socket path. Takes precedence over `host` and `port` if set. Defaults to None. :type path: Optional[str], optional .. py:method:: close() :async: Close the resourcce manager by removing all resources. Please note that any errors will not raise an exception. Errors will still be logged.