# milessabin/shapeless

Generic programming for Scala

Repository: https://github.com/milessabin/shapeless
Canonical: https://ross.abutalabs.com/products/shapeless
Language: Scala
License: Apache-2.0
License Family: permissive
Topics: scala, typelevel, functional-programming, generic-programming, fp
Last push: 2026-08-23T08:01:53+00:00

## Health v2 (maintenance only)
Score: 67/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 8, longevity 100
- inputs: {"age_days": 5372, "days_push": 10, "days_rel": 549, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3402, forks 520 (observed 2026-08-28T04:08:02.938659+00:00)

## What it is
shapeless is a type class and dependent type based generic programming library for Scala. It enables deriving type class instances automatically and abstracting over arities to eliminate boilerplate, and is widely used in production Scala systems.

## Use cases
- derive type class instances for case classes automatically
- remove boilerplate when writing generic Scala code
- work with heterogeneous lists and generic representations
- abstract over function and case class arity
- build libraries that derive codecs, equality, or show instances

## When to choose
- you need automatic type class derivation for Scala case classes and sealed traits
- you want to scrap boilerplate across many case classes of varying arity
- you are building a Scala library that needs generic programming primitives

## When to avoid
- you only need simple, non-generic Scala code without type-level machinery
- your team is not comfortable with advanced type-level programming concepts
- you are not using Scala

## Facets
- artifact type: library
- maturity: stable
- function: serialization, type-system, developer-tools
- domain: programming-languages, developer-tools
- platform: jvm
- tags: scala, typelevel, generic-programming, functional-programming, type-class-derivation, heterogeneous-lists, compile-time-programming, algorithms

## Member repositories
- milessabin/shapeless (main) score 67

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:02.938659+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-29T18:38:38.907389+00:00, confidence not recorded.
  - readme: https://github.com/milessabin/shapeless (fetched 2026-08-28T04:08:02.938659+00:00, sha 4934b813ff15)
- Data as of 2026-08-30T08:39:29.467469+00:00.
