Server API
Tier: Stable Core
CLICK Modbus TCP simulator and server utilities.
pyclickplc.ClickServer
Modbus TCP server simulating a CLICK PLC.
is_running
is_running() -> bool
Return True when the underlying listener transport is active.
list_clients
list_clients() -> list[ServerClientInfo]
Return the currently connected Modbus TCP clients.
disconnect_client
disconnect_client(client_id: str) -> bool
Disconnect a single client by pymodbus connection id.
disconnect_all_clients
disconnect_all_clients() -> int
Disconnect all connected clients and return how many were closed.
start
async
start() -> None
Start the Modbus TCP server.
stop
async
stop() -> None
Stop the server gracefully.
serve_forever
async
serve_forever() -> None
Start the server and block until stopped.
pyclickplc.MemoryDataProvider
Bases: AddressNormalizerMixin
In-memory DataProvider for testing and simple use cases.
get
get(address: str) -> PlcValue
Synchronous read convenience.
set
set(address: str, value: PlcValue) -> None
Synchronous write convenience.
bulk_set
bulk_set(values: dict[str, PlcValue]) -> None
Set multiple values at once.
pyclickplc.ServerClientInfo
dataclass
Connected client metadata exposed by ClickServer.
pyclickplc.run_server_tui
async
run_server_tui(
server: ClickServer,
*,
prompt: str = "clickserver> ",
input_fn: Callable[[str], str] | None = None,
output_fn: Callable[[str], None] | None = None,
) -> None
Run a basic interactive command loop for a ClickServer.