Skip to content
CAI
Produce a survey ↗Verify a survey

lloydmeta/enumeratum

This system is a Scala library that provides robust enumeration support, including standard and value-based enums with case-insensitive lookups and name formatting. It offers extensive integration with popular Scala libraries for JSON serialization (Circe, Argonaut, Play-JSON, Json4s), database mapping (Doobie, Slick, ReactiveMongo), and web framework binding (Play). The codebase has been modernized to support Scala 2.12/2.13/3 and Scala.js, with comprehensive test coverage for all integrations.

64.9

Adequate · 3 August 2026

5.3k

lines of production code

Scala

primary language

1

bus factor · 103 authors in all

3

measurements over time

CAI band scale
CAI trend line

How it got here

2014–2015 · API modernization and integration expansion

The project refactored its core API by removing deprecated macros and the legacy Enum trait, replacing them with a more flexible Enum system supporting case-insensitive lookups and name formatting. Simultaneously, the library expanded its ecosystem by adding comprehensive support for Play Framework forms, JSON serialization, and ReactiveMongo, accompanied by extensive test coverage for these new features.

12 changes

2016 · Value enum and serialization expansion

This period focused on introducing value-based enums backed by primitive types and expanding serialization support across multiple JSON and database libraries. The team added features for Circe, Play-JSON, Argonaut, and ReactiveMongo, accompanied by comprehensive test coverage for all new integrations.

17 changes

2017–2022 · Scala 3 and multi-DB integration

This period focused on extending the library's compatibility to Scala 3 and introducing database integrations for Doobie and Slick. The work involved adding Scala 3-specific macro implementations, establishing SBT project structures for ScalaJS, and adding corresponding test coverage to ensure stability across different Scala versions and database frameworks.

11 changes

CAI lens gauges

Survey your own repository

lloydmeta/enumeratum was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point the surveyor at a repository you know and see whether you agree with it.

Survey a repository

About this page

  • The description of this project is derived from its own commit history, not from its README.
  • The score is its highest published measurement, taken on 3 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit d85dd13dc4 — the exact code this score is about.
  • Scored under rubric rubric-2026.08.18. Score the same commit under that rubric and you get the same number.
CAI link cards