Platforms

Check out the Typelevel ecosystem by platform!

The projects below support all three platforms. Share code and deploy to browsers and Node.js, native binaries, and the JVM!

case-insensitive

A case-insensitive string for Scala

js / jvm / native

Typelevel Organization Project

Cats

A library intended to provide abstractions for functional programming in Scala, leveraging its unique features. Design goals are approachability, modularity, documentation and efficiency.

js / jvm / native

Typelevel Organization Project

Cats Collections

Data structures that facilitate pure functional programming with cats

js / jvm / native

Typelevel Organization Project

Cats-Effect

The IO Monad for Scala, plus type classes for general effect types.

js / jvm / native

Typelevel Organization Project

Cats MTL

Monad transformers made easy

js / jvm / native

Typelevel Organization Project

cats-parse

A parsing library for the cats ecosystem

js / jvm / native

Typelevel Organization Project

cats-stm

A STM implementation for Cats Effect

js / jvm / native

Typelevel Affiliate Project

Cats Tagless

A library of utilities for tagless final algebras

js / jvm / native

Typelevel Organization Project

Cats-Time

Instances for Cats Typeclasses for Java 8 Time

js / jvm / native

Typelevel Organization Project

Circe

Yet another JSON library for Scala

js / jvm / native

Typelevel Affiliate Project

Ciris

Functional Configurations for Scala

js / jvm / native

Typelevel Affiliate Project

coulomb

A statically typed unit analysis library for Scala

js / jvm / native

Typelevel Affiliate Project

decline

A composable command-line parser for Scala.

js / jvm / native

Typelevel Affiliate Project

discipline

Originally intended for internal use in spire, this library helps libraries declaring type classes to precisely state the laws which instances need to satisfy, and takes care of not checking derived laws multiple times.

js / jvm / native

Typelevel Organization Project

edomata

Event-driven automata for Scala, Scala.js and scala native. This library provides purely functional state machines that can be used to create event sourced and/or CQRS style applications. It also includes production ready backends.

js / jvm / native

Typelevel Affiliate Project

eff

Extensible effects are an alternative to monad transformers for computing with effects in a functional way. This library is based on the “free-er” monad and an “open union” of effects described by Oleg Kiselyov in “Freer monads, more extensible effects”

js / jvm / native

Typelevel Affiliate Project

fabric

Object-Notation Abstraction for JSON, binary, HOCON, etc.

js / jvm / native

Typelevel Organization Project

fs2-data

Parse and transform data (CBOR, CSV, JSON, XML) in a streaming manner

js / jvm / native

Typelevel Affiliate Project

fs2

FS2 is a library for purely functional, effectful, and polymorphic stream processing library in the Scala programming language. Its design goals are compositionality, expressiveness, resource safety, and speed. The name is a modified acronym for Functional Streams for Scala (FSS, or FS2).

js / jvm / native

Typelevel Organization Project

Grackle

Functional GraphQL server for the Typelevel stack

js / jvm / native

Typelevel Organization Project

http4s

A typeful, purely functional HTTP library for client and server applications

js / jvm / native

Typelevel Affiliate Project

jawn-fs2

Integration of jawn and fs2 for streaming, incremental JSON parsing

js / jvm / native

Typelevel Organization Project

keypool

A Keyed Pool Implementation for Scala

js / jvm / native

Typelevel Organization Project

Kittens

Automatic type class derivation

js / jvm / native

Typelevel Organization Project

Lepus

Purely functional, non-blocking RabbitMQ client for scala, scala js and scala native built on top of fs2.

js / jvm / native

Typelevel Affiliate Project

literally

Compile time validation of literal values built from strings

js / jvm / native

Typelevel Organization Project

log4cats

Logging Tools For Interaction with cats-effect

js / jvm / native

Typelevel Organization Project

Monocle

Optics library offering a simple yet powerful API to access and transform immutable data

js / jvm / native

Typelevel Affiliate Project

Mouse

Enrichments to standard library classes to ease functional programming

js / jvm / native

Typelevel Organization Project

Natchez

functional tracing for cats

js / jvm / native

Typelevel Organization Project

otel4s

An OpenTelemetry library based on cats-effect

js / jvm / native

Typelevel Organization Project

parsley-cats

The parsley-cats library exposes Cats instances for Parsley parsing library.

js / jvm / native

Typelevel Affiliate Project

refined

Tools for refining types with type-level predicates which constrain the set of values described by the refined type, for example restricting to positive or negative numbers.

js / jvm / native

Typelevel Affiliate Project

ScalaCheck

ScalaCheck is a library for automated property-based testing. It contains generators for randomized test data and combinators for properties.

js / jvm / native

Typelevel Organization Project

scalacheck-shapeless

Automatic derivation for ScalaCheck

js / jvm / native

Typelevel Affiliate Project

scodec

scodec is a combinator library for working with binary data. It focuses on contract-first and pure functional encoding and decoding of binary data and provides integration with shapeless.

js / jvm / native

Typelevel Affiliate Project

Scoverage

Code coverage tool for Scala

js / jvm / native

Typelevel Affiliate Project

Shapeless

Shapeless is a generic programming library. Starting with implementations of Scrap your boilerplate and higher rank polymorphism in Scala, it quickly grew to provide advanced abstract tools like heterogenous lists and automatic instance derivation for type classes.

js / jvm / native

Typelevel Affiliate Project

simulacrum

First-class syntax for type classes

js / jvm / native

Typelevel Organization Project

Skunk

A data access library for Scala + Postgres

js / jvm / native

Typelevel Organization Project

specs2

specs2 is a library for writing executable software specifications, aiming for conciseness, readability and extensibility.

js / jvm / native

Typelevel Affiliate Project

spire

Spire is a numeric library for Scala which is intended to be generic, fast, and precise. Using features such as specialization, macros, type classes, and implicits, Spire works hard to defy conventional wisdom around performance and precision trade-offs.

js / jvm / native

Typelevel Organization Project

Squants

The Scala API for Quantities, Units of Measure and Dimensional Analysis

js / jvm / native

Typelevel Organization Project

Twiddles

Micro-library for building effectful protocols

js / jvm / native

Typelevel Organization Project

typelevel-nix

Development tools for Typelevel projects

js / jvm / native

Typelevel Organization Project

upperbound

A purely functional, interval based rate limiter

js / jvm / native

Typelevel Affiliate Project

vault

Type-safe, persistent storage for values of arbitrary types

js / jvm / native

Typelevel Organization Project