playq / d4s

Dynamo DB Database Done Scala-way https://playq.github.io/d4s/ :construction:

GitHub

d4s - "Dynamo DB Database Done Scala-way"

Logo

What is it? Build

d4s - is a Scala library that allows you to work with DynamoDB in a pure functional way. It's powered by Izumi, uses Bifunctor IO and allows you to choose whatever effect type you want to use. It provides flexible and extensible DSL, supports AWS SDK v2 and has great integration with ZIO.

include the following components:

  1. d4s – core package, the lib itself.
  2. d4s-circe – provides circe codecs to encode the data.
  3. d4s-test - provides test environment and docker containers via DIstage TestKit.
  4. metrics - a small yet convenient package for metrics aggregation.
  5. aws-common - tagging and namespaces

Quickstart

The latest version is 1.0.10. To use it just add the following line to your build.sbt file:

// available for 2.12 and 2.13
libraryDependencies += "net.playq" %% "d4s" %% "1.0.10"

In case you want to have Circe codecs you should also add this:

// available for 2.12 and 2.13
libraryDependencies += "net.playq" %% "d4s-circe" %% "1.0.10"

If you want to use only the metrics package from d4s you can add it like this:

// available for 2.12 and 2.13
libraryDependencies += "net.playq" %% "metrics" %% "1.0.10"

Example project:

Materials and docs (microsite in work):