Proteus is a Scala open source library for working with Protobuf and gRPC.
It is designed to be code-first, meaning that it is able to generate Protobuf codecs and .proto files directly from your Scala code.
It also provides a declarative way to define gRPC services in Scala, a bit like tapir does for HTTP services. You can define messages, RPCs, and services in Scala, then generate clients and servers for them, using a variety of backends (direct style, Future, ZIO, fs2).
It is available for Scala 3.3.x LTS and later versions. The core module is available for both Scala JVM and Scala.js.