wookie is a purely functional library for connecting to AWS with Scala.
wookie is created to be:
- Pure functional. wookie is based on Free monads. It provides interpreters to evaluate these monadic computations and communicate with AWS servers.
- Modular. Each service lives in its own package, and they share only a few abstractions. Also, each http client lives in its own package, and you can import the one that fits for your project, or implement your own.
In order for you to start coding, you will need to import latest service project
in your SBT
libraryDependencies += "io.github.pepegar" %% "wookie-dynamodb" % "0.1-SNAPSHOT" libraryDependencies += "io.github.pepegar" %% "wookie-s3" % "0.1-SNAPSHOT"
And you might want to pull a client as well:
libraryDependencies += "io.github.pepegar" %% "wookie-akka-http" % "0.1-SNAPSHOT"
Inspired by doobie, we are using code generation for writing algebras and typeclasses for different services. This allows us to be much faster while creating services.
You can learn more in code-generation
wookie is inspired in several projects out there.