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.
Libraries
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!
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)