Purely functional library for working with AWS in Scala
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
client/wookie-akka-http
docs/src
project
wookie-core
wookie-dynamodb
wookie-gen
wookie-s3
wookie-sqs
.gitignore
.travis.yml
LICENSE
README.md
build.sbt
chewbacca.jpg

README.md

wookie

Build Status Codacy Badge GHHHAAAAAAHAHHAHAAHAAAAAA Codacy Badge

wookie is a purely functional library for connecting to AWS with Scala.

Documentation

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.

Quickstart

In order for you to start coding, you will need to import latest service project in your SBT build.sbt file.

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"

CodeGen

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

Inspiration

wookie is inspired in several projects out there.

  • doobie principled DB access for Scala.
  • fetch efficient data access for Scala.