https://github.com/neandertech/jsonrpclib
A cross-platform (JVM, JS, Native) pure-Scala JsonRPC library, made with Cats Effect, fs2, and jsoniter
https://github.com/neandertech/jsonrpclib
cats-effect fs2 jsoniter-scala jsonrpc scala scala-native scalajs
Last synced: 16 days ago
JSON representation
A cross-platform (JVM, JS, Native) pure-Scala JsonRPC library, made with Cats Effect, fs2, and jsoniter
- Host: GitHub
- URL: https://github.com/neandertech/jsonrpclib
- Owner: neandertech
- License: apache-2.0
- Created: 2022-06-26T09:10:51.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-08T18:12:17.000Z (18 days ago)
- Last Synced: 2025-04-08T19:26:37.825Z (18 days ago)
- Topics: cats-effect, fs2, jsoniter-scala, jsonrpc, scala, scala-native, scalajs
- Language: Scala
- Homepage:
- Size: 137 KB
- Stars: 18
- Watchers: 3
- Forks: 6
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/neandertech/jsonrpclib/actions/workflows/ci.yml)
[](https://index.scala-lang.org/neandertech/jsonrpclib/jsonrpclib-fs2)
[](https://index.scala-lang.org/neandertech/jsonrpclib/jsonrpclib-fs2)
# jsonrpclib
This is a cross-platform, cross-scala-version library that provides construct for bidirectional communication using the [jsonrpc](https://www.jsonrpc.org/) protocol. It is built on top of [fs2](https://fs2.io/#/) and [jsoniter-scala](https://github.com/plokhotnyuk/jsoniter-scala)
This library does not enforce any transport, and can work on top of stdin/stdout or other channels.
## Installation
The dependencies below are following [cross-platform semantics](http://youforgotapercentagesignoracolon.com/).
Adapt according to your needs### SBT
```scala
libraryDependencies += "tech.neander" %%% "jsonrpclib-fs2" % version
```### Mill
```scala
override def ivyDeps = super.ivyDeps() ++ Agg(ivy"tech.neander::jsonrpclib-fs2::$version")
```### Scala-cli
```scala
//> using lib "tech.neander::jsonrpclib-fs2:"
```## Usage
**/!\ Please be aware that this library is in its early days and offers strictly no guarantee with regards to backward compatibility**
See the examples folder.