hnaderi / lepus

Your principled, purely functional, non-blocking RabbitMQ client for scala, scala js and scala native built on top of fs2
http://lepus.hnaderi.dev/
Apache License 2.0
24 stars 5 forks source link
amqp amqp0-9-1 cats-effect functional-programming rabbitmq rabbitmq-client scala scala-js scala-native scalajs scalanative typelevel

Lepus icon
Lepus
Purely functional Scala client for RabbitMQ and other AMQP 0.9.1 brokers

Cats friendly lepus-client Scala version support javadoc

GitHub Workflow Status GitHub

Typelevel Affiliate Project Scala Steward badge

Use

This library is published for scala 3 on all scala platforms (JVM, JS, Native); Add this to your build:

libraryDependencies += "dev.hnaderi" %% "lepus-client" % "<version from releases>"

Then you are ready to use Lepus, for tutorial continue to documentation site!
Also please drop a ⭐ if this project interests you. I need encouragement.

Why?

If you have ever used Skunk you might agree with me on how much it's fun to use and meanwhile insightful for its users. This project started with this in mind and I hope it achieves its goals.

I mean, why not use the official java client and use Lepus instead?

I'm not in a position to tell you what you should use, but if you are tired of wrappers over the java client, or want to use more advanced features of RabbitMQ that are not available in other Scala clients, or if you want a clean purely functional client for RabbitMQ (or other AMQP compliant message brokers) take a look at this library and then assess your requirements. You can see features for some more information.

Examples

Visit here or check example directory for more examples.

What in the world is Lepus?

Lepus^1 (/ˈliːpəs/, colloquially /ˈlɛpəs/) is a constellation lying just south of the celestial equator. Its name is Latin for hare. It is located below—immediately south—of Orion (the hunter), and is sometimes represented as a hare being chased by Orion or by Orion's hunting dogs.

Disclaimer

This software is a perpetual beta release, while it might be totally okay to use it in production for most cases, it's worthy to mention that you need to manage your risks carefully!


Logo illustration by Catalina Vásquez from Los Animales del cielo