Opinionated wrappers to build RPC clients and servers with eio and grpc
  • OCaml 96.6%
  • Dune 2.6%
  • Shell 0.5%
  • Makefile 0.3%
Find a file
Mathieu Barbin b3519adba3
Update README to reflect project archiving status
Added a warning about the repository being archived and expressed gratitude for the learning experience.
2025-10-17 12:48:31 +02:00
.github Upgrade actions/checkout 2025-09-01 14:56:39 +02:00
.vscode Init project from template 2024-01-11 21:50:53 +01:00
example/keyval Apply headache.sh 2025-09-12 16:27:50 +02:00
lib Apply headache.sh 2025-09-12 16:27:50 +02:00
.gitattributes Init project from template 2024-01-11 21:50:53 +01:00
.gitignore Update .gitignore 2024-04-05 12:11:22 +02:00
.headache.config Add headache config 2025-09-12 16:25:29 +02:00
.headache.dirs Add headache config 2025-09-12 16:25:29 +02:00
.ocamlformat Add ocaml-version to ocamlformat config according to the project lower bound 2025-01-10 11:41:32 +01:00
CHANGES.md Upgrade to cmdlang.0.0.5 2024-09-17 22:29:34 +02:00
CODE_OF_CONDUCT.md Adopt OCaml COD 2025-09-12 16:25:39 +02:00
COPYING.HEADER Add headache config 2025-09-12 16:25:29 +02:00
dune Init project from template 2024-01-11 21:50:53 +01:00
dune-project Update dependencies 2025-06-06 09:20:47 +02:00
eio-rpc-tests.opam Update dependencies 2025-06-06 09:20:47 +02:00
grpc-client.opam Update dependencies 2025-06-06 09:20:47 +02:00
grpc-discovery.opam Update dependencies 2025-06-06 09:20:47 +02:00
grpc-quickcheck.opam Update dependencies 2025-06-06 09:20:47 +02:00
grpc-server.opam Require dune.3.17 2024-12-16 10:34:46 +01:00
grpc-spec.opam Require dune.3.17 2024-12-16 10:34:46 +01:00
grpc-stream.opam Require dune.3.17 2024-12-16 10:34:46 +01:00
grpc-test-helpers.opam Update dependencies 2025-06-06 09:20:47 +02:00
headache.sh Add headache config 2025-09-12 16:25:29 +02:00
LICENSE License year 2025-09-12 16:25:14 +02:00
Makefile Prepare 0.0.7 2024-09-08 19:41:42 +02:00
README.md Update README to reflect project archiving status 2025-10-17 12:48:31 +02:00

eio-rpc

⚠️ This repository is now a public archive. I have stopped developping the project and will not be maintaining it forward.

This exploratory work has been an enjoyable educational experience for me. I am thankful to the authors and maintainers of the open-source upstream libraries I have been able to build upon here and learn from. Thank you!


CI Status Coverage Status

eio-rpc is a collection of opinionated libraries designed to build RPC clients and servers with eio.

It currently relies on the following dependencies:

Relationship to ocaml-grpc

ocaml-grpc is a modular library that provides the building blocks for gRPC functionality. It supports various use cases and works with lwt, async, and eio clients/servers. It also supports various libraries implementing the protobuf serialization (ocaml-protoc and ocaml_protoc_plugin). As such, it offers a generic set of tools without recommending a specific choice. This opens the door for more specialized libraries, like eio-rpc, that focus on a particular combination of dependencies and offer a more streamlined interface.

Code Documentation

The code documentation of the latest release is built with odoc and published to GitHub pages here.

Build

This repo depends on unreleased packages that are published to a custom opam-repository, which must be added to the opam switch used to build the project.

For example, if you use a local opam switch, this would look like this:

git clone https://github.com/mbarbin/eio-rpc.git
cd eio-rpc
opam switch create . 5.2.0 --no-install
eval $(opam env)
opam repo add mbarbin https://github.com/mbarbin/opam-repository.git
opam install . --deps-only --with-test --with-doc

Once this is setup, you can build with dune:

dune build @all @runtest