Home

Awesome

<!--- This file is automatically generated. Do not edit directly. -->

Awesome Scala Awesome

A community driven list of useful Scala libraries, frameworks and software. This is not a catalog of all the libraries, just a starting point for your explorations. Inspired by awesome-python. Other amazingly awesome lists can be found in the awesome-awesomeness list.

Also awesome is Scaladex, the searchable, tagged, and centralized index of Scala libraries.

Projects with over 500 stargazers are in bold.

Contributing

Your contributions are always welcome! Please submit a pull request or create an issue to add a new framework, library or software to the list. Do not submit a project that hasn’t been updated in the past 6 months or is not awesome.

Don't modify README.md in your pull request. It is automatically generated. Modify template.md instead.

Table of Contents

Archive and Compression

NameDescriptionGitHub Activity
SevenZ4SSevenZip library for Scala, easy to use.GitHub stars GitHub commit activity

Artificial Intelligence

NameDescriptionGitHub Activity
cilibTypesafe, purely functional Computational IntelligenceGitHub stars GitHub commit activity

Database

Database access libraries in Scala.

NameDescriptionGitHub Activity
akka-persistence-gcp-datastoreakka-persistence-gcp-datastore is a journal and snapshot store plugin for akka-persistence using google cloud firestore in datastore mode.GitHub stars GitHub commit activity
anormThe Anorm database libraryGitHub stars GitHub commit activity
casbahCasbah is now officially end-of-life (EOL).GitHub stars GitHub commit activity
clickhouse-scala-clientClickhouse Scala Client with Reactive Streams supportGitHub stars GitHub commit activity
couchbase-jvm-clientsThe Couchbase Monorepo for JVM Clients: Java, Scala, io-core…GitHub stars GitHub commit activity
couchdb-scalaA purely functional Scala client for CouchDBGitHub stars GitHub commit activity
doobieFunctional JDBC layer for Scala.GitHub stars GitHub commit activity
elastic4sElasticsearch Scala Client - Reactive, Non Blocking, Type Safe, HTTP ClientGitHub stars GitHub commit activity
etcd4sScala etcd client implementing V3 APIsGitHub stars GitHub commit activity
finagle-postgresPostgreSQL protocol support for FinagleGitHub stars GitHub commit activity
laserdiscA Future-free Fs2 native pure FP Redis clientGitHub stars GitHub commit activity
mysql-binlog-streamNoneGitHub stars GitHub commit activity
longevityA Persistence Framework for Scala and NoSQLGitHub stars GitHub commit activity
lucene4sLight-weight convenience wrapper around Lucene to simplify complex tasks and add Scala sugar.GitHub stars GitHub commit activity
mapperdaoA Scala ORM libraryGitHub stars GitHub commit activity
morpheusReactive type-safe Scala driver for SQL databasesGitHub stars GitHub commit activity
neotypesScala lightweight, type-safe, asynchronous driver for neo4jGitHub stars GitHub commit activity
phantomSchema safe, type-safe, reactive Scala driver for Cassandra/Datastax EnterpriseGitHub stars GitHub commit activity
pulsar4sIdiomatic, typesafe, and reactive Scala client for Apache PulsarGitHub stars GitHub commit activity
zio-quillCompile-time Language Integrated Queries for ScalaGitHub stars GitHub commit activity
reactivecouchbase-rs-coreNew ReactiveCouchbase driver using reactive-streamsGitHub stars GitHub commit activity
ReactiveMongo:leaves: Non-blocking, Reactive MongoDB Driver for ScalaGitHub stars GitHub commit activity
rediscalaNon-blocking, Reactive Redis driver for Scala (with Sentinel support)GitHub stars GitHub commit activity
relatePerformant database access in ScalaGitHub stars GitHub commit activity
salatSalat is a simple serialization library for case classes.GitHub stars GitHub commit activity
sangriaScala GraphQL implementationGitHub stars GitHub commit activity
scala-activerecordActiveRecord-like ORM library for ScalaGitHub stars GitHub commit activity
scala-forkliftType-safe data migration tool for Slick, Git and beyond.GitHub stars GitHub commit activity
scala-redisA scala library for connecting to a redis server, or a cluster of redis nodes using consistent hashing on the client side.GitHub stars GitHub commit activity
scala-sqlscala SQL apiGitHub stars GitHub commit activity
scalarelationalType-Safe framework for defining, modifying, and querying SQL databasesGitHub stars GitHub commit activity
scalikejdbcA tidy SQL-based DB access library for Scala developers. This library naturally wraps JDBC APIs and provides you easy-to-use APIs.GitHub stars GitHub commit activity
scanamoSimpler DynamoDB access for ScalaGitHub stars GitHub commit activity
scredisNon-blocking, ultra-fast Scala Redis client built on top of Akka IO, used in production at LivestreamGitHub stars GitHub commit activity
scruidScala + Druid: Scruid. A library that allows you to compose queries in Scala, and parse the result back into typesafe classes.GitHub stars GitHub commit activity
shadeMemcached client for ScalaGitHub stars GitHub commit activity
slickSlick (Scala Language Integrated Connection Kit) is a modern database query and access library for ScalaGitHub stars GitHub commit activity
slick-pgSlick extensions for PostgreSQLGitHub stars GitHub commit activity
squerylA Scala DSL for talking with databases with minimum verbosity and maximum type safetyGitHub stars GitHub commit activity
moleculeNon-blocking asynchronous domain-customizable database query language for Scala and Scala.js against the Datomic database.GitHub stars GitHub commit activity
zio-redisA ZIO-based redis clientGitHub stars GitHub commit activity
skunkA data access library for Scala + Postgres.GitHub stars GitHub commit activity
kvsHighly available distributed strong eventual consistent and sequentially consistent storage with feeds and searchGitHub stars GitHub commit activity

