def init(port=None, do_not_exit=False, disable_tls=False, log_level='WARNING'):
    """Start the Xenon GRPC server on the specified port, or, if a service
    is already running on that port, connect to that.

    If no port is given, a random port is selected. This means that, by
    default, every python instance will start its own instance of a xenon-grpc
    process.

    :param port: the port number
    :param do_not_exit: by default the GRPC server is shut down after Python
        exits (through the `atexit` module), setting this value to `True` will
        prevent that from happening."""
    logger = logging.getLogger('xenon')
    logger.setLevel(logging.INFO)

    logger_handler = logging.StreamHandler()
    logger_handler.setFormatter(logging.Formatter(style='{'))
    logger_handler.setLevel(getattr(logging, log_level))
    logger.addHandler(logger_handler)

    if port is None:
        port = find_free_port()

    if __server__.process is not None:
        logger.warning(
            "You tried to run init(), but the server is already running.")
        return __server__

    __server__.port = port
    __server__.disable_tls = disable_tls
    __server__.__enter__()

    if not do_not_exit:
        atexit.register(__server__.__exit__, None, None, None)

    return __server__
Start the Xenon GRPC server on the specified port, or, if a service
    is already running on that port, connect to that.

    If no port is given, a random port is selected. This means that, by
    default, every python instance will start its own instance of a xenon-grpc
    process.

    :param port: the port number
    :param do_not_exit: by default the GRPC server is shut down after Python
        exits (through the `atexit` module), setting this value to `True` will
        prevent that from happening.