A server implementation for Robot Framework JSON-RPC remote protocol.
Project description
robotframework-jsonrpcremote-server
A Robot Framework Remote Server powered by JSON-RPC 2.0. It hosts your existing Robot Framework libraries and exposes them to remote clients such as JsonRpcRemote over a modern, bidirectional protocol.
Features
- Robot-first: Runs regular Robot Framework libraries without code changes.
- JSON-RPC 2.0: Uses the same protocol contract as the client package for requests, responses, and log notifications.
- Live logging: Forwards Robot log messages to the connected client while keywords execute.
- Efficient core: Designed for multiple concurrent clients.
- Scoped imports: Restrict which libraries may be imported by passing them explicitly on startup.
- Configurable transport: TCP is implemented today; pipe/stdio modes are wired but not implemented yet.
Installation
pip install robotframework-jsonrpcremote-server
Requires Python >= 3.10 and Robot Framework >= 7.0.
Quick start (TCP)
Expose one or more Robot Framework libraries over TCP (default port 8271, default bind 127.0.0.1).
robot-jsonrpcremote-server --bind 0.0.0.0 --port 8271 MyLibrary
Then point your client library to tcp://<host>:8271:
*** Settings ***
Library JsonRpcRemote uri=tcp://127.0.0.1:8271 library_name=MyLibrary
CLI options
robot-jsonrpcremote-server [options] LIBRARY [LIBRARY ...]
--bind ADDRESS(repeatable): Address(es) to bind. Defaults to127.0.0.1. Also accepts comma-separatedROBOT_JSONRPC_BIND.--port PORT: TCP port (default8271orROBOT_JSONRPC_PORT).--mode {tcp,pipe}: Server mode (tcptoday;pipe/stdionot implemented yet).--pipe-name NAME: Pipe name for future pipe mode (defaultrobot_jsonrpcremote_pipeorROBOT_JSONRPC_PIPE_NAME).--pythonpath/-P PATH(repeatable): Additional directories made importable before loading libraries, like robot's--pythonpath. Lets you serve libraries that live outside the installed packages.--variable name:value(repeatable): Set an individual Robot variable, like robot's--variable. (No-valias here, since-vis--verbose.)--variablefile/-V PATH(repeatable): Load variables from a file, like robot's--variablefile.--outputdir/-d DIR: Directory for Robot output files, like robot's--outputdir.-v/--verbose: Enable debug logging.--version: Show version.- Positional
LIBRARY: One or more libraries allowed to load. If provided, only these are accepted by clients.
Environment variables
ROBOT_JSONRPC_MODE: Default server mode (fallback totcp).ROBOT_JSONRPC_BIND: Comma-separated bind addresses.ROBOT_JSONRPC_PORT: Default port.ROBOT_JSONRPC_PIPE_NAME: Default pipe name placeholder.
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file robotframework_jsonrpcremote_server-0.2.0.tar.gz.
File metadata
- Download URL: robotframework_jsonrpcremote_server-0.2.0.tar.gz
- Upload date:
- Size: 15.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"CachyOS Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ec0e387758eaff9258130c501a981e48bde45e6e0674b41f3e0859b3784cb10
|
|
| MD5 |
f32464d65c22126e0c87fc71a25d3469
|
|
| BLAKE2b-256 |
094b3902dc12dd303c97632fdacf4b9955ba8673e81bcc0ee07d94d38f3ba3c1
|
File details
Details for the file robotframework_jsonrpcremote_server-0.2.0-py3-none-any.whl.
File metadata
- Download URL: robotframework_jsonrpcremote_server-0.2.0-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"CachyOS Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9695c7bce8ef47e6b37d3d6422e93eb8eb4ffc476a75aaee006591a894c9a33d
|
|
| MD5 |
d850dcca8ae873fe67cb0d69cd30794b
|
|
| BLAKE2b-256 |
3a4aa1fa56676aa370bce1b59859240e20e25a93f26c3d0b68814309fc332ff8
|