Built with shapeless
Clone this wiki locally
The following is an incomplete listing of libraries, applications, companies and projects which use shapeless in some form or another.
If your project isn't included in this list and you would like to add it, or if you would like to add additional information, please do.
Libraries and applications using shapeless
Akka Stream Extensions
Akka Stream Extensions provides full type-safe & compile-time Akka-Stream graph building with multiple dispatch/route/merge based on types & Shapeless coproducts.
Anorm is a simple data access layer that uses plain SQL to interact with the database and provides an API to parse and transform the resulting datasets.
argonaut-shapeless provides automatic codec generation for Argonaut.
Axle is a domain specific language for scientific cloud computing and visualization.
banana-rdf is a library for RDF, SPARQL and Linked Data technologies in Scala.
Billy is a framework for testing local visual descriptors, eg SIFT, SURF, and BRIEF. It is similar to VLBenchmarks except it is written in Scala, plays well with OpenCV, and can run seamlessly on a desktop or a cluster.
bitcoin-lib is a simple bitcoin library written in Scala.
Bond provides a mechanism to express validation constraints by using the type system.
case-app provides type-level & seamless command-line argument parsing for Scala.
computation-expressions are an alternative for Scala for-comprehensions.
concatenative-lang is a simple concatentative language implemented using Shapeless.
delta computes type safe differences for Scala ADTs.
diff visually compares Scala data structures.
doobie is a pure functional JDBC layer for Scala.
Ensime is the ENhanced Scala Interaction Mode for text Editors (especially Emacs).
enum bridges the gap between Scala sealed traits and enumerations.
expressier is a type provider for regular expressions.
finagle-postgres is an asynchronous PostgreSQL client for Finagle.
Finch a scala idiomatic version of Finagle HTTP.
Frameless is a way of using Spark SQL without completely giving up types.
Framian is a library which aims to provide simple abstractions for working with typed, ordered series data (eg. time series), as well as heterogeneous data tables (similar to R's data frame).
Gremlin-Scala a slim wrapper to make Gremlin - a JVM graph traversal library - usable from Scala.
Henkan is a small library that provides generic and yet typesafe transformation between case classes and runtime data types
incompletes demonstrates an implementation of Shapeless-powered automatic derivation for "incomplete" type class instances.
itinere Strongly typed bidirectional router
kittens is a Scala library which provides instances of type classes from the Cats library for arbitrary algebraic data types using shapeless-based automatic type class derivation.
Molecule is a type safe and intuitive Scala query/modelling DSL for Datomic - the immutable database of facts.
Monocle is a Lens library, or more generally an Optics library where Optics gather the concepts of Lens, Traversal, Optional, Prism and Iso. Monocle is strongly inspired by Haskell Lens.
msgpack4z provides codecs for MessagePack.
ndim-rtree is an N-Dimensional Generic R-Tree leveraging Shapeless and Spire.
Op-Rabbit is an opinionated RabbitMQ library for Scala and Akka.
parboiled2 is a macro-based PEG parser generator for Scala 2.10+.
patchless provides a data type and typeclass for representing updates to case classes, and parsing them from JSON.
phantom is the Scala driver for Apache Cassandra/Datastax Enterprise.
picopickle is a simple yet extensible shapeless-based serialization library.
play-json-derived-codecs provides derivation of JSON codecs for algebraic data types.
play-products provides a more convenient syntax to work with cartesian structures.
PureCSV is a Scala library for working with the CSV format. The library gets rid of most of the boilerplate required to work with CSV.
PureConfig is a Scala library for loading configurations. The library works by generating the boilerplate required to load Scala types from the configuration files.
reactivemongo-derived-codecs provides derivation of BSON codecs for algebraic data types.
refined is a Scala library for refining types with type-level predicates which constrain the set of values described by the refined type. It started as a port of the refined Haskell library.
reftree aims to provide visualizations for common functional data structures used in Scala. The visualizations are generated automatically from code, which allows to use them in an interactive fashion.
scala-cass is a wrapper for the Java Cassandra driver that allows extraction from a Row with Scala types, or directly into a case class. Also has utility functions for the Session to read/write to Cassandra directly to/from a case class.
scalacheck-shapeless automates the generation of arbitrary case classes/ADTs with scalacheck and shapeless.
scalaz-transfigure A library for generically composing/lifting operations in a stack of monadic contexts.
Scaledn is a Scala EDN parser/serializer/validator.
Scalist is Todoist API client library for Scala.
scodec is a suite of Scala libraries for working with binary data.
scrupal is a reactive content management system currently in development.
Shameless is an experiment studying type-dependent structures in category theory (functor, applicative, monoid) & provides a type-dependent FingerTree that could be used to improve compile-time heterogenous lists.
shapeless-contrib provides automatic derivation of type class instances for Spire, ScalaCheck and Scalaz.
shapeless-refined-std enriches the standard library, collections mostly, using the typelevel collections: tuples, shapeless' HList and Sized.
spark-columnar is a proof of concept project that uses Shapeless to optimize the in-memory data layout for RDDs in Spark.
specs2 is a library for writing executable software specifications in Scala.
spray is an open-source toolkit for building REST/HTTP-based integration layers on top of Scala and Akka.
spray-json-shapeless automatically derives spray-json JsonFormats.
sqltyped converts SQL string literals into typed functions at compile time.
tabulate is a Scala CSV parsing / serialisation library with a heavy emphasis on correctness and type safety.
utils-open validation A library of standard validation functions and tools to compose them for single and multiple values.
zipper An implementation of Huet’s Zipper that is intended to be usable in many common scenarios.