Messaging

NameDescriptionGitHub Activity
op-rabbitThe Opinionated RabbitMQ Library for Scala and AkkaGitHub stars GitHub commit activity

Graphical User Interfaces

Libraries for creation of graphical user interfaces

NameDescriptionGitHub Activity
scalafxScalaFX simplifies creation of JavaFX-based user interfaces in ScalaGitHub stars GitHub commit activity

Web Frameworks

Scala frameworks for web development.

NameDescriptionGitHub Activity
analogweb-scalaTiny High Performance HTTP Server for ScalaGitHub stars GitHub commit activity
chaosA lightweight framework for writing REST services in Scala.GitHub stars GitHub commit activity
caskCask: a Scala HTTP micro-frameworkGitHub stars GitHub commit activity
colossusI/O and Microservice library for ScalaGitHub stars GitHub commit activity
finatraFast, testable, Scala services built on TwitterServer and FinagleGitHub stars GitHub commit activity
frameworkLift FrameworkGitHub stars GitHub commit activity
peregrineAsync lightweight Scala web frameworkGitHub stars GitHub commit activity
playframeworkPlay FrameworkGitHub stars GitHub commit activity
pageletsA module for the Play Framework to build highly modular applicationsGitHub stars GitHub commit activity
reactiveA simple FRP library and a web UI framework built on itGitHub stars GitHub commit activity
scalajs-reactFacebook's React on Scala.JSGitHub stars GitHub commit activity
scalatraTiny Scala high-performance, async web framework, inspired by SinatraGitHub stars GitHub commit activity
skinny-framework:monorail: "Scala on Rails" - A full-stack web app framework for rapid development in ScalaGitHub stars GitHub commit activity
unfilteredA toolkit for servicing HTTP requests in ScalaGitHub stars GitHub commit activity
xitrumAsync and clustered Scala web framework and HTTP(S) serverGitHub stars GitHub commit activity
youiNext generation user interface and application development in Scala and Scala.js for web, mobile, and desktop.GitHub stars GitHub commit activity

Reactive Web Frameworks

Scala libraries for Reactive Web development

NameDescriptionGitHub Activity
Binding.scalaReactive data-binding for ScalaGitHub stars GitHub commit activity
korolevSingle Page Applications running on the server side.GitHub stars GitHub commit activity
udash-coreScala framework for building beautiful and maintainable web applications.GitHub stars GitHub commit activity
vertx-lang-scalaVert.x for ScalaGitHub stars GitHub commit activity

Data Binding and Validation

Scala libraries for data binding and validation

NameDescriptionGitHub Activity
accordAccord: A sane validation library for ScalaGitHub stars GitHub commit activity
dupinMinimal, idiomatic, customizable validation Scala library.GitHub stars GitHub commit activity
octopusScala library for boilerplate-free validationGitHub stars GitHub commit activity
vetoIf you don't agree with the dataGitHub stars GitHub commit activity
fieldsScala validation libraryGitHub stars GitHub commit activity

i18n

Scala libraries for i18n.

NameDescriptionGitHub Activity
scala-xgettextScala compiler plugin that acts like GNU xgettext command to extract i18n strings in Scala source code files to Gettext .po fileGitHub stars GitHub commit activity
scaposerGNU Gettext .po file loader for ScalaGitHub stars GitHub commit activity

Authentication

Libraries for implementing authentications schemes.

NameDescriptionGitHub Activity
akka-http-sessionWeb & mobile client-side akka-http sessions, with optional JWT supportGitHub stars GitHub commit activity
aws-request-signerScala library to sign HTTP requests to AWS services.GitHub stars GitHub commit activity
OAuth2-mock-playAn implementation of an OAuth2 server designed for mocking/testingGitHub stars GitHub commit activity
play-googleauthSimple play module for authenticating against GoogleGitHub stars GitHub commit activity
play-pac4jSecurity library for Play framework 2 in Java and Scala: OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...GitHub stars GitHub commit activity
play2-authPlay2.x Authentication and Authorization moduleGitHub stars GitHub commit activity
scala-oauth2-providerOAuth 2.0 server-side implementation written in ScalaGitHub stars GitHub commit activity
securesocialA module that provides OAuth, OAuth2 and OpenID authentication for Play Framework applicationsGitHub stars GitHub commit activity

Cryptography

Cryptography and Encryption Libraries.

NameDescriptionGitHub Activity
scryptoCryptographic primitives for ScalaGitHub stars GitHub commit activity
tsecType-safe general-cryptography library - https://jmcardon.github.io/tsec/GitHub stars GitHub commit activity
joseExtensible JOSE library for ScalaGitHub stars GitHub commit activity

Testing

Libraries for code testing.

