Skunk

Overview

  • Skunk is a Postgres library for Scala.
  • Skunk is powered by cats, cats-effect, scodec, and fs2.
  • Skunk is purely functional, non-blocking, and provides a tagless-final API.
  • Skunk gives very good error messages.
  • Skunk embraces the Scala Code of Conduct.
  • Skunk is pre-release software! Code and documentation are under active development!

Skunk is published for Scala 2.12/2.13/3.1 and can be included in your project thus:

sbt
libraryDependencies += "org.tpolecat" %% "skunk-core" % "0.3.2"
Maven
<dependencies>
  <dependency>
    <groupId>org.tpolecat</groupId>
    <artifactId>skunk-core_2.13</artifactId>
    <version>0.3.2</version>
  </dependency>
</dependencies>
Gradle
dependencies {
  implementation "org.tpolecat:skunk-core_2.13:0.3.2"
}

How to Learn

Prerequisites:

  • We assume you are comfortable with Postgres.
  • We assume you are comfortable with cats, cats-effect, and fs2.
  • If not, give it a try anyway! If you run into trouble the linked websites have many learning resources.

To learn about Skunk:

Other resources:

Reference documentation:

How to Contribute

  • Test it out!
  • If you see a typo in the doc, click the link at the bottom and fix it!
  • If you find a bug, open an issue (or fix it and open a PR) at our GitHub Repository.
  • If you want to make a larger contribution please open an issue first so we can discuss.
The source code for this page can be found here.