DBDelve
Dive deep into your data. A fast, native, multi-engine database client written in Rust. Free and open source, no telemetry.
翻訳待ち
Type-safe, modular building blocks for Scala. Standalone libraries with zero or minimal dependencies, designed to work with any Scala stack.
翻訳待ち
開発ツールScala · JavaScriptGitHub @zioオンライン所有者未確認
Have you tried it? One tap is enough. No sign-in needed.
Powerful, joyful building blocks for modern cloud-native applications.
翻訳待ち
Loading the full README.
Read the full README ↗Modular building blocks for modern Scala applications—no effect system required.
ZIO Blocks is a family of type-safe, modular building blocks for Scala applications. Each block is a standalone library with zero or minimal dependencies, designed to work with any Scala stack—ZIO, Cats Effect, Kyo, Ox, Akka, or plain Scala.
The philosophy is simple: use what you need, nothing more. Each block is independently useful and designed to compose with other blocks or your existing code.
To call ZIO Blocks from a ZIO or cats-effect application, see How to Use ZIO Blocks in a ZIO or cats-effect Application.
Add a block and use it. Nothing else to wire up—no runtime to install, no effect type to adopt:
libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.56"
That line is for Scala 2.13 and Scala 3.3 to 3.8. On Scala 3.9 and newer, use zio-blocks-next-schema and add scalacOptions += "-experimental". See How to Add ZIO Blocks to Your Build for Scala.js, scala-cli, and cross-building.
import zio.blocks.schema._
case class Person(name: String, age: Int)
object Person {
implicit val schema: Schema[Person] = Schema.derived
}
val alice = Person("Alice", 30)
// One schema, every format
val jsonStr = alice.toJsonString // {"name":"Alice","age":30}
val parsed = """{"name":"Bob","age":25}""".fromJson[Person]
New to ZIO Blocks? Getting Started is a short tour of the core ideas, and the Your First Schema tutorial is the first hands-on lesson.
The four blocks below get a full walkthrough because they have no close equivalent elsewhere in Scala. Every other block is one row away in the catalog, and each row links to its own reference page.
Every block is published under the dev.zio organization. Most cross-build for
Scala 2.13 and 3.x on both JVM and Scala.js with full source compatibility —
adopt Scala 3 on your timeline, not ours. The handful of modules that are narrower
say so in their own row.
JSON support is built into zio-blocks-schema; the modules below add further formats.
| Block | Artifact | Platform | Scala | Description |
|---|---|---|---|---|
| Schema | zio-blocks-schema | JVM · JS | 2.13 · 3.x | Type-safe schemas with automatic codec, optic, and validator derivation |
| Avro Codec | zio-blocks-schema-avro | JVM | 2.13 · 3.x | Apache Avro binary serialization with automatic schema generation |
| BSON Codec | zio-blocks-schema-bson | JVM | 2.13 · 3.x | MongoDB-compatible BSON serialization with native type support |
| CSV Codec | zio-blocks-schema-csv | JVM · JS | 2.13 · 3.x | RFC 4180-compliant CSV serialization |
| MessagePack Codec | zio-blocks-schema-messagepack | JVM · JS | 2.13 · 3.x | Compact binary serialization with optimized streaming |
| Thrift Codec | zio-blocks-schema-thrift | JVM | 2.13 · 3.x | Apache Thrift binary serialization with TBinaryProtocol |
| TOON Codec | zio-blocks-schema-toon | JVM · JS | 2.13 · 3.x | Token-oriented notation 30–60% smaller than JSON, tuned for LLM prompts |
| XML Codec | zio-blocks-schema-xml | JVM · JS |
This is the beginning of the README. Read the rest at the original. Read the full README ↗
| 2.13 · 3.x |
| Zero-dependency XML serialization with fluent navigation and patching |
| YAML Codec | zio-blocks-schema-yaml | JVM · JS | 2.13 · 3.x | Human-readable YAML serialization with JSON interop |
| TypeId | zio-blocks-typeid | JVM · JS | 2.13 · 3.x | Compile-time type identity with rich metadata |