[![Latest version](https://index.scala-lang.org/propensive/magnolia/latest.svg)](https://index.scala-lang.org/propensive/magnolia) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.propensive/magnolia_2.12/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.propensive/magnolia_2.12) # Magnolia [![Join the chat at https://gitter.im/propensive/magnolia](https://badges.gitter.im/propensive/magnolia.svg)](https://gitter.im/propensive/magnolia?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) Magnolia is a generic macro for automatic derivation of typeclasses for datatypes composed from case classes and sealed traits. It supports recursively-defined datatypes out-of-the-box, and incurs no significant time-penalty during compilation. If derivation fails, error messages are detailed and informative. Please see the [Magnolia](http://magnolia.work/) website for more information.