Lake - Erlang RabbitMQ Streams Client


Some of you may have read the RabbitMQ announcement of Streams.

To quote the announcement:

A RabbitMQ stream models an append-only log with non-destructive consuming semantics. This means that – contrary to traditional queues in RabbitMQ – consuming from a stream does not remove messages.

As far as I can tell, there are currently a Java and Go client to connect to RabbitMQ streams, but no Erlang or Elixir client. To take Streams for a spin, we thus wrote a simple Erlang library called lake. The library misses features such as handling clustering, but it works to give streams a try from Erlang and Elixir. See the repository for a usage example.

I hope somebody here finds lake useful!

P.s. This is a cross-post from the elixir forum. I thought people here might also find the library interesting.