lightform-oss / mercury

Mercury - modular JSON-RPC for Scala

Website GitHub

Mercury, a JSON-RPC library for Scala

Travis (.com) Codacy grade GitHub Maven Central

A modular JSON-RPC 2.0 library that allows pluggable transport layers, JSON libraries, and effect/async monads.
Developed at Lightform to communicate with embedded devices where the device is acting in the server role.

This project has the following guiding goals:

  • Free and open source license
  • Allow for swappable transports
  • Allow for swappable JSON libraries
  • Be practical when transport layer details leak (eg. user ID from HTTP auth request header needs to be available to logic code but isn't in the params section of the request)
  • Be usable without code generation (especially client), although we hope to eventually support code generation.

Getting Started

If something you're looking for isn't listed below, click here!
Feel free to open an issue with questions.

Currently supported transports

Currently supported JSON libraries