Skip to main content

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 to 127.0.0.1. Also accepts comma-separated ROBOT_JSONRPC_BIND.
  • --port PORT: TCP port (default 8271 or ROBOT_JSONRPC_PORT).
  • --mode {tcp,pipe}: Server mode (tcp today; pipe/stdio not implemented yet).
  • --pipe-name NAME: Pipe name for future pipe mode (default robot_jsonrpcremote_pipe or ROBOT_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 -v alias here, since -v is --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 to tcp).
  • 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robotframework_jsonrpcremote_server-0.2.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Hashes for robotframework_jsonrpcremote_server-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2ec0e387758eaff9258130c501a981e48bde45e6e0674b41f3e0859b3784cb10
MD5 f32464d65c22126e0c87fc71a25d3469
BLAKE2b-256 094b3902dc12dd303c97632fdacf4b9955ba8673e81bcc0ee07d94d38f3ba3c1

See more details on using hashes here.

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

Hashes for robotframework_jsonrpcremote_server-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9695c7bce8ef47e6b37d3d6422e93eb8eb4ffc476a75aaee006591a894c9a33d
MD5 d850dcca8ae873fe67cb0d69cd30794b
BLAKE2b-256 3a4aa1fa56676aa370bce1b59859240e20e25a93f26c3d0b68814309fc332ff8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page