This library uses shapeless and cats to provide a neat syntax to instantiate Scala case classes from a data source.
See the extruder microsite for detailed documentation.
Module | Description | Download |
---|---|---|
Extruder | Main module, includes core functionality and basic resolvers. | |
Cats Effect | Provides Cats Effect typeclass implementations. | |
Typesafe Config | Support for resolution from Typesafe Config. | |
Circe | Bridge to Circe encoding/decoding. | |
Circe YAML | Bridge to Circe YAML encoding/decoding. | |
Refined | Support for Refined types. | |
AWS | Support for AWS types. | |
Prometheus | Support for encoding data as Prometheus metrics. | |
Dropwizard | Support for encoding data as Dropwizard metrics. | |
Spectator | Support for encoding data as Spectator metrics. |
Add the following to your build.sbt
:
libraryDependencies += "io.extruder" %% "extruder" % "0.10.0"
// only if you require support for cats-effect instances
libraryDependencies += "io.extruder" %% "extruder-cats-effect" % "0.10.0"
// only if you require support for Typesafe config
libraryDependencies += "io.extruder" %% "extruder-typesafe" % "0.10.0"
// only if you require support for Circe types
libraryDependencies += "io.extruder" %% "extruder-circe" % "0.10.0"
// only if you require support for Circe YAML
libraryDependencies += "io.extruder" %% "extruder-circe-yaml" % "0.10.0"
// only if you require support for refined types
libraryDependencies += "io.extruder" %% "extruder-refined" % "0.10.0"
// only if you require support for AWS config
libraryDependencies += "io.extruder" %% "extruder-aws" % "0.10.0"
// only if you require support for prometheus encoders
libraryDependencies += "io.extruder" %% "extruder-metrics-prometheus" % "0.10.0"
// only if you require support for dropwizard encoders
libraryDependencies += "io.extruder" %% "extruder-metrics-dropwizard" % "0.10.0"
// only if you require support for spectator encoders
libraryDependencies += "io.extruder" %% "extruder-metrics-spectator" % "0.10.0"
This project supports the Typelevel code of conduct and aims that its channels (mailing list, Gitter, github, etc.) to be welcoming environments for everyone.