
The Scala Library Author's Dilemma
Wrote a little something about the dilemma of Scala library authors regarding which effect system(s) to support and how kyo-compat offers a nice alternative.

Wrote a little something about the dilemma of Scala library authors regarding which effect system(s) to support and how kyo-compat offers a nice alternative.
Today I released the first version of Sage, a Redis and Valkey client for Scala 3. The idea is one client that works with any effect system, built on a from-scratch native Redis protocol implementation rather than wrapping an existing Java client.
What it offers:
- Use any effect system. First-class ZIO, Cats Effect, Kyo, and Ox artifacts, each exposing its ecosystem's native types with no wrapper visible.
- Fast, native Redis protocol. RESP3, commands, and codecs implemented directly in Scala 3, fast by design.
- Modern and feature-rich. Redis 8+ and Valkey 8+ with auto-pipelining, transactions, cluster, sharded pub/sub, streams, client-side caching, and TLS.
- Observable. A built-in listener SPI for metrics, tracing, and connection-lifecycle events.
It runs on Scala 3.3.x LTS and later, and requires JDK 21+.
Docs: https://ghostdogpr.github.io/sage/
Source: https://github.com/ghostdogpr/sage
Feedback and issues welcome.