On this page
Scala libraries Cats & ZIO are neat.
blaze - Scala library for building asynchronous pipelines, with a focus on network IO.ZIO HTTP - Scala library to write HTTP apps. Powered by ZIO and netty and aims at being the defacto solution for writing, highly scalable and performant web applications.Http4s - Minimal, idiomatic Scala interface for HTTP services.Tapir - Describe HTTP API endpoints as immutable Scala values. (Docs ) (Tapir Stream ) (1.0 )sttp - Scala HTTP client you always wanted. (Docs )Scalatra - Tiny Scala high-performance, async web framework, inspired by Sinatra. (Web )Scala.js - Scala to JavaScript compiler. (Web ) (10 years of Scala.js ) (HN )Scala Webapp Utilities Play Framework - High Velocity Web Framework. (Bootstrap Template )ff4s - Purely functional web frontend framework for Scala.js.Tyrian - Elm-inspired Scala UI library for Scala 3.guardrail - Principled code generation from OpenAPI specifications.Cask - Scala HTTP micro-framework.http4s-curl - Experimental client for http4s on Scala Native, backed by libcurl.fs2-dom - Idiomatic Cats Effect + FS2 integrations for Web APIs.Scala DOM Types - Scala types for your library to represent HTML tags, attributes, properties and CSS styles.Laminar - Simple, expressive, and safe UI library for Scala.js. (Talk ) (Web )Waypoint - Efficient router for Laminar UI Library.Apache Pekko - Build highly concurrent, distributed, and resilient message-driven applications using Java/Scala.Slinky - Write Scala React apps just like you would in ES6.Calico - Build reactive web applications in Scala.js with Cats Effect, FS2, and friends.netty-http4s - Http4s on pure netty.MainArgs - Small, dependency-free library for command line argument parsing in Scala.decline - Composable command-line parser for Scala.zio-cli - Rapidly build powerful command-line applications powered by ZIO.zio-tui - Library for creating interactive terminal user interfaces.doobie - Functional JDBC layer for Scala.ScalikeJDBC - Tidy SQL-based DB access library for Scala that naturally wraps JDBC and provides easy-to-use APIs.Skunk - Data access library for Scala + Postgres.Slick - Modern database query and access library for Scala. Allows you to work with stored data almost as if you were using Scala collections. (Web )redis4cats - Redis client built on top of Cats Effect, Fs2 and Lettuce.SQLite4S - Scala Native wrapper of the SQLite C library.Scalding - Scala library that makes it easy to specify Hadoop MapReduce jobs.ProtoQuill - Compile-time Language Integrated Queries for Scala.SPL-to-PySpark transpiler ZIO-Schema - Compositional, type-safe schema definitions, which enable auto-derivation of codecs and migrations.Gluten - Spark Plugin to Offload SQL Engine to Native Library.Anorm - Simple data access layer that uses plain SQL to interact with the database and provides an API to parse and transform the resulting datasets.Bloop - Compile, test and run Scala code fast. (Code )Weaver-test - Test framework that runs everything in parallel.ScalaCheck - Property-based testing for Scala. (Web ) (Web Code )Test-State - Test stateful stuff statelessly, and reasonably.kallikrein - Scala testing framework for sbt focused on running cats-effect based programs.specs2 - Software Specifications for Scala.scalaprops - Property based testing library for Scala.Americium - Generation of test case data for Scala and Java, in the spirit of QuickCheck.coulomb - Unit analysis for Scala.GraphQLβ Caliban - Purely functional library for building GraphQL servers and clients in Scala. (Docs )Sangria - Scala GraphQL implementation.Sangria Relay - Sangria Relay Support.Grackle - GraphQL server implementation for Scala.Graphicsβ Doodle - Compositional vector graphics in Scala / Scala.JS.Minart - Minimal scala library to draw images in a JVM/Javascript/Native canvas.splain - Scala compiler plugin for more concise errors.bobcats - Cross-platform cryptography (JVM, Node.js, browsers) for the Cats ecosystem.Noether - Scala Aggregators used for ML Model metrics mo.Lamp - Scala library for deep learning and scientific computing. It features a native CPU and GPU backend and operates on off-heap memory.scala-torch - Scala bindings for LibTorch.Storch - PyTorch bindings for Scala.sup - Composable, purely functional healthchecks in Scala.Monocle - Optics library for Scala.Skunk - Data access library for Scala + Postgres.Scala STM - Lightweight software transactional memory for Scala, inspired by the STMs in Haskell and Clojure while taking advantage of Scalaβs power and performance.Scalaz - Principled Functional Programming in Scala.ZIO - Type-safe, composable library for asynchronous and concurrent programming in Scala. (Web ) (Advanced ZIO Workshop ) (Articles )ZIO ZMX - Monitoring, Metrics and Diagnostics for ZIO.Matryoshka - Generalized recursion schemes and traversals for Scala.Scrimage - Scala image processing library.Fastring - Extremely fast string formatting.Compute.scala - Scientific computing with N-dimensional arrays.Finatra - Fast, testable, Scala services built on TwitterServer and Finagle.Freestyle - Cohesive & pragmatic framework of FP centric Scala libraries.Deequ - Library built on top of Apache Spark for defining "unit tests for data", which measure data quality in large datasets.Izumi - Ecosystem of independent libraries and frameworks allowing you to significantly increase productivity of your Scala development.Odin - Fast & Functional logger in Scala.Monix - Asynchronous, Reactive Programming for Scala and Scala.js.Coursier - Pure Scala Artifact Fetching. (Web )almond - Scala kernel for Jupyter. (Web )Twitter Util - Bunch of idiomatic, small, general purpose tools.scalameta - Library to read, analyze, transform and generate Scala programs. (Guide )Inox - Solver for higher-order functional programs.Stainless - Verification framework and tool for higher-order Scala programs. (Web ) (Talk ) (Talk Slides )scodec - Scala combinator library for working with binary data.circe - JSON library for Scala.Ciris - Functional Configurations for Scala.ScalaPy - Allows you to use any Python library from your Scala code with an intuitive API. (Data Science in Scala with ScalaPy - Shadaj Laddad )Treadle - Experimental circuit simulator that executes low Firrtl IR.graalnative4s - Employ Scala for serverless applications.Cats Effect - Purely functional runtime system for Scala.NewType - Scala with no runtime overhead.Monocle - Optics library for Scala. (Docs )refined - Simple refinement types for Scala.uPickle - Simple Scala JSON and Binary (MessagePack) serialization library.LaCasa - Lightweight affine types and object capabilities in Scala.Spotted Leopards - Proof of concept for a cats-like library built using Dotty features.Izumi - Productivity-oriented collection of lightweight fancy stuff for Scala toolchain. (Docs )Libretto - Declarative concurrency and stream processing library for Scala.Algebird - Abstract Algebra for Scala.Natchez - Distributed tracing library for Scala.SWAN - Swift Static Analysis Framework.Chimney - Scala library for boilerplate-free, type-safe data transformations.banana-rdf - Library for RDF, SPARQL and Linked Data technologies in Scala.Scio - Scala API for Apache Beam and Google Cloud Dataflow.MacWire - Lightweight and Nonintrusive Scala Dependency Injection Library.Wire Signals - Small and effective event-handling library for Scala.Papa Carlo - Scala parsing library utilises incremental parsing approach.Avro4s - Avro schema generation and serialization / deserialization for Scala.Vault - Type-safe, persistent storage for values of arbitrary types.cats-retry - Library for retrying actions that can fail.Quill - Compile-time Language Integrated Queries for Scala. (Web )ZIO Optics - Easily modify parts of larger data structures.scala-typed-holes - Scala compiler plugin to emulate the "typed holes" feature of Haskell, Idris, Agda, etc.ScalaCache - Simple caching in Scala.Scaldi - Lightweight Scala Dependency Injection Library.Zinc - Incremental compiler for Scala.zio-webhooks - Microlibrary for reliable and persistent webhook delivery.Iron - Type constraint system for Scala. It allows creating type-level assertions, evaluable at compile time and/or runtime.ECScala - ECS Scala framework.ZIO Akka Cluster Squants - Scala API for Quantities, Units of Measure and Dimensional Analysis.dynamic - Scala library that allows copying a case class using a dynamic property name.crjdt - Conflict-free replicated JSON datatype (CRDT) in Scala.Droste - Recursion library for Scala.Iota - Fast [co]product types with a clean syntax. For Cats & Scalaz.Enumeratum - Type-safe, reflection-free, powerful enumeration implementation for Scala with exhaustive pattern match warnings and helpful integrations.FS2 - Compositional, streaming I/O library for Scala. (Web )Endless - Scala library to describe event sourced entities using tagless-final algebras. (Docs )Akka-Effect - Cats-Effect & Akka interop.Woof - Pure Scala logging library with no reflection.Squid - Type-safe metaprogramming for Scala.fs2-data - Streaming data parsers and manipulation library.Scala JSON Schema Diffson - Scala diff/patch library for JSON.Polyvinyl - Typesafe record types for Scala.newtypes - Macro-free helpers for defining newtypes in Scala, cross-compiled to Scala 3.geny - Provides the geny.Generator data type, the dual to a scala.Iterator that can ensure resource cleanup.Breeze - Numerical processing library for Scala.Scala Yaml - Dependency-free library that allows to work with the YAML.Parsel - Zero-dependency Scala library for working with Python code.ZIO logging - Simple logging for ZIO apps, with correlation, context & pluggable backends out of the box.ZIO Config - ZIO-based library for working with application configuration data.Scribe - Fastest logging library in the world. Built from scratch in Scala and programmatically configurable.Emil - Library for dealing with E-Mail in Scala.futil - Minimal utilities for Scala Futures.Scala Isabelle - Scala library for controlling/interacting with Isabelle.mini-refined - Simple encoding of refinement types in Scala 3.Difflicious - Scala library for readable diffs of values.zio-json - Fast, secure JSON library with tight ZIO integration.Ficus - Lightweight companion to Typesafe config that makes it more Scala-friendly.Colossus - Lightweight I/O framework for building Scala services.Futiles - Missing utils for working with Scala Futures.spray-json - Lightweight, clean and simple JSON implementation in Scala.sconfig - Configuration library written in Scala which is a direct translation of the original widely used Java library.Akka Stream Contrib Jsoniter Scala - Scala macros for compile-time generation of safe and ultra-fast JSON codecs.Staged Program Analyzers - Improving the performance of static analysis by meta-programming/multi-stage programming.Play JSON - Powerful Scala JSON library, originally developed by the Play team.kantan.csv - CSV handling library for Scala.Foursquare Fsq.io - All of Foursquare's open source code in a single repo.Scala-fx - Effects library for Scala 3 that introduces structured concurrency and an abilities system to describe pure functions and programs.DUCT - Scala 3 category theory and functional programming library.OS-Lib - Simple Scala interface to common OS filesystem and subprocess APIs.PureConfig - Scala library for loading configuration files.jsonrpclib - Cross-platform pure-scala JsonRPC library.cats-saga - Purely Functional Transaction Management In Scala With Cats.zio-saga - Purely Functional Transaction Management In Scala With ZIO.Turbolift - Extensible Effect System for Scala 3.Ducktape - Library for boilerplate-less and configurable transformations between case classes/enums (sealed traits) for Scala 3.smithy4s - Tool that generates third-party-free, protocol-agnostic scala code from smithy specifications. (Docs ) (Reddit )GLL Combinators - Parser combinator library based on the GLL algorithm.Nyaya - Random Data Generation and/or Property Testing in Scala & Scala.JS.Shardcake - Sharding and location transparency for Scala.ZIO Compose - Scala DSL to write type-safe programs for distributed computing.feral - Framework for writing serverless functions in Scala with Cats Effect and deploying them to the cloud, targeting both JVM and JavaScript runtimes.scala-uri - Simple scala library for building and parsing URIs.Glass - Modern optic library.Morphling - Cats-based Scala library for free applicative schemas.Kalix Java and Scala SDK Scala Standard Parser Combinator - Parsing for Scala.Airstream - State propagation and event streams with mandatory ownership and no glitches.Scala Debug Adapter - Implementation of the Debug Adapter Protocol for Scala.Featran - Scala feature transformation library for data science and machine learning.cats-parse - Parsing library for the cats ecosystem.avocADO - Safe compile-time parallelization of for-comprehensions for Scala 3.Kyo - High-performance composable effects for Scala 3.ZIO direct - Direct-Style Programming for ZIO.Poppet - Minimal, type-safe RPC Scala library.Dupin - Minimal, idiomatic, customizable validation Scala library.Jam - Incredibly simple DI Scala library.ToFu - Functional programming toolbox.derevo - Multiple instance derivations inside a single macro annotation.Volga - Comprehensions for Arrows and Monoidal categories.Gallia - Schema-aware Scala library for data transformation.dependency - Library to parse and handle Java and Scala dependencies.eff - Eff monad for cats.Choam - Experiments with composable lock-free concurrency.Yin-Yang - Library for deep embedding of DSLs based on Scala macros.ZIO Process - ZIO library for interacting with external processes and command-line programs.Edomata - Production ready event-driven automata for Scala, Scala.js and scala native.Ultraviolet - Scala 3 to GLSL transpiler library.kinesis4cats - Comprehensive Scala library for Kinesis.Systolic Array - DSL for Systolic Arrays.SFML Scala Native - Scala Native binding of the SFML graphic library.otel4s - OpenTelemetry library for Scala based on Cats-Effect.tethys - JSON parsing/writing library for Scala.Decrel - Library for declarative programming using relations between your data.neotype - Friendly newtype library for Scala 3.parboiled2 - Macro-based PEG parser generator for Scala.Extras Scaladex - Scala Package Index. (Code )Useful Scala libraries (2020) Scalaland.io - Umbrella for various Scala projects. (GitHub )Awesome Scala Native ZIO Cheat Sheet Best Scala framework / libraries (2021) FP libraries that target scala 3 exclusively? (2021) Scala libraries for ML (2021) sbt-dotenv - sbt plugin to load environment variables from .env into the JVM System Environment for local development.sbt-autoversion - Builds on the sbt-release and sbt-git plugins to automatically manage the version bump to apply.sbt-release - Customizable release process that you can add to your project.Sane Scala Dependencies in a Poly-Repo Codebase (2021) Finding Scala Libraries (2022) Unused Code - Find and warn, remove unused public classes, methods by scalafix SyntacticRule.Modeling & Building PayRoll Engine Using Functional Effects System With ZIO Asynchronous, Concurrent, ZIO Scala FP Library. (2022) Scala 3 migration guide Binary Compatibility Code Examples & Explanation - Guide + Examples to help you better maintain binary compatibility for your Scala library releases.Scala Diagrams - Generate class diagrams from scala source code.panopticon-tui - Terminal UI observability and diagnostic tool for Scala applications.zio-akka-quickstart - Giter8 template for a fully functional, ready to deploy microservice ZIO, Akka HTTP and Slick.Generate native-image binaries with sbt typelevel-nix - Development tools for Typelevel projects.Demos for ScalablyTyped scala-interactive-update - Update your Scala dependencies (both libraries and plugins) interactively.Getting Started with Scala.js and Vite | LetΒ΄s talk about Scala 3 (2022) Effect Zoo for Scala 3 Scala Library template - Template for cross-platform, cross-versions Scala Library.Bindings generator for Scala 3 Native Acyclic - Scala compiler plugin to let you prohibit circular dependencies between files.Scala 3 Metaprogramming Examples Sbtix - Generates a Nix definition that represents your SBT project's dependencies.Dotty-patched and Eval - Evaluating source code and trees at compile time hacking multi-staging programming.Immutable Collections should be Your Default (2022) ScalaZ and Cats - Usage examples and benchmarks between Scalaz and Cats (w/ Haskell ground-truth).Peeking inside the engine of ZIO SQL (2022) Smithy Translate - Tooling that enables converting to and from Smithy. (Reddit )Scala Template Scala One - Platform of libraries for Scala 3.Managing micro libraries with Scala CLI - Alexandre Archambault (2022) dexsearch - CLI lets you search for Scala libraries via Scaladex, and stores them in your clipboard, well formatted, ready to paste in build files and scripts.sbt-sonatype - sbt plugin for publishing Scala/Java projects to the Maven central.