NameDescriptionGitHub Activity
cornichonScala DSL for testing HTTP JSON APIGitHub stars GitHub commit activity
gatlingModern Load Testing as CodeGitHub stars GitHub commit activity
minitestThe super light testing library for Scala and Scala.jsGitHub stars GitHub commit activity
mockito-scalaMockito for Scala languageGitHub stars GitHub commit activity
munitScala testing library with actionable errors and extensible APIsGitHub stars GitHub commit activity
scalacheckProperty-based testing for ScalaGitHub stars GitHub commit activity
scalameterMicrobenchmarking and performance regression testing framework for the JVM platform.GitHub stars GitHub commit activity
ScalaMockNative Scala mocking frameworkGitHub stars GitHub commit activity
scalapropsproperty based testing library for ScalaGitHub stars GitHub commit activity
scalatestA testing tool for Scala and Java developersGitHub stars GitHub commit activity
scaliveConnect a Scala REPL to running JVM processes without any prior setupGitHub stars GitHub commit activity
specs2Software Specifications for ScalaGitHub stars GitHub commit activity
stryker4sMutation testing for ScalaGitHub stars GitHub commit activity
weaver-testA test framework that runs everything in parallel.GitHub stars GitHub commit activity
testcontainers-scalaDocker containers for testing in scalaGitHub stars GitHub commit activity
utestA simple testing framework for ScalaGitHub stars GitHub commit activity

JSON

Libraries for work with json.

