Skip to content
CAI
Produce a survey ↗Verify a survey

fthomas/refined

This is a Scala library for compile-time and runtime type refinement, enabling developers to attach predicates to types to enforce constraints at compile time or runtime. It provides a core API for defining and validating refined types, along with pre-defined types for common data formats like strings, numbers, and network addresses. The system also offers integrations with popular Scala libraries such as Cats, Scalaz, PureConfig, and ScalaCheck to support functional programming patterns, configuration management, and property-based testing.

57.3

Adequate · 3 August 2026

5.6k

lines of production code

Scala

primary language

1

bus factor · 82 authors in all

3

measurements over time

CAI band scale
CAI trend line

How it got here

2015–2016 · Platform modernization and type safety expansion

The project modernized its build infrastructure by migrating to sbt 1.x and GitHub Actions, while significantly expanding the refined library's capabilities. This period introduced new validation predicates for characters and strings, added support for ScalaCheck and Scalaz, and provided a comprehensive set of predefined refined types for common data categories.

15 changes

2017–2018 · Cats and Shapeless integration

This period focused on expanding the library's ecosystem by adding integration modules for Cats, Shapeless, and Scopt, alongside new features like JSONPath validation and runtime predicate evaluation. Comprehensive test coverage was added across all new modules, including benchmarks and property-based tests, to ensure the stability of these additions.

15 changes

2019–2023 · Scala 3 compatibility and new type refinements

This period focused on adding full Scala 3 support to the refined library, including new opaque types, inference rules, and macro implementations. It also introduced a wide range of new refined types for strings, networking, time, and digests, alongside comprehensive test coverage for both Scala 2 and Scala 3 implementations.

14 changes

CAI lens gauges

Survey your own repository

fthomas/refined 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 1e27cc5650 — 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