Source code for conntextual.client

"""
A module implementing conntextual client interfaces.
"""

# built-in
from argparse import ArgumentParser as _ArgumentParser
from argparse import Namespace as _Namespace
from typing import Any

# third-party
from runtimepy.commands.common import arbiter_args


[docs] def client_args( parser: _ArgumentParser, default_factory: str = "tcp_json" ) -> None: """Add command-line argument options for servers.""" parser.add_argument("host", help="hostname to connect to") parser.add_argument("port", type=int, help="port to connect to") parser.add_argument( "-f", "--factory", default=default_factory, help="connection factory to use (default: %(default)s)", ) with arbiter_args(parser, nargs="*"): pass
[docs] def client_config(args: _Namespace) -> dict[str, Any]: """Get a server configuration based on command-line arguments.""" result = { "includes": ["package://runtimepy/factories.yaml"], "clients": [ { "name": "client", "factory": args.factory, "kwargs": {"host": args.host, "port": args.port}, } ], } return result