Home

Awesome

<div style="text-align:center"><img src ="https://janstenpickle.github.io/extruder/img/extruder.svg" /></div>

Extruder

Typelevel Incubator CircleCI codecov

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.

Modules

ModuleDescriptionDownload
ExtruderMain module, includes core functionality and basic resolvers. Download
Cats EffectProvides Cats Effect typeclass implementations. Download
Typesafe ConfigSupport for resolution from Typesafe Config. Download
CirceBridge to Circe encoding/decoding. Download
Circe YAMLBridge to Circe YAML encoding/decoding. Download
RefinedSupport for Refined types. Download
AWSSupport for AWS types. Download
PrometheusSupport for encoding data as Prometheus metrics. Download
DropwizardSupport for encoding data as Dropwizard metrics. Download
SpectatorSupport for encoding data as Spectator metrics. Download

Install with SBT

Add the following to your build.sbt:

libraryDependencies += "io.extruder" %% "extruder" % "0.11.0"

// only if you require support for cats-effect instances
libraryDependencies += "io.extruder" %% "extruder-cats-effect" % "0.11.0"

// only if you require support for Typesafe config
libraryDependencies += "io.extruder" %% "extruder-typesafe" % "0.11.0"

// only if you require support for Circe types
libraryDependencies += "io.extruder" %% "extruder-circe" % "0.11.0"

// only if you require support for Circe YAML
libraryDependencies += "io.extruder" %% "extruder-circe-yaml" % "0.11.0"

// only if you require support for refined types
libraryDependencies += "io.extruder" %% "extruder-refined" % "0.11.0"

// only if you require support for AWS config
libraryDependencies += "io.extruder" %% "extruder-aws" % "0.11.0"

// only if you require support for prometheus encoders
libraryDependencies += "io.extruder" %% "extruder-metrics-prometheus" % "0.11.0"

// only if you require support for dropwizard encoders
libraryDependencies += "io.extruder" %% "extruder-metrics-dropwizard" % "0.11.0"

// only if you require support for spectator encoders
libraryDependencies += "io.extruder" %% "extruder-metrics-spectator" % "0.11.0"

Participation

This project supports the Scala Code of Conduct and aims that its channels (mailing list, Gitter, github, etc.) to be welcoming environments for everyone.