Scala
Contents
Database
akka-persistence-gcp-datastore is a journal and snapshot store plugin for akka-persistence using google cloud firestore in datastore mode.
The Anorm database library
Clickhouse Scala Client with Reactive Streams support
The Couchbase Monorepo for JVM Clients: Java, Scala, io-core…
Functional JDBC layer for Scala.
Elasticsearch Scala Client - Reactive, Non Blocking, Type Safe, HTTP Client
Scala etcd client implementing V3 APIs
A Future-free Fs2 native pure FP Redis client
None
Scala lightweight, type-safe, asynchronous driver for neo4j
Idiomatic, typesafe, and reactive Scala client for Apache Pulsar
Compile-time Language Integrated Queries for Scala
Non-blocking, Reactive MongoDB Driver for Scala
Non-blocking, Reactive Redis driver for Scala (with Sentinel support)
Performant database access in Scala
Scala GraphQL implementation
Type-safe data migration tool for Slick, Git and beyond.
Type-Safe framework for defining, modifying, and querying SQL databases
A tidy SQL-based DB access library for Scala developers. This library naturally wraps JDBC APIs and provides you easy-to-use APIs.
Simpler DynamoDB access for Scala
Slick (Scala Language Integrated Connection Kit) is a modern database query and access library for Scala
Slick extensions for PostgreSQL
Simple SQL queries in Scala 3
A Scala DSL for talking with databases with minimum verbosity and maximum type safety
Molecule translates custom Scala code to database queries for multiple databases.
A ZIO-based redis client
A data access library for Scala + Postgres.
Highly available distributed strong eventual consistent and sequentially consistent storage with feeds, sorting and search
Graphical User Interfaces
Web Frameworks
Tiny High Performance HTTP Server for Scala
Cask: a Scala HTTP micro-framework. Cask makes it easy to set up a website, backend server, or REST API using Scala
Fast, testable, Scala services built on TwitterServer and Finagle
Lift Framework
The Community Maintained High Velocity Web Framework For Java and Scala.
Facebook's React on Scala.JS
Tiny Scala high-performance, async web framework, inspired by Sinatra
Minimalistic Scala 3 web framework
A toolkit for servicing HTTP requests in Scala
Next generation user interface and application development in Scala and Scala.js for web, mobile, and desktop.
Reactive Web Frameworks
Functional Reactive Programming
Vert.x for Scala
Compositional, streaming I/O library for Scala
Iteratees for Cats
Asynchronous, Reactive Programming for Scala and Scala.js.
REScala - distributed and reactive programming embedded in OO and FP programs.
ZIO — A type-safe, composable library for async and concurrent programming in Scala
Data Binding and Validation
Authentication
Simple play module for authenticating against Google
Security library for Play framework 2 in Java and Scala: OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...
OAuth 2.0 server-side implementation written in Scala
Cryptography
Testing
Bencher - Continuous Benchmarking
Testing tool in Scala for HTTP JSON API
Modern Load Testing as Code
The super light testing library for Scala and Scala.js
Mockito for Scala language
Scala testing library with actionable errors and extensible APIs
Property-based testing for Scala
Native Scala mocking framework
property based testing library for Scala
A testing tool for Scala and Java developers
Software Specifications for Scala
Mutation testing for Scala
A test framework that runs everything in parallel.
Docker containers for testing in scala
A simple testing framework for Scala
JSON
Purely functional JSON parser and library in scala.
Yet another JSON library for Scala
A scala diff/patch library for Json
Add-on module for Jackson (https://github.com/FasterXML/jackson) to support Scala-specific datatypes
Jawn is for parsing jay-sawn (JSON)
JSON library
Scala macros for compile-time generation of safe and ultra-fast JSON codecs + circe booster
JSON typeclasses that know the difference between null and absent fields
The Play JSON library
Fast JSON parser/generator for Scala
A lightweight, clean and simple JSON implementation in Scala
Stupid simple Scala 3 library for writing and reading JSON
Fast, secure JSON library with tight ZIO integration.
Serialization
Efficient CBOR and JSON (de)serialization in Scala
Avro schema generation and serialization / deserialization for Scala
Scala extensions for the Kryo serialization library
Protocol buffer compiler for Scala.
Scala combinator library for working with binary data
A Thrift parser/generator
uPickle: a simple, fast, dependency-free JSON & Binary (MessagePack) serialization library for Scala
Lightweight and fast serialization library for Scala 2/3 based on Protocol Buffers with macros
CSV
Science and Data Analysis
Abstract Algebra for Scala
Accelerate local LLM inference and finetuning (LLaMA, Mistral, ChatGLM, Qwen, Baichuan, Mixtral, Gemma, Phi, MiniCPM, etc.) on Intel XPU (e.g., local PC with iGPU and NPU, discrete GPU such as Arc, Flex and Max); seamlessly integrate with llama.cpp, Ollama, HuggingFace, LangChain, LlamaIndex, GraphRAG, DeepSpeed, vLLM, FastChat, Axolotl, etc.
Breeze is/was a numerical processing library for Scala.
doddle-model: machine learning in Scala.
A dimensional analysis library based on dependent types
LoMRF is an open-source implementation of Markov Logic Networks
Purely functional genetic algorithms for multi-objective optimisation
numsca is numpy for scala
An ONNX (Open Neural Network eXchange) API and backend for typeful, functional deep learning and classical machine learning in Scala 3
Workflow engine for exploration of simulation models using high throughput computing
Optimus is a mathematical programming library for Scala.
Rings: efficient JVM library for polynomial rings
Statistical Machine Intelligence & Learning Engine
Powerful new number types and numeric abstractions for Scala.
The Scala API for Quantities, Units of Measure and Dimensional Analysis
Web-based notebook that enables data-driven, interactive data analytics and collaborative documents with SQL, Scala and more.
State of the Art Natural Language Processing
Open source Scala library that provides data structures for vectors and matrices
Big Data
Apache Flink
Scala library for accessing various file, batch systems, job schedulers and grid middlewares.
Mirror of Apache Kafka
Alpakka Kafka connector - Alpakka is a Reactive Enterprise Integration library for Java and Scala, based on Reactive Streams and Akka.
A Scala API for Apache Beam and Google Cloud Dataflow.
Apache Spark - A unified analytics engine for large-scale data processing
A schema-aware Scala library for data transformation
Low-code tool for automating actions on real time data Stream processing for the users.
Command Line Interfaces
A composable command-line parser for Scala.
A small, convenient, dependency-free library for command-line argument parsing in Scala
a simple Scala CLI parsing library
command line options parsing for Scala
Image processing and image analysis
Modularization and Dependency Injection
Extensions
Productivity-oriented collection of lightweight fancy stuff for Scala toolchain
Simple, safe and intuitive Scala I/O
Blindsight is a Scala logging API with DSL based structured logging, fluent logging, semantic logging, flow logging, and context aware logging.
Lightweight, modular, and extensible library for functional programming.
Scala library for boilerplate-free, type-safe data transformations
A JSR-310 port of nscala_time
A framework to create embedded Domain-Specific Languages in Scala
A macro library that converts native imperative syntax to scalaz's monadic expressions
Eff monad for cats - https://atnos-org.github.io/eff
A library that toggles Scala code at compile-time, like #if in C/C++
A type-safe, reflection-free, powerful enumeration implementation for Scala with exhaustive pattern match warnings and helpful integrations.
High-performance SLF4J wrapper for Scala.
Optics library for Scala
A new Scala wrapper for Joda Time based on scala-time
Modify deeply nested case class fields
Refinement types for Scala
An asynchronous programming facility for Scala
Graph for Scala is intended to provide basic graph functionality seamlessly fitting into the Scala Collection Library. Like the well known members of scala.collection, Graph for Scala is an in-memory graph library aiming at editing and traversing graphs, finding cycles etc. in a user-friendly way.
Convenient and performant logging library for Scala wrapping SLF4J.
Library to read, analyze, transform and generate Scala programs
Principled Functional Programming in Scala
The fastest logging library in the world. Built from scratch in Scala and programmatically configurable.
Generic programming for Scala
First class syntax support for type classes in Scala
Squid – type-safe metaprogramming and compilation framework for Scala
tinylog is a lightweight logging framework for Java, Kotlin, Scala, and Android
Wonderful reusable code from Twitter
Distributed Systems
Build highly concurrent, distributed, and resilient message-driven applications on the JVM
Platform to build distributed, scalable, enterprise-wide business applications
A fault tolerant, protocol-agnostic RPC system
Minimal, type-safe RPC Scala library.
RPC client and server library for Scala
Misc
Scala Scripting
Simple project to quickly start developing a Scala-based microservice or web application, without the need to write login, user registration etc.
A scala implementation of the Lightning Network.
Scala/Scala.js library for manipulating Fancy Ansi colored strings
fs2 utilities to interact with AWS
Mailgun API implementation in Scala
A zero-dependency Scala library for managing resources monadically
Scala command-line wrapper around ffmpeg, ffprobe, ImageMagick, and other tools relating to media.
Swagger spec generator for play framework
Pretty-printing value, types and type-signatures in Scala
A boilerplate-free library for loading configuration files
A scala chassis to get your applications and services bootstrapped quickly
Efficient diffing in Scala
Scala library that provides an enumeration of ISO 3166 codes for countries, along with their subdivisions.
Scala library that detects and extracts URLs from text.
A utility library aiming to simplify the Scala coding experience.
Android
HTTP
The Streaming-first HTTP server/module of Akka
Scala wrapper for the Java AsyncHttpClient.
Scala combinator library for building Finagle HTTP services
A minimal, idiomatic Scala interface for HTTP
An HTTP Server and Client library for Scala.
A Scala port of the popular Python Requests HTTP client: flexible, intuitive, and straightforward to use.
scalaxb is an XML data binding tool for Scala.
The Scala HTTP client you always wanted!
Rapid development of self-documenting APIs
Describe HTTP endpoints in Scala and derive clients, servers, and documentation
A lightweight HTTP/WebSocket server built with ZIO
Metrics and Monitoring
Parsing
friendly little parsers
Writing Fast Parsers Fast in Scala
A macro-based PEG parser generator for Scala 2.10+
simple combinator-based parsing for Scala. formerly part of the Scala standard library, now a separate community-maintained module
A parsing library for the cats ecosystem
Sbt plugins
Desugaring scala for without implicit withFilters
Typechecked markdown documentation for Scala
An Sbt plugin that fills apiMappings for common Scala libraries.
Deploy über-JARs. Restart processes. (port of codahale/assembly-sbt)
I know this because build.sbt knows this.
sbt plugin to automate Sonatype releases from GitHub Actions
SBT Plugin for OWASP DependencyCheck. Monitor your dependencies and report if there are any publicly known vulnerabilities (e.g. CVEs).
Create Docker images directly from sbt
Doctest for scala
git, site and ghpages support for sbt projects.
sbt-header is an sbt plugin for creating file headers, e.g. copyright headers
Sbt plugin for rendering Scala objects to files. And more!
SBT plugin for tweaking various IDE settings
"Trust no one, bench everything." - sbt plugin for JMH (Java Microbenchmark Harness)
An sbt plugin to create awesome microsites for your project
A tool for catching binary incompatibility in Scala
sbt Native Packager
A sbt plugin for creating distributable Scala packages.
PGP plugin for sbt
A release plugin for sbt
A Sbt plugin that configures source mapping for Scala.js projects hosted on Github
sbt plugin for Scalafmt
sbt plugin for scoverage
Site generation for sbt
A sbt plugin for publishing Scala/Java projects to the Maven central.
sbt plugin to create a unified Scaladoc or Javadoc API document across multiple subprojects.
sbt plugin that can check Maven and Ivy repositories for dependency updates
Plugin for sbt to create Eclipse project definitions
better implicit errors for scala
Servlet support for sbt
A git plugin for sbt
Tools
Pure Scala Artifact Fetching
Bloop is a build server and CLI tool to compile, test and run Scala fast from any editor or build tool.
dregex is a Java library that implements a regular expression engine using deterministic finite automata (DFA). It supports some Perl-style features and yet retains linear matching time, and also offers set operations.
Scala macro that generates ultra-fast string interpolators.
Extremely fast string formatting
A Git platform powered by Scala with easy installation, high extensibility & GitHub API compatibility
a command line tool to apply templates defined on GitHub
Scala language server with rich IDE features
Mill is a fast JVM build tool that supports Java and Scala. 2-3x faster than Gradle and 5-10x faster than Maven for common workflows, Mill aims to make your project’s build process performant, maintainable, and flexible
sbt, the interactive build tool
Refactoring and linting tool for Scala
Scala source code formatter
Scala compiler plugin for static code analysis
Flexible Scala code linting tool
Scala2PlantUML generates PlantUML diagrams from Scala code.
XML / HTML
Templating
ScalaTags is a small XML/HTML construction library for Scala.
Scalate is a Scala based template engine which supports HAML, Mustache and JSP, Erb and Velocity style syntaxes.
Twirl is Play's default template engine
Typesafe HTML templates and static site generator in pure Scala
Geospatial
GeoTrellis is a geographic data processing engine for high performance applications.
Scala and Spark library focused on reading OpenStreetMap Pbf files.
RTree2D is a 2D immutable R-tree for ultra-fast nearest and intersection queries in plane and spherical coordinates
a scala library with primitives to build applications using the SpatioTemporal Asset Catalogs specification
A STAC/OGC API Features Web Service
Tutorials and courses
Community Members' Blogs
Table of Contents
Projects
Clojure is a dynamic, functional, general-purpose programming language that is a dialect of the Lisp programming language family.