• 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.2 and can be included in your project thus:

libraryDependencies += "org.tpolecat" %% "skunk-core" % "0.5.1"
dependencies {
  implementation "org.tpolecat:skunk-core_2.13:0.5.1"

How to Learn


  • 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.