Back to Cats

Typelevel Ecosystem #

docs/typelevelEcosystem.md

2.13.087.1 KB
Original Source

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:

ProjectDescription
MulesIn memory caching.
agitationCooperative Cancelation for Cats Effect.
ancient-concurrentCats Effect concurrent for cats-effect 0.10.
attoFriendly little text parsers.
bankConcurrent Vault Management.
canoeA purely functional library for building Telegram chatbots.
Cats EffectHigh-performance, asynchronous, composable framework for building real-world applications in a purely functional style.
cats-effect-testingExperimental integration between Cats Effect and testing frameworks.
cats-effect-timeJava Time from Cats Effect.
cats-parseA parsing library for the Cats ecosystem.
cats-retryComposable retry logic for Cats and Cats Effect.
cats-scalacheckCats typeclass instances for ScalaCheck.
cats-stmSoftware Transactional Memory for Cats Effect.
cats-timeCats typeclass instances for java.time.
chromaprintA Scala implementation of the Chromaprint/AcoustID audio fingerprinting algorithm, built with Fs2 streams / Cats Effect.
circe-fs2Streaming JSON manipulation with Circe.
CircePure functional JSON library.
circuitFunctional Circuit Breaker implementation.
cirisLightweight, extensible, and validated configuration loading in Scala.
console4catsConsole I/O for Cats Effect.
cormorantCSV handling library for FP.
coulomb-catsCats typeclass instances for coulomb Quantity.
declineA composable command-line parser.
doobie-poolDoobie Pooling Mechanism in Pure FP.
doobiePure functional JDBC built on Fs2.
drosteRecursion schemes for Cats.
dsl-domains-catsThe !-notation for creating Cats monadic expressions.
dynamapathDynamic Path Parsing.
effFunctional effects and effect handlers (alternative to monad transformers).
epimetheus-circuitPrometheus Rejected Execution Metrics.
epimetheus-http4sPrometheus Http4s Metrics Middleware and Push Gateway Support.
epimetheus-log4catsPrometheus Logging Metrics.
epimetheus-redis4catsPrometheus Redis4cats Metrics.
epimetheusPrometheus Core Representations.
extruderPopulate case classes from any data source.
fastparse-catsCats Monad and Alternative instances for fastparse.
fd4s/fs2-kafkaFunctional Kafka Streams for Scala.
fetchEfficient data access to heterogeneous data sources.
finchScala combinator api for building finagle http services.
fly4sA lightweight, simple and functional wrapper for Flyway using Cats Effect.
framelessExpressive types for Spark.
freestylePure functional framework for free and tagless final applications and libraries.
fs2-awsFs2 streams to interact with AWS utilities.
fs2-blobstoreMinimal, idiomatic, stream-based Scala interface for S3, GCS, SFTP and other key/value store implementations.
fs2-cassandraCassandra bindings for Fs2.
fs2-columnsA Chunk that uses Shapeless to store case class data column-wise.
fs2-cronFs2 streams based on cron expressions.
fs2-cryptoTLS support for Fs2.
fs2-dataA set of data parsers and manipulation libraries for various formats for Fs2.
fs2-elasticSimple client for Elasticsearch.
fs2-ftpSimple client for Ftp/Ftps/Sftp using Fs2 and Cats Effect.
fs2-google-pubsubA Google Cloud Pub/Sub implementation using Fs2 and Cats Effect.
fs2-grpcGRPC implementation for Fs2 / Cats Effect.
fs2-httpHttp server and client library implemented in Fs2.
fs2-jmsJava Messaging Service (JMS) connectors for Fs2 streams.
fs2-logSimple logging facade for Fs2.
fs2-mailFully asynchronous Java non-blocking email client using Fs2.
fs2-mqttA purely functional MQTT client library based on Fs2 and Cats Effect.
fs2-rabbitRabbitMQ stream-based client built on top of Fs2 and Cats Effect.
fs2-reactive-streamsA reactive streams implementation for Fs2.
fs2-sshA wrapper around Apache SSHD targeting Cats Effect and Fs2.
fs2-throttlerThrottling for fs2 based on the token bucket algorithm.
fs2-zkSimple Apache Zookeeper bindings for Fs2.
Fs2Functional streams for Scala (streaming I/O library).
fuuid-annotationAutomatically create an inner Id tagged FUUID type with convenient methods for its creation.
fuuidFunctional UUID's.
gato-parsecGeneralized attoparsec with Cats.
github4sWrapper around the GitHub API.
githubGithub Integration for Scala.
grafterDependency-injection library using the Reader pattern.
graphite4sLightweight graphite client.
gsheets4sWrapper around the Google Sheets API.
hammockPurely functional HTTP client.
henkanType safe conversion between case class instances with similar fields.
http4sMinimal, idiomatic Scala interface for HTTP services using Fs2.
iotaFast (co)product types with a clean syntax.
itto-csvPure functional library for working with CSV.
jms4sA functional wrapper for jms
kafka4sFunctional programming with Kafka and Scala.
kamon-monixKamon Integration for Monix.
keysemaphoreKeyed Semaphore implementation.
laserdiscLaserDisc is a(nother) Scala driver for Redis.
library.g8Library Starter Template.
linebackerThread pool management for Scala: Enabling functional blocking where needed.
log4cats-log4sLog4s support for Log4Cats.
log4cats-mtlProvide MTL support for Log4Cats.
log4cats-scribeScribe support for Log4Cats.
Log4CatsFunctional logging.
maprefRefs optimized around maps.
mauA tiny library for an auto polling ref.
monadic-htmlTiny DOM binding library for Scala.js.
mongo4catsMongoDB Scala client wrapper for Cats Effect & Fs2.
mongosaurFs2-based MongoDB driver.
monix bioIo alternative with typed errors.
monix-connectstream integrations for Monix.
monix-kafkaMonix integration with Kafka.
monix-nioJava NIO utilities for usage with Monix.
monixHigh-performance library for composing asynchronous and event-based programs.
monocleAn optics library for Scala (and Scala.js) strongly inspired by Haskell Lens.
monoidsGeneric Monoids in Scala.
morphlingFree applicative schemas & instance derivation.
mules-http4s-redisMules Distributed Http Caching Support.
mules-http4sMules Http4s Caching Implementation for Caching Servers and Client Http Interactions According to the Http Spec.
mules-redisMules Redis Support.
mysql-binlog-streamStream MySQL binlog events with Fs2.
natchezAn opentracing library, to use with Jaegger, Honeycomb, OpenCensus, and Lightstep.
neotypesA Scala lightweight, type-safe & asynchronous driver for neo4j. Support streaming queries using Fs2.
neutronApache Pulsar bindings for Fs2.
newtsDefines newtypes compatible with Cats type classes.
odinFast & functional logger with own logging backend.
origamiMonadic folds.
phonyFake data generator.
pulsar4sconcise, idiomatic, reactive, type safe Scala client for Apache Pulsar.
pureconfigA boilerplate-free library for loading configuration files.
rainierBayesian inference in Scala.
randomPure randomness in Scala.
readRead Typeclass.
redis4catsRedis client built on top of Fs2 and Cats Effect.
refinedSimple refinement types for Scala.
sangria-monixSangria integration for Monix.
sbt-mima-version-checkPlugin to automate which mima versions to check.
scala cacheA facade for the most popular cache implementations for Scala.
scala-forexExchange rate lookups.
scala-maxmind-ip-lookupsIP geolocation through the Maxmind database.
scala-referer-parserReferer parsing.
scala-rlFunctional, monadic reinforcement learning in Scala.
scala-weatherWeather lookups.
scanamoSimpler DynamoDB access for Scala.
scarcticFs2-based driver for MAN/AHL’s Arctic data store.
scodec-protocolsA library for working with libpcap files. Contains many interesting pipes (e.g., working with time series and playing back streams at various rates).
scodec-streamA library for streaming binary decoding and encoding, built using Fs2 and scodec.
sealsTools for schema evolution and language-integrated schemata.
semigroupsSet of generic semigroup types and accompanying instances very useful for abstract programming.
shimsSeamless interoperability for Cats and Scalaz typeclasses and datatypes.
skunkA data access library for Scala + Postgres.
snowflake4sFunctional snowflake id generator.
spataCSV parser build on Fs2.
spinoco/fs2-kafkaSimple client for Apache Kafka.
sqs4sA pure Scala client for AWS SQS using Fs2.
streamzA 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.
sttpThe Scala HTTP client you always wanted.
supComposable, purely functional healthchecks in Scala.
synchronizedSynchronous resource access.
system-effectConsole and Environment Simple Tools.
testcontainers-specs2Test Containers Support for Specs2.
tsecTypesafe, functional, general purpose cryptography and security library.
uniqueUnique functional values for Scala.
upperboundA purely functional, interval-based rate limiter with support for backpressure.
vaultType-safe, persistent storage for values of arbitrary types.
vinyldnsA DNS governance system using Fs2 for throttling updates to DNS backends.
whale-tailDocker 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.

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