Our projects cover a wide range of domains, from general functional programming to tooling.
A solid foundation of basic algebra type classes such as groups and rings aiming to serve as a consistent foundation for multiple libraries.
Basic type classes
Automatic derivation for argonaut
RDF, SPARQL and Linked Data technologies
A case-insensitive string for Scala
Cats instances for various Twitter Open Source Scala projects
Data structures that facilitate pure functional programming with cats
The IO Monad for Scala, plus type classes for general effect types.
Monad transformers made easy
A parsing library for the cats ecosystem
Scalatest bindings for Cats.
A library of utilities for tagless final algebras
Instances for Cats Typeclasses for Java 8 Time
A library intended to provide abstractions for functional programming in Scala, leveraging its unique features. Design goals are approachability, modularity, documentation and efficiency.
Functional Configurations for Scala
A statically typed unit analysis library for Scala
Cross-platform CRON expression parsing for Scala
A composable command-line parser for Scala.
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.
Flexible law checking
A pure functional JDBC layer for Scala. It is not an ORM, nor is it a relational algebra; it just provides a principled way to construct programs (and higher-level libraries) that use JDBC.
Principled database access
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”
Populate case classes from any configuration source
Object-Notation Abstraction for JSON, binary, HOCON, etc.
Library built on top of Cats that provides efficient data access from heterogeneous dataurces
Purely functional basic blocks atop of Finagle for building composable HTTP APIs
Frameless is a library for working with Spark using more expressive types.
gRPC implementation for FS2/cats-effect
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).
Purely functional HTTP client
A typeful, purely functional HTTP library for client and server applications
Summoning implicit values
Integration of jawn and fs2 for streaming, incremental JSON parsing
A Keyed Pool Implementation for Scala
Plugin for nicer type-lambda syntax
Automatic type class derivation
Compile time dimensional analysis for any problem domain
Logging Tools For Interaction with cats-effect
High-performance library for composing asynchronous, event-based programs, exposing a Reactive Streams implementation along with primitives for dealing with concurrency and side-effects.
Asynchronous, Reactive Programming
Strongly inspired by Haskell's lens library, Monocle is an Optics library where Optics gather the concepts of Lens, Traversal, Optional, Prism and Iso.
Lenses for Scala
Enrichments to standard library classes to ease functional programming
An OpenTelemetry library based on cats-effect
The Functional and Reactive Web-Frontend Library for Scala.js
A boilerplate-free library for loading configuration files
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.
Constraints on types
Platform and framework for Scala devs to learn about Scala libraries
A robot that helps keeping Scala projects up-to-date
Automatic derivation for ScalaCheck
ScalaCheck is a library for automated property-based testing. It contains generators for randomized test data and combinators for properties.
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.
Code coverage tool for Scala
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.
Simulacrum as Scalafix rules
First-class syntax for type classes
Operations for primitive and String singleton types
Property-based testing with integrated shrinking
specs2 is a library for writing executable software specifications, aiming for conciseness, readability and extensibility.
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.
The Scala API for Quantities, Units of Measure and Dimensional Analysis
A compiler plugin adding support for mutual tail recursion
Development tools for Typelevel projects
A Giter8 template for sbt-typelevel
Functional user journeys
Type-safe, persistent storage for values of arbitrary types
Are you interested in submitting your library to the Typelevel Ecosystem?Open a ticket!