etho.services.ZeroService#

class etho.services.ZeroService.BaseZeroService(*args, serializer: str = 'default', head_ip: str = '192.168.1.1', **kwargs)[source]#

Define abstract base class for all 0services.

Derivations need to change/implement the following properties/methods: LOGGING_PORT: network port for publishing log messages SERVICE_PORT: network port for communication with the head SERVICE_NAME: unique, three-letter identifier for the service is_busy: indicates whether service is running (True/False) cleanup: called when finishing/shutting down the service serviceease hardware, close files etc test - test functionality of the class (?)

Optional: setup start

Global functionality: server_start/server_stop progress - ping - check if server is alive (response with “pong”) init_local_logger(self, logfilename)

[summary]

Parameters
  • serializer (str, optional) – [description]. Defaults to ‘default’.

  • head_ip (str, optional) – [description]. Defaults to ‘192.168.1.1’.

  • logging_port (int, optional) – [description]. Defaults to None.

  • service_port (int, optional) – [description]. Defaults to None.

abstract cleanup()[source]#

free resources

information()[source]#

Information to display about the

should be Dict[str, Dict[str, Any]] should be Dict[str, Tuple[Dict[str, Any], Dict[str, Any]]] should be Dict[str, pd.DataFrame]

Print to terminal with ethoservice.utils.tui.rich_information.

init_local_logger(logfilename)[source]#

log locally to LOGFILENAME

abstract is_busy()[source]#

return state of the instance - IDLE, BUSY, FAILED, etc

service_start(ip_address: str = 'tcp://0.0.0.0')[source]#

Start service.

Parameters

ip_address – “tcp://0.0.0.0

service_stop()[source]#

Stop service.

abstract test()[source]#

test whether the instance will be functional