Skip to main content
Version: 2.x

ZIO Ecosystem

ZIO has a rich ecosystem of libraries and tools that enhance its capabilities and provide additional functionality. This ecosystem includes libraries for various purposes, such as web development, data processing, testing, and more.

But it doesn't end there! If you need a comprehensive list of libraries and tools, you can find them in one of the following sections:

Below are some of the highlights from the official libraries:

ZIO Blocks logo

ZIO Blocks

Modular, zero-dependency building blocks for modern Scala applications

  • Type-safe schemas with automatic codec derivation
  • Zero lock-in — no dependency on ZIO or any effect system
  • Works with any Scala stack: ZIO, Cats Effect, Kyo, Ox, Akka, or plain Scala
  • Modular — import only the blocks you need
  • Full cross-platform support for JVM and Scala.js
  • Full cross-version support for Scala 2.13 and Scala 3.x
  • High-performance implementations avoiding boxing and unnecessary allocations
  • Includes Schema, Chunk, Scope, Docs, TypeId, Context, MediaType, and Ring Buffer blocks
ZIO HTTP logo

ZIO HTTP

Type-safe, purely functional HTTP library for high-performance web apps and APIs

  • High-performance server based on Netty
  • Type-safe and type-driven endpoints
  • WebSocket support for real-time applications
  • Middleware system for cross-cutting concerns
🔗

ZIO Streams

Powerful, composable, and type-safe streaming library for working with large or infinite data

  • Process infinite streams with finite memory resource
  • Automatic backpressure handling
  • Rich set of stream combinators
  • Non-blocking and asynchronous processing

ZIO Test

Feature-rich testing framework with powerful assertions and property-based testing

  • Property-based testing out of the box
  • Deterministic testing of concurrent code
  • Test aspects for reusable configurations
  • Integration with JUnit and other frameworks
🔒

ZIO STM

Software Transactional Memory for safe, composable concurrent programming

  • Atomic, isolated transactions
  • Composable concurrent operations
  • No deadlocks or race conditions
  • Automatic retry of interrupted transactions
🧬

ZIO Schema

Declarative schema definitions for data structures with automatic derivation

  • Reification of data structures
  • Manual and automatic schema derivation
  • Built-in codecs for JSON, Protobuf, Avro, and Thrift
  • Schema transformations and migrations
⚙️

ZIO Config

Type-safe, composable configuration management with automatic documentation

  • Type-safe configuration descriptions
  • Multiple source support (files, env vars)
  • Automatic documentation generation
  • Validation with detailed error reporting
📝

ZIO Logging

High-performance, structured logging with contextual information

  • Structured logging for ZIO applications
  • Multiple backend support (SLF4J, JPL, Console)
  • Context-aware logging with MDC support
  • Log correlation across async boundaries
📦

ZIO JSON

Fast, secure JSON library with tight ZIO integration

  • High-performance parsing and encoding
  • Hardened against adversarial JSON payloads
  • Automatic derivation, no shapeless required
  • Human- and machine-readable error messages
📨

ZIO Kafka

A purely functional, streams-based client for Apache Kafka

  • High-level streaming API on top of the Java Kafka client
  • Higher throughput than the Java client in most workloads
  • Parallel per-partition consumption
  • Custom serialization and deserialization support