NameDescriptionGitHub Activity
argonautPurely functional JSON parser and library in scala.GitHub stars GitHub commit activity
borerEfficient CBOR and JSON (de)serialization in ScalaGitHub stars GitHub commit activity
circeYet another JSON library for ScalaGitHub stars GitHub commit activity
diffsonA scala diff/patch library for JsonGitHub stars GitHub commit activity
jackson-module-scalaAdd-on module for Jackson (https://github.com/FasterXML/jackson) to support Scala-specific datatypesGitHub stars GitHub commit activity
jawnJawn is for parsing jay-sawn (JSON)GitHub stars GitHub commit activity
json4sJSON libraryGitHub stars GitHub commit activity
jsoniter-scalaScala macros for compile-time generation of safe and ultra-fast JSON codecsGitHub stars GitHub commit activity
jsonPersist-Json, a Fast Json Parser Written in ScalaGitHub stars GitHub commit activity
ninny-jsonJSON typeclasses that know the difference between null and absent fieldsGitHub stars GitHub commit activity
play-jsonThe Play JSON libraryGitHub stars GitHub commit activity
pushkaABANDONED Pure Scala serialization library with annotationsGitHub stars GitHub commit activity
sbt-jsonsbt plugin that generates Scala case classes for easy, statically typed and implicit access of JSON data e.g. from API responsesGitHub stars GitHub commit activity
scala-jsonapiScala support library for integrating the JSON API spec with Spray, Play! or CirceGitHub stars GitHub commit activity
ScalaJackFast JSON parser/generator for ScalaGitHub stars GitHub commit activity
spray-jsonA lightweight, clean and simple JSON implementation in ScalaGitHub stars GitHub commit activity
zio-jsonFast, secure JSON library with tight ZIO integration.GitHub stars GitHub commit activity

YAML

Libraries for work with YAML.

NameDescriptionGitHub Activity
moultingyamlScala wrapper for SnakeYAMLGitHub stars GitHub commit activity

CSV

Libraries for work with CSV.

NameDescriptionGitHub Activity
fm-flatfileScala Library for Reading Flat File Data (CSV/TSV/XLS/XLSX)GitHub stars GitHub commit activity
kantan.csvCSV handling library for ScalaGitHub stars GitHub commit activity
scala-csvCSV Reader/Writer for ScalaGitHub stars GitHub commit activity
spataFunctional, stream-based CSV processor for ScalaGitHub stars GitHub commit activity

Serialization

Libraries for serializing and deserializing data for storage or transport.

NameDescriptionGitHub Activity
avro-codegenScala code generator for Avro schemas.GitHub stars GitHub commit activity
borerEfficient CBOR and JSON (de)serialization in ScalaGitHub stars GitHub commit activity
avro4sAvro schema generation and serialization / deserialization for ScalaGitHub stars GitHub commit activity
chillScala extensions for the Kryo serialization libraryGitHub stars GitHub commit activity
msgpack-scalaMessagePack serializer implementation for Scala / msgpack.org[Scala]GitHub stars GitHub commit activity
ScalaPBProtocol buffer compiler for Scala.GitHub stars GitHub commit activity
scodecScala combinator library for working with binary dataGitHub stars GitHub commit activity
scroogeA Thrift parser/generatorGitHub stars GitHub commit activity
upickleuPickle: a simple, fast, dependency-free JSON & Binary (MessagePack) serialization library for ScalaGitHub stars GitHub commit activity
protoLightweight and fast serialization library for Scala 2/3 based on Protocol Buffers with macrosGitHub stars GitHub commit activity

Science and Data Analysis

Libraries for scientific computing, data analysis and numerical processing.

NameDescriptionGitHub Activity
algebirdAbstract Algebra for ScalaGitHub stars GitHub commit activity
axleAxle Domain Specific Language for Scientific Cloud Computing and VisualizationGitHub stars GitHub commit activity
BigDLBuilding Large-Scale AI Applications for Distributed Big DataGitHub stars GitHub commit activity
breezeBreeze is a numerical processing library for Scala.GitHub stars GitHub commit activity
Clustering4EverC4E, a JVM friendly library written in Scala for both local and distributed (Spark) Clustering.GitHub stars GitHub commit activity
doddle-model:cake: doddle-model: machine learning in Scala.GitHub stars GitHub commit activity
figaroFigaro Programming Language and Core LibrariesGitHub stars GitHub commit activity
libraA dimensional analysis library based on dependent typesGitHub stars GitHub commit activity
LoMRFLoMRF is an open-source implementation of Markov Logic NetworksGitHub stars GitHub commit activity
mgoPurely functional genetic algorithms for multi-objective optimisationGitHub stars GitHub commit activity
MLLibMachine Learning framework for Spark
NDScalaN-dimensional arrays in Scala 3. Think NumPy ndarray, but type-safe over shapes, array/axis labels & numeric data typesGitHub stars GitHub commit activity
numscanumsca is numpy for scalaGitHub stars GitHub commit activity
onnx-scalaAn ONNX (Open Neural Network eXchange) API and backend for typeful, functional deep learning in Scala 3GitHub stars GitHub commit activity
openmoleWorkflow engine for exploration of simulation models using high throughput computingGitHub stars GitHub commit activity
OptimusOptimus is a mathematical programming library for Scala.GitHub stars GitHub commit activity
OscaRa Scala toolkit for solving Operations Research problems
ringsRings: efficient JVM library for polynomial ringsGitHub stars GitHub commit activity
smileStatistical Machine Intelligence & Learning EngineGitHub stars GitHub commit activity
spark-notebookInteractive and Reactive Data Science using Scala and Spark.GitHub stars GitHub commit activity
spirePowerful new number types and numeric abstractions for Scala.GitHub stars GitHub commit activity
squantsThe Scala API for Quantities, Units of Measure and Dimensional AnalysisGitHub stars GitHub commit activity
SynapsesA group of neural-network libraries for functional and mainstream languagesGitHub stars GitHub commit activity
tensorflow_scalaTensorFlow API for the Scala Programming LanguageGitHub stars GitHub commit activity
zeppelinWeb-based notebook that enables data-driven, interactive data analytics and collaborative documents with SQL, Scala and more.GitHub stars GitHub commit activity
spark-nlpState of the Art Natural Language ProcessingGitHub stars GitHub commit activity

Big Data

NameDescriptionGitHub Activity
BIDMachCPU and GPU-accelerated Machine Learning LibraryGitHub stars GitHub commit activity
flinkApache FlinkGitHub stars GitHub commit activity
gridscaleScala library for accessing various file, batch systems, job schedulers and grid middlewares.GitHub stars GitHub commit activity
kafkaMirror of Apache KafkaGitHub stars GitHub commit activity
alpakka-kafkaAlpakka Kafka connector - Alpakka is a Reactive Enterprise Integration library for Java and Scala, based on Reactive Streams and Akka.GitHub stars GitHub commit activity
scaldingA Scala API for CascadingGitHub stars GitHub commit activity
schemerSchema registry for CSV, TSV, JSON, AVRO and Parquet schema. Supports schema inference and GraphQL API.GitHub stars GitHub commit activity
scioA Scala API for Apache Beam and Google Cloud Dataflow.GitHub stars GitHub commit activity
ScrunchA Scala wrapper for Apache Crunch which provides a framework for writing, testing, and running MapReduce pipelines.
sparkApache Spark - A unified analytics engine for large-scale data processingGitHub stars GitHub commit activity
sparkplugSpark package to "plug" holes in data using SQL based rules ⚡️ 🔌GitHub stars GitHub commit activity
spartaReal Time Analytics and Data Pipelines based on Spark StreamingGitHub stars GitHub commit activity
summingbirdStreaming MapReduce with Scalding and StormGitHub stars GitHub commit activity
VegasThe missing MatPlotLib for Scala + SparkGitHub stars GitHub commit activity
gallia-coreA schema-aware Scala library for data transformationGitHub stars GitHub commit activity

Command Line Interfaces

Libraries for creation of command line interfaces

NameDescriptionGitHub Activity
clistCommand Line Interface Scala ToolkitGitHub stars GitHub commit activity
declineA composable command-line parser for Scala.GitHub stars GitHub commit activity
mainargsA small, convenient, dependency-free library for command-line argument parsing in ScalaGitHub stars GitHub commit activity
scallopa simple Scala CLI parsing libraryGitHub stars GitHub commit activity
scoptcommand line options parsing for ScalaGitHub stars GitHub commit activity

Image processing and image analysis

2D and 3D image processing and image analysis

NameDescriptionGitHub Activity
scala-phashImage comparison by hash codesGitHub stars GitHub commit activity
scalismoScalable Image Analysis and Shape ModellingGitHub stars GitHub commit activity
scrimageJava, Scala and Kotlin image processing libraryGitHub stars GitHub commit activity

Sound processing and music

NameDescriptionGitHub Activity
Chromaprint.scalaChromaprint/AcoustID audio fingerprinting for the JVMGitHub stars GitHub commit activity
ScalaColliderA Scala sound synthesis library based on SuperCollider.GitHub stars GitHub commit activity

Functional Reactive Programming

Event streams, signals, observables, etc.

NameDescriptionGitHub Activity
fs2Compositional, streaming I/O library for ScalaGitHub stars GitHub commit activity
iterateeIteratees for CatsGitHub stars GitHub commit activity
monixAsynchronous, Reactive Programming for Scala and Scala.js.GitHub stars GitHub commit activity
reactorsA concurrent reactive programming framework.GitHub stars GitHub commit activity
reactor-scala-extensionsA scala extension for Project Reactor's Flux and MonoGitHub stars GitHub commit activity
REScalaREScala - reactive programming in OO applicationsGitHub stars GitHub commit activity
RxScalaRxScala – Reactive Extensions for Scala – a library for composing asynchronous and event-based programs using observable sequencesGitHub stars GitHub commit activity
scala.rxAn experimental library for Functional Reactive Programming in ScalaGitHub stars GitHub commit activity
zioZIO — A type-safe, composable library for async and concurrent programming in ScalaGitHub stars GitHub commit activity
SynapseGridSynapseGrid is a framework for constructing dynamic low latency data flow systems.GitHub stars GitHub commit activity
vertx-lang-scalaVert.x for ScalaGitHub stars GitHub commit activity
wire-signalsA small and effective event-handling library for ScalaGitHub stars GitHub commit activity

Modularization and Dependency Injection

Modularization of applications, dependency injection, etc.

NameDescriptionGitHub Activity
airframeEssential Building Blocks for ScalaGitHub stars GitHub commit activity
izumiProductivity-oriented collection of lightweight fancy stuff for Scala toolchainGitHub stars GitHub commit activity
macwireLightweight and Nonintrusive Scala Dependency Injection LibraryGitHub stars GitHub commit activity
scala-guiceScala extensions for Google GuiceGitHub stars GitHub commit activity
scaldiLightweight Scala Dependency Injection LibraryGitHub stars GitHub commit activity
sclasnerScala classpath scannerGitHub stars GitHub commit activity
subcutScala Uniquely Bound Classes Under TraitsGitHub stars GitHub commit activity
jamIncredibly simple DI Scala library.GitHub stars GitHub commit activity

Distributed Systems

Libraries and frameworks for writing distributed applications.

NameDescriptionGitHub Activity
akkaBuild highly concurrent, distributed, and resilient message-driven applications on the JVMGitHub stars GitHub commit activity
akka-tracingA distributed tracing extension for Akka. Provides integration with Play framework, Spray and Akka HTTP.GitHub stars GitHub commit activity
annettePlatform to build distributed, scalable, enterprise-wide business applicationsGitHub stars GitHub commit activity
curiodbDistributed NoSQL DatabaseGitHub stars GitHub commit activity
finagleA fault tolerant, protocol-agnostic RPC systemGitHub stars GitHub commit activity
glokkaLibrary to register and lookup actors by names in an Akka clusterGitHub stars GitHub commit activity
lagomReactive Microservices for the JVMGitHub stars GitHub commit activity
parapetA purely functional library to build distributed and event-driven systemsGitHub stars GitHub commit activity
poppetMinimal, type-safe RPC Scala library.GitHub stars GitHub commit activity
reactorsA foundational framework for distributed programming.GitHub stars GitHub commit activity

Extensions

Scala extensions.

NameDescriptionGitHub Activity
AmmoniteScala ScriptingGitHub stars GitHub commit activity
better-filesSimple, safe and intuitive Scala I/OGitHub stars GitHub commit activity
blindsightBlindsight is a Scala logging API with DSL based structured logging, fluent logging, semantic logging, flow logging, and context aware logging.GitHub stars GitHub commit activity
cassovaryCassovary is a simple big graph processing library for the JVMGitHub stars GitHub commit activity
catsLightweight, modular, and extensible library for functional programming.GitHub stars GitHub commit activity
chimneyScala library for boilerplate-free, type-safe data transformationsGitHub stars GitHub commit activity
chronoscalaA JSR-310 port of nscala_timeGitHub stars GitHub commit activity
Dsl.scalaA framework to create embedded Domain-Specific Languages in ScalaGitHub stars GitHub commit activity
eachA macro library that converts native imperative syntax to scalaz's monadic expressionsGitHub stars GitHub commit activity
effEff monad for cats - https://atnos-org.github.io/effGitHub stars GitHub commit activity
enableIf.scalaA library that toggles Scala code at compile-time, like #if in C/C++GitHub stars GitHub commit activity
enumeratumA type-safe, reflection-free, powerful enumeration implementation for Scala with exhaustive pattern match warnings and helpful integrations.GitHub stars GitHub commit activity
Freasy-MonadEasy way to create Free Monad using Scala macros with first-class Intellij support.GitHub stars GitHub commit activity
freedslPractical effect composition library based on abstract wrapping type and the free monadGitHub stars GitHub commit activity
freestyleA cohesive & pragmatic framework of FP centric Scala librariesGitHub stars GitHub commit activity
hamstersA mini Scala utility libraryGitHub stars GitHub commit activity
lammaLamma schedule generator for Scala is a professional schedule generation library for periodic schedules like fixed income coupon payment, equity deravitive fixing date generation etc.GitHub stars GitHub commit activity
larrayLarge off-heap arrays and mmap files for Scala and JavaGitHub stars GitHub commit activity
log4sHigh-performance SLF4J wrapper for Scala.GitHub stars GitHub commit activity
izumiProductivity-oriented collection of lightweight fancy stuff for Scala toolchainGitHub stars GitHub commit activity
MonocleOptics library for ScalaGitHub stars GitHub commit activity
nscala-timeA new Scala wrapper for Joda Time based on scala-timeGitHub stars GitHub commit activity
quicklensModify deeply nested case class fieldsGitHub stars GitHub commit activity
scala-recordsLabeled records for Scala based on structural refinement types and macros.GitHub stars GitHub commit activity
refinedRefinement types for ScalaGitHub stars GitHub commit activity
scala-asyncAn asynchronous programming facility for ScalaGitHub stars GitHub commit activity
scala-graphGraph 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.GitHub stars GitHub commit activity
scala-loggingConvenient and performant logging library for Scala wrapping SLF4J.GitHub stars GitHub commit activity
scalametaLibrary to read, analyze, transform and generate Scala programsGitHub stars GitHub commit activity
ScalacticSmall library of utilities related to quality that helps keeping code clear and correct.
scalazPrincipled Functional Programming in ScalaGitHub stars GitHub commit activity
scribeThe fastest logging library in the world. Built from scratch in Scala and programmatically configurable.GitHub stars GitHub commit activity
shapelessGeneric programming for ScalaGitHub stars GitHub commit activity
simulacrumFirst class syntax support for type classes in ScalaGitHub stars GitHub commit activity
squidSquid – type-safe metaprogramming and compilation framework for ScalaGitHub stars GitHub commit activity
tinylogtinylog is a lightweight logging framework for Java, Kotlin, Scala, and AndroidGitHub stars GitHub commit activity
utilWonderful reusable code from TwitterGitHub stars GitHub commit activity

Misc

Projects that don't fit into any specific category.

NameDescriptionGitHub Activity
AgoraLibrary of vote-counting algorithms for elections.
AmmoniteScala ScriptingGitHub stars GitHub commit activity
aws4sNon-blocking AWS SDK for Scala exposing strongly-typed APIs built on top of http4s, fs2 and catsGitHub stars GitHub commit activity
bootzookaSimple project to quickly start developing a Scala-based microservice or web application, without the need to write login, user registration etc.GitHub stars GitHub commit activity
eclairA scala implementation of the Lightning Network.GitHub stars GitHub commit activity
fansiScala/Scala.js library for manipulating Fancy Ansi colored stringsGitHub stars GitHub commit activity
figlet4sASCII-art banners in ScalaGitHub stars GitHub commit activity
fs2-awsfs2 utilities to interact with AWSGitHub stars GitHub commit activity
google4sA lean, functional library for Google Cloud Services in ScalaGitHub stars GitHub commit activity
google-api-scalaThis API is a wrapper for the google java libraries. Currently mapping Admin Directory, Drive, and Calendar.GitHub stars GitHub commit activity
mailgun4sMailgun API implementation in ScalaGitHub stars GitHub commit activity
managerialA zero-dependency Scala library for managing resources monadicallyGitHub stars GitHub commit activity
media4sScala command-line wrapper around ffmpeg, ffprobe, ImageMagick, and other tools relating to media.GitHub stars GitHub commit activity
miniboxing-pluginMiniboxing is a program transformation that improves the performance of Scala generics when used with primitive types. It can speed up generic collections by factors between 1.5x and 22x, while maintaining bytecode duplication to a minimum. You can easily add miniboxing to your sbt project:GitHub stars GitHub commit activity
ostinatoA chess library that runs on the server (Scala) and on the browser (ScalaJS).GitHub stars GitHub commit activity
play-swaggerSwagger spec generator for play frameworkGitHub stars GitHub commit activity
PPrintPretty-printing value, types and type-signatures in ScalaGitHub stars GitHub commit activity
pureconfigA boilerplate-free library for loading configuration filesGitHub stars GitHub commit activity
REPLesentA neat little tool to build presentations using the Scala REPLGitHub stars GitHub commit activity
scala-sshRemote shell access via SSH for your Scala applicationsGitHub stars GitHub commit activity
scala-stmA library-based Software Transactional Memory (STM) for Scala, coupled with transactional sets and mapsGitHub stars GitHub commit activity
ScavengerAn experimental automated theorem prover.
service-chassisA scala chassis to get your applications and services bootstrapped quicklyGitHub stars GitHub commit activity
spliffEfficient diffing in ScalaGitHub stars GitHub commit activity
scountriesScala library that provides an enumeration of ISO 3166 codes for countries, along with their subdivisions.GitHub stars GitHub commit activity

Android

Scala libraries and wrappers for Android development.

NameDescriptionGitHub Activity
sbt-androidAn easy-to-use sbt plugin for working with all Android projectsGitHub stars GitHub commit activity
scaloidScaloid makes your Android code easy to understand and maintain.GitHub stars GitHub commit activity

HTTP

Scala libraries and wrappers for HTTP clients.

NameDescriptionGitHub Activity
akka-httpThe Streaming-first HTTP server/module of AkkaGitHub stars GitHub commit activity
rebootScala wrapper for the Java AsyncHttpClient.GitHub stars GitHub commit activity
finchScala combinator library for building Finagle HTTP servicesGitHub stars GitHub commit activity
fintrospectImplement fast, type-safe HTTP webservices for FinagleGitHub stars GitHub commit activity
http4sA minimal, idiomatic Scala interface for HTTPGitHub stars GitHub commit activity
jefeManages installation, updating, downloading, launching, error reporting, and more for your application.GitHub stars GitHub commit activity
lolhttpAn HTTP Server and Client library for Scala.GitHub stars GitHub commit activity
requests-scalaA Scala port of the popular Python Requests HTTP client: flexible, intuitive, and straightforward to use.GitHub stars GitHub commit activity
RosHTTPUnified Scala.js + Scala HTTP client APIGitHub stars GitHub commit activity
scalaj-httpSimple scala wrapper for HttpURLConnection. OAuth included.GitHub stars GitHub commit activity
scalaxbscalaxb is an XML data binding tool for Scala.GitHub stars GitHub commit activity
sttpThe Scala HTTP client you always wanted!GitHub stars GitHub commit activity
tapirDeclarative, type-safe web endpoints libraryGitHub stars GitHub commit activity
endpoints4sDescribe HTTP endpoints in Scala and derive clients, servers, and documentationGitHub stars GitHub commit activity
frontierFast, efficient, pure-functional, effect-free websocket, http and udp server, http client and telegram botGitHub stars GitHub commit activity

Semantic Web

Scala libraries for interactions with the Web of Data, and other RDF tools.

NameDescriptionGitHub Activity
banana-rdfBanana RDFGitHub stars GitHub commit activity
scowlA Scala DSL for programming with the OWL API.GitHub stars GitHub commit activity

Metrics and Monitoring

Scala libraries for gathering metrics and monitoring applications.

NameDescriptionGitHub Activity
metrics-scalaThe scala API for Dropwizard's Metrics.GitHub stars GitHub commit activity

Parsing

Scala libraries for creating parsers.

NameDescriptionGitHub Activity
attofriendly little parsersGitHub stars GitHub commit activity
fastparseWriting Fast Parsers Fast in ScalaGitHub stars GitHub commit activity
parboiled2A macro-based PEG parser generator for Scala 2.10+GitHub stars GitHub commit activity
scala-parser-combinatorssimple combinator-based parsing for Scala. formerly part of the Scala standard library, now a separate community-maintained moduleGitHub stars GitHub commit activity
cats-parseA parsing library for the cats ecosystemGitHub stars GitHub commit activity
scallionLL(1) parser combinators in ScalaGitHub stars GitHub commit activity

Sbt plugins

Sbt plugins to make your life easier.

NameDescriptionGitHub Activity
better-monadic-forDesugaring scala for without implicit withFiltersGitHub stars GitHub commit activity
coursierPure Scala Artifact FetchingGitHub stars GitHub commit activity
mdocTypechecked markdown documentation for ScalaGitHub stars GitHub commit activity
sbt-api-mappingsAn Sbt plugin that fills apiMappings for common Scala libraries.GitHub stars GitHub commit activity
sbt-apidocA port of apidocjs https://apidocjs.com to sbt, to document REST ApiGitHub stars GitHub commit activity
sbt-assemblyDeploy über-JARs. Restart processes. (port of codahale/assembly-sbt)GitHub stars GitHub commit activity
sbt-buildinfoI know this because build.sbt knows this.GitHub stars GitHub commit activity
sbt-ci-releasesbt plugin to automate Sonatype releases from GitHub ActionsGitHub stars GitHub commit activity
sbt-dependency-checkSBT Plugin for OWASP DependencyCheck. Monitor your dependencies and report if there are any publicly known vulnerabilities (e.g. CVEs). :rainbow:GitHub stars GitHub commit activity
sbt-dockerCreate Docker images directly from sbtGitHub stars GitHub commit activity
sbt-doctestDoctest for scalaGitHub stars GitHub commit activity
sbt-ghpagesgit, site and ghpages support for sbt projects.GitHub stars GitHub commit activity
sbt-grollsbt plugin to roll the Git historyGitHub stars GitHub commit activity
sbt-headersbt-header is an sbt plugin for creating file headers, e.g. copyright headersGitHub stars GitHub commit activity
sbt-hepekSbt plugin for rendering Scala objects to files. And more!GitHub stars GitHub commit activity
sbt-ide-settingsSBT plugin for tweaking various IDE settingsGitHub stars GitHub commit activity
sbt-jmh"Trust no one, bench everything." - sbt plugin for JMH (Java Microbenchmark Harness)GitHub stars GitHub commit activity
sbt-micrositesAn sbt plugin to create awesome microsites for your projectGitHub stars GitHub commit activity
mimaA tool for catching binary incompatibility in ScalaGitHub stars GitHub commit activity
sbt-native-packagersbt Native PackagerGitHub stars GitHub commit activity
sbt-packA sbt plugin for creating distributable Scala packages.GitHub stars GitHub commit activity
sbt-pgpPGP plugin for sbtGitHub stars GitHub commit activity
sbt-releaseA release plugin for sbtGitHub stars GitHub commit activity
sbt-revolverAn SBT plugin for dangerously fast development turnaround in ScalaGitHub stars GitHub commit activity
sbt-scala-js-mapA Sbt plugin that configures source mapping for Scala.js projects hosted on GithubGitHub stars GitHub commit activity
sbt-scalafmtsbt plugin for ScalafmtGitHub stars GitHub commit activity
sbt-scoveragesbt plugin for scoverageGitHub stars GitHub commit activity
sbt-siteSite generation for sbtGitHub stars GitHub commit activity
sbt-sonatypeA sbt plugin for publishing Scala/Java projects to the Maven central.GitHub stars GitHub commit activity
sbt-unidocsbt plugin to create a unified Scaladoc or Javadoc API document across multiple subprojects.GitHub stars GitHub commit activity
sbt-updatessbt plugin that can check Maven and Ivy repositories for dependency updatesGitHub stars GitHub commit activity
sbt-eclipsePlugin for sbt to create Eclipse project definitionsGitHub stars GitHub commit activity
scala-clippyGood advice for Scala compiler errorsGitHub stars GitHub commit activity
splainbetter implicit errors for scalaGitHub stars GitHub commit activity
tutdoc/tutorial generator for scalaGitHub stars GitHub commit activity
xsbt-web-pluginServlet support for sbtGitHub stars GitHub commit activity
sbt-deploy-sshSBT deploy pluginGitHub stars GitHub commit activity
sbt-gitA git plugin for SBTGitHub stars GitHub commit activity
sbt-gitUse git-describe as a version and run git commands inside SBT shellGitHub stars GitHub commit activity

XML / HTML

XML and HTML generation and processing

NameDescriptionGitHub Activity
scala-scraperA Scala library for scraping content from HTML pagesGitHub stars GitHub commit activity
xs4sXML Streaming for Scala including FS2/cats supportGitHub stars GitHub commit activity

Markdown

NameDescriptionGitHub Activity
LaikaText Markup Transformer for sbt and Scala applications, transforming Markdown and reStructuredText to HTML, EPUB and PDFGitHub stars GitHub commit activity

JavaScript

JavaScript generation and interop libraries.

NameDescriptionGitHub Activity
scalafiddle-editorWeb user interface for ScalaFiddleGitHub stars GitHub commit activity
scala-jsScala.js, the Scala to JavaScript compilerGitHub stars GitHub commit activity

Scheduling

NameDescriptionGitHub Activity
akka-quartz-schedulerQuartz Extension and utilities for cron-style scheduling in AkkaGitHub stars GitHub commit activity

Templating

Web templating engines.

NameDescriptionGitHub Activity
beardA lightweight, logicless templating engine, written in Scala and inspired by MustacheGitHub stars GitHub commit activity
scalatagsScalaTags is a small XML/HTML construction library for Scala.GitHub stars GitHub commit activity
scalateScalate is a Scala based template engine which supports HAML, Mustache and JSP, Erb and Velocity style syntaxes.GitHub stars GitHub commit activity
twirlTwirl is Play's default template engineGitHub stars GitHub commit activity
hepekTypesafe HTML templates in pure Scala. Static site generator included! Play and ScalaJS support!GitHub stars GitHub commit activity

Tools

NameDescriptionGitHub Activity
scala-trace-debugMacro based print debugging. Locates log statements in your IDE.GitHub stars GitHub commit activity
bloopBloop is a build server and CLI tool to compile, test and run Scala fast from any editor or build tool.GitHub stars GitHub commit activity
codacy-scalametaCodacy tool for ScalametaGitHub stars GitHub commit activity
coursierPure Scala Artifact FetchingGitHub stars GitHub commit activity
dregexDregex is a JVM 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.GitHub stars GitHub commit activity
fast-string-interpolatorScala macro that generates ultra-fast string interpolators.GitHub stars GitHub commit activity
fastringExtremely fast string formattingGitHub stars GitHub commit activity
gitbucketA Git platform powered by Scala with easy installation, high extensibility & GitHub API compatibilityGitHub stars GitHub commit activity
giter8a command line tool to apply templates defined on GitHubGitHub stars GitHub commit activity
metalsScala language server with rich IDE features 🚀GitHub stars GitHub commit activity
millYour shiny new Java/Scala build tool!GitHub stars GitHub commit activity
posMacro based print debugging. Locates debug statements in your IDE. Supports logging.GitHub stars GitHub commit activity
sbtsbt, the interactive build toolGitHub stars GitHub commit activity
scalafixRefactoring and linting tool for ScalaGitHub stars GitHub commit activity
ScalafmtCode formatter for Scala
scalariformScala source code formatterGitHub stars GitHub commit activity
scalastylescalastyleGitHub stars GitHub commit activity
ScalatexProgrammable, Typesafe Document GenerationGitHub stars GitHub commit activity
scapegoatScala compiler plugin for static code analysisGitHub stars GitHub commit activity
wartremoverFlexible Scala code linting toolGitHub stars GitHub commit activity
stoneURL (de)construct. Withers.GitHub stars GitHub commit activity
scalajs-routerScalaJS frontend routerGitHub stars GitHub commit activity
scala2plantumlScala2PlantUML generates PlantUML diagrams from Scala code.GitHub stars GitHub commit activity

Geospatial

Libraries to aid with geospatial calculations and artifacts.

NameDescriptionGitHub Activity
geotrellisGeoTrellis is a geographic data processing engine for high performance applications.GitHub stars GitHub commit activity
osm4scalaScala and Spark library focused on reading OpenStreetMap Pbf files.GitHub stars GitHub commit activity
rtree2dRTree2D is a 2D immutable R-tree for ultra-fast nearest and intersection queries in plane and spherical coordinatesGitHub stars GitHub commit activity
sfcurveLocationTech SFCurve is a Scala library for the creation, transformation, and querying of space-filling curvesGitHub stars GitHub commit activity
stac4sa scala library with primitives to build applications using the SpatioTemporal Asset Catalogs specificationGitHub stars GitHub commit activity
franklinA STAC/OGC API Features Web ServiceGitHub stars GitHub commit activity

Devops

DevOps related tools and libraries.

NameDescriptionGitHub Activity
skuberA Scala Kubernetes client libraryGitHub stars GitHub commit activity

Learning Scala

Nice books, blogs and other resources to learn Scala

Books

Exercises

Tutorials and courses

Commercial courses

Community Members' Blogs

Company Blogs

Podcasts

Communities

Misc.