Case classy is a tiny library to make it easy to decode untyped structured data into case class hierarchies of your choosing. It’s completely modular, support Scala 2.11 and 2.12, ScalaJS ready, and the core module has zero external dependencies.

// required
libraryDependencies += "com.47deg" %% "classy-core"            % "0.4.0"

// at least one required
libraryDependencies += "com.47deg" %% "classy-config-typesafe" % "0.4.0"
libraryDependencies += "com.47deg" %% "classy-config-shocon"   % "0.4.0"

// optional
libraryDependencies += "com.47deg" %% "classy-generic"         % "0.4.0"
libraryDependencies += "com.47deg" %% "classy-cats"            % "0.4.0"

The modules provide the following support:

  • classy-core: Basic set of configuration decoders and combinators. required
  • classy-generic: Automatic derivation for your case class hierarchies. depends on shapeless
  • classy-config-typesafe: Support for Typesafe’s Config library.
  • classy-config-shocon: Support for the Shocon config library.
  • classy-cats: Instances for Cats.

All module support ScalaJS except classy-config-typesafe.


Case Classy is designed and developed by 47 Degrees

Copyright (C) 2017 47 Degrees.

Typesafe Config

Full support for Typesafe Config with the typesafe module

Functional Programming

Case classy follows functional programming paradigms with an emphasis on ease of use for beginners

ScalaJS Ready

Case classy fully supports ScalaJS when used with the Shocon module