Typelevel Ecosystem

By sharing the same set of type classes, instances and data types provided by Cats, projects can speak the same “Cats language”, and integrate with each other with ease.


Here you can find a comprehensive list of libraries and projects related to Typelevel:

Project Description
Mules In memory caching.
agitation Cooperative Cancelation for Cats Effect.
ancient-concurrent Cats Effect concurrent for cats-effect 0.10.
atto Friendly little text parsers.
bank Concurrent Vault Management.
canoe A purely functional library for building Telegram chatbots.
Cats Effect High-performance, asynchronous, composable framework for building real-world applications in a purely functional style.
cats-effect-testing Experimental integration between Cats Effect and testing frameworks.
cats-effect-time Java Time from Cats Effect.
cats-parse A parsing library for the Cats ecosystem.
cats-retry Composable retry logic for Cats and Cats Effect.
cats-scalacheck Cats typeclass instances for ScalaCheck.
cats-stm Software Transactional Memory for Cats Effect.
cats-time Cats typeclass instances for java.time.
chromaprint A Scala implementation of the Chromaprint/AcoustID audio fingerprinting algorithm, built with Fs2 streams / Cats Effect.
circe-fs2 Streaming JSON manipulation with Circe.
Circe Pure functional JSON library.
circuit Functional Circuit Breaker implementation.
ciris Lightweight, extensible, and validated configuration loading in Scala.
console4cats Console I/O for Cats Effect.
cormorant CSV handling library for FP.
coulomb-cats Cats typeclass instances for coulomb Quantity.
decline A composable command-line parser.
doobie-pool Doobie Pooling Mechanism in Pure FP.
doobie Pure functional JDBC built on Fs2.
droste Recursion schemes for Cats.
dsl-domains-cats The !-notation for creating Cats monadic expressions.
dynamapath Dynamic Path Parsing.
eff Functional effects and effect handlers (alternative to monad transformers).
epimetheus-circuit Prometheus Rejected Execution Metrics.
epimetheus-http4s Prometheus Http4s Metrics Middleware and Push Gateway Support.
epimetheus-log4cats Prometheus Logging Metrics.
epimetheus-redis4cats Prometheus Redis4cats Metrics.
epimetheus Prometheus Core Representations.
extruder Populate case classes from any data source.
fastparse-cats Cats Monad and Alternative instances for fastparse.
fd4s/fs2-kafka Functional Kafka Streams for Scala.
fetch Efficient data access to heterogeneous data sources.
finch Scala combinator api for building finagle http services.
fly4s A lightweight, simple and functional wrapper for Flyway using Cats Effect.
frameless Expressive types for Spark.
freestyle Pure functional framework for free and tagless final applications and libraries.
fs2-aws Fs2 streams to interact with AWS utilities.
fs2-blobstore Minimal, idiomatic, stream-based Scala interface for S3, GCS, SFTP and other key/value store implementations.
fs2-cassandra Cassandra bindings for Fs2.
fs2-columns A Chunk that uses Shapeless to store case class data column-wise.
fs2-cron Fs2 streams based on cron expressions.
fs2-crypto TLS support for Fs2.
fs2-data A set of data parsers and manipulation libraries for various formats for Fs2.
fs2-elastic Simple client for Elasticsearch.
fs2-ftp Simple client for Ftp/Ftps/Sftp using Fs2 and Cats Effect.
fs2-google-pubsub A Google Cloud Pub/Sub implementation using Fs2 and Cats Effect.
fs2-grpc GRPC implementation for Fs2 / Cats Effect.
fs2-http Http server and client library implemented in Fs2.
fs2-jms Java Messaging Service (JMS) connectors for Fs2 streams.
fs2-log Simple logging facade for Fs2.
fs2-mail Fully asynchronous Java non-blocking email client using Fs2.
fs2-mqtt A purely functional MQTT client library based on Fs2 and Cats Effect.
fs2-rabbit RabbitMQ stream-based client built on top of Fs2 and Cats Effect.
fs2-reactive-streams A reactive streams implementation for Fs2.
fs2-ssh A wrapper around Apache SSHD targeting Cats Effect and Fs2.
fs2-throttler Throttling for fs2 based on the token bucket algorithm.
fs2-zk Simple Apache Zookeeper bindings for Fs2.
Fs2 Functional streams for Scala (streaming I/O library).
fuuid-annotation Automatically create an inner Id tagged FUUID type with convenient methods for its creation.
fuuid Functional UUID's.
gato-parsec Generalized attoparsec with Cats.
github4s Wrapper around the GitHub API.
github Github Integration for Scala.
grafter Dependency-injection library using the Reader pattern.
graphite4s Lightweight graphite client.
gsheets4s Wrapper around the Google Sheets API.
hammock Purely functional HTTP client.
henkan Type safe conversion between case class instances with similar fields.
http4s Minimal, idiomatic Scala interface for HTTP services using Fs2.
iota Fast (co)product types with a clean syntax.
itto-csv Pure functional library for working with CSV.
jms4s A functional wrapper for jms
kafka4s Functional programming with Kafka and Scala.
kamon-monix Kamon Integration for Monix.
keysemaphore Keyed Semaphore implementation.
laserdisc LaserDisc is a(nother) Scala driver for Redis.
library.g8 Library Starter Template.
linebacker Thread pool management for Scala: Enabling functional blocking where needed.
log4cats-log4s Log4s support for Log4Cats.
log4cats-mtl Provide MTL support for Log4Cats.
log4cats-scribe Scribe support for Log4Cats.
Log4Cats Functional logging.
mapref Refs optimized around maps.
mau A tiny library for an auto polling ref.
monadic-html Tiny DOM binding library for Scala.js.
mongo4cats MongoDB Scala client wrapper for Cats Effect & Fs2.
mongosaur Fs2-based MongoDB driver.
monix bio Io alternative with typed errors.
monix-connect stream integrations for Monix.
monix-kafka Monix integration with Kafka.
monix-nio Java NIO utilities for usage with Monix.
monix High-performance library for composing asynchronous and event-based programs.
monocle An optics library for Scala (and Scala.js) strongly inspired by Haskell Lens.
monoids Generic Monoids in Scala.
morphling Free applicative schemas & instance derivation.
mules-http4s-redis Mules Distributed Http Caching Support.
mules-http4s Mules Http4s Caching Implementation for Caching Servers and Client Http Interactions According to the Http Spec.
mules-redis Mules Redis Support.
mysql-binlog-stream Stream MySQL binlog events with Fs2.
natchez An opentracing library, to use with Jaegger, Honeycomb, OpenCensus, and Lightstep.
neotypes A Scala lightweight, type-safe & asynchronous driver for neo4j. Support streaming queries using Fs2.
neutron Apache Pulsar bindings for Fs2.
newts Defines newtypes compatible with Cats type classes.
odin Fast & functional logger with own logging backend.
origami Monadic folds.
phony Fake data generator.
pulsar4s concise, idiomatic, reactive, type safe Scala client for Apache Pulsar.
pureconfig A boilerplate-free library for loading configuration files.
rainier Bayesian inference in Scala.
random Pure randomness in Scala.
read Read Typeclass.
redis4cats Redis client built on top of Fs2 and Cats Effect.
refined Simple refinement types for Scala.
sangria-monix Sangria integration for Monix.
sbt-mima-version-check Plugin to automate which mima versions to check.
scala cache A facade for the most popular cache implementations for Scala.
scala-forex Exchange rate lookups.
scala-maxmind-ip-lookups IP geolocation through the Maxmind database.
scala-referer-parser Referer parsing.
scala-rl Functional, monadic reinforcement learning in Scala.
scala-weather Weather lookups.
scanamo Simpler DynamoDB access for Scala.
scarctic Fs2-based driver for MAN/AHL’s Arctic data store.
scodec-protocols A library for working with libpcap files. Contains many interesting pipes (e.g., working with time series and playing back streams at various rates).
scodec-stream A library for streaming binary decoding and encoding, built using Fs2 and scodec.
seals Tools for schema evolution and language-integrated schemata.
semigroups Set of generic semigroup types and accompanying instances very useful for abstract programming.
shims Seamless interoperability for Cats and Scalaz typeclasses and datatypes.
skunk A data access library for Scala + Postgres.
snowflake4s Functional snowflake id generator.
spata CSV parser build on Fs2.
spinoco/fs2-kafka Simple client for Apache Kafka.
sqs4s A pure Scala client for AWS SQS using Fs2.
streamz A library that supports the conversion of Akka Stream Sources, Flows and Sinks to and from Fs2 Streams, Pipes and Sinks, respectively. It also supports the usage of Apache Camel endpoints in Fs2 Streams and Akka Stream Sources, Flows and SubFlows.
sttp The Scala HTTP client you always wanted.
sup Composable, purely functional healthchecks in Scala.
synchronized Synchronous resource access.
system-effect Console and Environment Simple Tools.
testcontainers-specs2 Test Containers Support for Specs2.
tsec Typesafe, functional, general purpose cryptography and security library.
unique Unique functional values for Scala.
upperbound A purely functional, interval-based rate limiter with support for backpressure.
vault Type-safe, persistent storage for values of arbitrary types.
vinyldns A DNS governance system using Fs2 for throttling updates to DNS backends.
whale-tail Docker Daemon Integration.

Your project talks Cats too? Submit a PR to add it here!

The full-size Cats logo is available for use for Cats related projects, contents, souvenirs, etc.

We offer a Cats Friendly Badge to let others know your project works with Cats!

Cats Friendly Badge

Below are quick html and markdown snippets to use the badge in your own project.

<a href=""><img src="https://typelevel.org/cats/img/cats-badge-tiny.png" alt="Cats friendly" /></a>
![Cats Friendly Badge](https://typelevel.org/cats/img/cats-badge-tiny.png)