# scalapb/ScalaPB

Protocol buffer compiler for Scala.

Repository: https://github.com/scalapb/ScalaPB
Canonical: https://ross.abutalabs.com/products/scalapb
Homepage: https://scalapb.github.io/
Language: Scala
License: Apache-2.0
License Family: permissive
Topics: scalapb, protocol-buffers, scala
Last push: 2026-08-21T23:02:36+00:00

## Health v2 (maintenance only)
Score: 92/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 80, longevity 100
- inputs: {"age_days": 4354, "days_push": 12, "days_rel": 58, "gap_med": 46, "n_releases_24m": 6}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1339, forks 290 (observed 2026-08-28T04:04:25.962116+00:00)

## What it is
ScalaPB is a protocol buffer compiler plugin for Scala that generates Scala case classes, parsers, and serializers from .proto files. It supports proto2 and proto3, integrates with gRPC, Scala.js, and can interoperate with Java-generated protobuf code.

## Use cases
- generate Scala case classes from protobuf definitions
- use protocol buffers in a Scala project
- migrate from Java protobuf to Scala protobuf gradually
- build gRPC servers and clients in Scala
- serialize and deserialize protobuf messages to JSON in Scala
- use protobufs with Scala.js in the browser
- use protobufs with SparkSQL

## When to choose
- you are a Scala developer needing protobuf serialization
- you want idiomatic Scala case classes instead of Java protobuf classes
- you need gRPC with Scala support including ZIO, Cats Effect, or Akka
- you need Java/Scala protobuf interoperability during migration

## When to avoid
- your project is not on the JVM or Scala.js
- you only need protobuf support in Java, Go, or other non-Scala languages
- you need a serialization format unrelated to protocol buffers

## Facets
- artifact type: library
- maturity: active
- function: serialization, compiler, rpc
- domain: developer-tools, apis, backend
- platform: jvm
- tags: protocol-buffers, protobuf, grpc, code-generation, scala, case-classes, scalajs, sbt

## Member repositories
- scalapb/ScalaPB (main) score 92

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:25.962116+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:43:56.539320+00:00, confidence not recorded.
  - readme: https://github.com/scalapb/ScalaPB (fetched 2026-08-28T04:04:25.962116+00:00, sha a8698d32c60e)
  - homepage: https://scalapb.github.io/ (fetched 2026-08-29T12:02:56.589502+00:00, sha 3d0a580078e3)
- Data as of 2026-08-30T08:39:29.467469+00:00.
