Skip to content

joprice/ocaml-grpc

 
 

Repository files navigation

OCaml gRPC

OCaml-CI Build Status docs

Pure OCaml implementation of gRPC over HTTP2.

Supported features:

  • RPCs: unary, server streaming, client streaming, bidirectional streaming
  • Client (Eio, Lwt and Async), server (Eio, Lwt and Async)

Getting Started

To get started, browse the documentation and the examples:

  • examples/greeter-{client,server}-{async,lwt,eio} implements a basic "Hello world" service using ocaml-protoc-plugin for Protobuf serialization
  • examples/greeter-{client-tls-async,server-ssl-lwt} showcases the greeter service over a secure connection
  • examples/etcd interfaces with an external etcd server and shows how to use ocaml-protoc-plugin for Protobuf serialization
  • examples/routeguide implements the "Route Guide" service using Eio and ocaml-protoc-plugin for Protobuf serialisation.
  • examples/routeguide-{client,server}-{async,lwt} showcases the Route Guide service using Async and LWT.

Tutorials

  • The helloworld tutorial provides a basic example of using gRPC with LWT, perfect for first time users!
  • The routeguide tutorial provides a complete example of using gRPC with Eio and all its features.

Acknowledgments

This MVP version of this library was built by @jeffa5. Andrew gratiously passed the baton to our team to develop it into a full fledged production-ready implementation.

Releases

No releases published

Packages

No packages published

Languages

  • OCaml 96.7%
  • Nix 3.2%
  • Makefile 0.1%