milessabin/shapeless

Generic programming for Scala

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 55 minutes ago
Added to GitGenius on September 20th, 2026
Created on December 18th, 2011
Open Issues & Pull Requests: 30 (+0)
GitHub issues: Enabled
Number of forks: 520
Total Stargazers: 3,400 (+0)
Total Subscribers: 95 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • Bug (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Shapeless is a type class and dependent type based generic programming library for Scala.

Shapeless solves the problem of writing boilerplate code when working with data structures of varying arities in Scala. It uses type-level programming techniques to abstract over structural differences, allowing developers to write generic code that works across different case classes, tuples, and other product types without manual repetition. The library implements concepts like scrap your boilerplate and higher rank polymorphism adapted for Scala's type system.

Shapeless suits projects where you need to eliminate boilerplate when handling heterogeneous data structures or when you want to derive instances for type classes automatically across different types. It is particularly valuable in libraries and frameworks that work with multiple data types generically, such as serialization libraries, database mappers, and API frameworks. The library is production-ready and widely used, though it requires comfort with advanced Scala type system features. The README does not compare shapeless to alternatives.

The project maintains active community engagement through Discord, with contributors available to answer questions and guide newcomers. Development includes automated snapshot builds published to the Sonatype OSS Snapshot repository. The project explicitly welcomes contributions of all sizes and maintains a curated set of issues marked as good entry points for new contributors. The library is part of the Typelevel family of projects and operates under the Apache License v2.