Awesome Scala 
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
| SevenZ4S |
SevenZip library for Scala, easy to use. |
 |
Artificial Intelligence
| cilib |
Typesafe, purely functional Computational Intelligence |
 |
Database
Database access libraries in Scala.
| akka-persistence-gcp-datastore |
akka-persistence-gcp-datastore is a journal and snapshot store
plugin for akka-persistence using google cloud firestore in datastore
mode. |
 |
| anorm |
The Anorm database library |
 |
| casbah |
Casbah is now officially end-of-life (EOL). |
 |
| clickhouse-scala-client |
Clickhouse Scala Client with Reactive Streams support |
 |
| couchbase-jvm-clients |
The Couchbase Monorepo for JVM Clients: Java, Scala, io-core… |
 |
| couchdb-scala |
A purely functional Scala client for CouchDB |
 |
| doobie |
Functional JDBC layer for Scala. |
 |
| elastic4s |
Elasticsearch Scala Client - Reactive, Non Blocking, Type Safe, HTTP
Client |
 |
| etcd4s |
Scala etcd client implementing V3 APIs |
 |
| finagle-postgres |
PostgreSQL protocol support for Finagle |
 |
| laserdisc |
A Future-free Fs2 native pure FP Redis client |
 |
| mysql-binlog-stream |
None |
 |
| longevity |
A Persistence Framework for Scala and NoSQL |
 |
| lucene4s |
Light-weight convenience wrapper around Lucene to simplify complex
tasks and add Scala sugar. |
 |
| mapperdao |
A Scala ORM library |
 |
| morpheus |
Reactive type-safe Scala driver for SQL databases |
 |
| neotypes |
Scala lightweight, type-safe, asynchronous driver for neo4j |
 |
| phantom |
Schema safe, type-safe, reactive Scala driver for Cassandra/Datastax
Enterprise |
 |
| pulsar4s |
Idiomatic, typesafe, and reactive Scala client for Apache
Pulsar |
 |
| zio-quill |
Compile-time Language Integrated Queries for Scala |
 |
| reactivecouchbase-rs-core |
New ReactiveCouchbase driver using reactive-streams |
 |
| ReactiveMongo |
:leaves: Non-blocking, Reactive MongoDB Driver for Scala |
 |
| rediscala |
Non-blocking, Reactive Redis driver for Scala (with Sentinel
support) |
 |
| relate |
Performant database access in Scala |
 |
| salat |
Salat is a simple serialization library for case classes. |
 |
| sangria |
Scala GraphQL implementation |
 |
| scala-activerecord |
ActiveRecord-like ORM library for Scala |
 |
| scala-forklift |
Type-safe data migration tool for Slick, Git and beyond. |
 |
| scala-redis |
A scala library for connecting to a redis server, or a cluster of
redis nodes using consistent hashing on the client side. |
 |
| scala-sql |
scala SQL api |
 |
| scalarelational |
Type-Safe framework for defining, modifying, and querying SQL
databases |
 |
| scalikejdbc |
A tidy SQL-based DB access library for Scala developers. This
library naturally wraps JDBC APIs and provides you easy-to-use
APIs. |
 |
| scanamo |
Simpler DynamoDB access for Scala |
 |
| scredis |
Non-blocking, ultra-fast Scala Redis client built on top of Akka IO,
used in production at Livestream |
 |
| scruid |
Scala + Druid: Scruid. A library that allows you to compose queries
in Scala, and parse the result back into typesafe classes. |
 |
| shade |
Memcached client for Scala |
 |
| slick |
Slick (Scala Language Integrated Connection Kit) is a modern
database query and access library for Scala |
 |
| slick-pg |
Slick extensions for PostgreSQL |
 |
| squeryl |
A Scala DSL for talking with databases with minimum verbosity and
maximum type safety |
 |
| molecule |
Non-blocking asynchronous domain-customizable database query
language for Scala and Scala.js against the Datomic database. |
 |
| zio-redis |
A ZIO-based redis client |
 |
| skunk |
A data access library for Scala + Postgres. |
 |
| kvs |
Highly available distributed strong eventual consistent and
sequentially consistent storage with feeds and search |
 |
Messaging
| op-rabbit |
The Opinionated RabbitMQ Library for Scala and Akka |
 |
Graphical User Interfaces
Libraries for creation of graphical user interfaces
| scalafx |
ScalaFX simplifies creation of JavaFX-based user interfaces in
Scala |
 |
Web Frameworks
Scala frameworks for web development.
| analogweb-scala |
Tiny High Performance HTTP Server for Scala |
 |
| chaos |
A lightweight framework for writing REST services in Scala. |
 |
| cask |
Cask: a Scala HTTP micro-framework |
 |
| colossus |
I/O and Microservice library for Scala |
 |
| finatra |
Fast, testable, Scala services built on TwitterServer and
Finagle |
 |
| framework |
Lift Framework |
 |
| peregrine |
Async lightweight Scala web framework |
 |
| playframework |
Play Framework |
 |
| pagelets |
A module for the Play Framework to build highly modular
applications |
 |
| reactive |
A simple FRP library and a web UI framework built on it |
 |
| scalajs-react |
Facebook’s React on Scala.JS |
 |
| scalatra |
Tiny Scala high-performance, async web framework, inspired by
Sinatra |
 |
| skinny-framework |
:monorail: “Scala on Rails” - A full-stack web app framework for
rapid development in Scala |
 |
| unfiltered |
A toolkit for servicing HTTP requests in Scala |
 |
| xitrum |
Async and clustered Scala web framework and HTTP(S) server |
 |
| youi |
Next generation user interface and application development in Scala
and Scala.js for web, mobile, and desktop. |
 |
Reactive Web Frameworks
Scala libraries for Reactive Web development
Data Binding and Validation
Scala libraries for data binding and validation
| accord |
Accord: A sane validation library for Scala |
 |
| dupin |
Minimal, idiomatic, customizable validation Scala library. |
 |
| octopus |
Scala library for boilerplate-free validation |
 |
| veto |
If you don’t agree with the data |
 |
| fields |
Scala validation library |
 |
i18n
Scala libraries for i18n.
| scala-xgettext |
Scala compiler plugin that acts like GNU xgettext command to extract
i18n strings in Scala source code files to Gettext .po file |
 |
| scaposer |
GNU Gettext .po file loader for Scala |
 |
Authentication
Libraries for implementing authentications schemes.
| akka-http-session |
Web & mobile client-side akka-http sessions, with optional JWT
support |
 |
| aws-request-signer |
Scala library to sign HTTP requests to AWS services. |
 |
| OAuth2-mock-play |
An implementation of an OAuth2 server designed for
mocking/testing |
 |
| play-googleauth |
Simple play module for authenticating against Google |
 |
| play-pac4j |
Security library for Play framework 2 in Java and Scala: OAuth, CAS,
SAML, OpenID Connect, LDAP, JWT… |
 |
| play2-auth |
Play2.x Authentication and Authorization module |
 |
| scala-oauth2-provider |
OAuth 2.0 server-side implementation written in Scala |
 |
| securesocial |
A module that provides OAuth, OAuth2 and OpenID authentication for
Play Framework applications |
 |
Cryptography
Cryptography and Encryption Libraries.
| scrypto |
Cryptographic primitives for Scala |
 |
| tsec |
Type-safe general-cryptography library -
https://jmcardon.github.io/tsec/ |
 |
| jose |
Extensible JOSE library for Scala |
 |
Testing
Libraries for code testing.
| cornichon |
Scala DSL for testing HTTP JSON API |
 |
| gatling |
Modern Load Testing as Code |
 |
| minitest |
The super light testing library for Scala and Scala.js |
 |
| mockito-scala |
Mockito for Scala language |
 |
| munit |
Scala testing library with actionable errors and extensible
APIs |
 |
| scalacheck |
Property-based testing for Scala |
 |
| scalameter |
Microbenchmarking and performance regression testing framework for
the JVM platform. |
 |
| ScalaMock |
Native Scala mocking framework |
 |
| scalaprops |
property based testing library for Scala |
 |
| scalatest |
A testing tool for Scala and Java developers |
 |
| scalive |
Connect a Scala REPL to running JVM processes without any prior
setup |
 |
| specs2 |
Software Specifications for Scala |
 |
| stryker4s |
Mutation testing for Scala |
 |
| weaver-test |
A test framework that runs everything in parallel. |
 |
| testcontainers-scala |
Docker containers for testing in scala |
 |
| utest |
A simple testing framework for Scala |
 |
JSON
Libraries for work with json.
| argonaut |
Purely functional JSON parser and library in scala. |
 |
| borer |
Efficient CBOR and JSON (de)serialization in Scala |
 |
| circe |
Yet another JSON library for Scala |
 |
| diffson |
A scala diff/patch library for Json |
 |
| jackson-module-scala |
Add-on module for Jackson (https://github.com/FasterXML/jackson) to
support Scala-specific datatypes |
 |
| jawn |
Jawn is for parsing jay-sawn (JSON) |
 |
| json4s |
JSON library |
 |
| jsoniter-scala |
Scala macros for compile-time generation of safe and ultra-fast JSON
codecs |
 |
| json |
Persist-Json, a Fast Json Parser Written in Scala |
 |
| ninny-json |
JSON typeclasses that know the difference between null and absent
fields |
 |
| play-json |
The Play JSON library |
 |
| pushka |
ABANDONED Pure Scala serialization library with annotations |
 |
| sbt-json |
sbt plugin that generates Scala case classes for easy, statically
typed and implicit access of JSON data e.g. from API responses |
 |
| scala-jsonapi |
Scala support library for integrating the JSON API spec with Spray,
Play! or Circe |
 |
| ScalaJack |
Fast JSON parser/generator for Scala |
 |
| spray-json |
A lightweight, clean and simple JSON implementation in Scala |
 |
| zio-json |
Fast, secure JSON library with tight ZIO integration. |
 |
YAML
Libraries for work with YAML.
CSV
Libraries for work with CSV.
Serialization
Libraries for serializing and deserializing data for storage or
transport.
| avro-codegen |
Scala code generator for Avro schemas. |
 |
| borer |
Efficient CBOR and JSON (de)serialization in Scala |
 |
| avro4s |
Avro schema generation and serialization / deserialization for
Scala |
 |
| chill |
Scala extensions for the Kryo serialization library |
 |
| msgpack-scala |
MessagePack serializer implementation for Scala /
msgpack.org[Scala] |
 |
| ScalaPB |
Protocol buffer compiler for Scala. |
 |
| scodec |
Scala combinator library for working with binary data |
 |
| scrooge |
A Thrift parser/generator |
 |
| upickle |
uPickle: a simple, fast, dependency-free JSON & Binary
(MessagePack) serialization library for Scala |
 |
| proto |
Lightweight and fast serialization library for Scala 2/3 based on
Protocol Buffers with macros |
 |
Science and Data Analysis
Libraries for scientific computing, data analysis and numerical
processing.
| algebird |
Abstract Algebra for Scala |
 |
| axle |
Axle Domain Specific Language for Scientific Cloud Computing and
Visualization |
 |
| BigDL |
Building Large-Scale AI Applications for Distributed Big Data |
 |
| breeze |
Breeze is a numerical processing library for Scala. |
 |
| Clustering4Ever |
C4E, a JVM friendly library written in Scala for both local and
distributed (Spark) Clustering. |
 |
| doddle-model |
:cake: doddle-model: machine learning in Scala. |
 |
| figaro |
Figaro Programming Language and Core Libraries |
 |
| libra |
A dimensional analysis library based on dependent types |
 |
| LoMRF |
LoMRF is an open-source implementation of Markov Logic Networks |
 |
| mgo |
Purely functional genetic algorithms for multi-objective
optimisation |
 |
| MLLib |
Machine Learning framework for Spark |
|
| NDScala |
N-dimensional arrays in Scala 3. Think NumPy ndarray, but type-safe
over shapes, array/axis labels & numeric data types |
 |
| numsca |
numsca is numpy for scala |
 |
| onnx-scala |
An ONNX (Open Neural Network eXchange) API and backend for typeful,
functional deep learning in Scala 3 |
 |
| openmole |
Workflow engine for exploration of simulation models using high
throughput computing |
 |
| Optimus |
Optimus is a mathematical programming library for Scala. |
 |
| OscaR |
a Scala toolkit for solving Operations Research problems |
|
| rings |
Rings: efficient JVM library for polynomial rings |
 |
| smile |
Statistical Machine Intelligence & Learning Engine |
 |
| spark-notebook |
Interactive and Reactive Data Science using Scala and Spark. |
 |
| spire |
Powerful new number types and numeric abstractions for Scala. |
 |
| squants |
The Scala API for Quantities, Units of Measure and Dimensional
Analysis |
 |
| Synapses |
A group of neural-network libraries for functional and mainstream
languages |
 |
| tensorflow_scala |
TensorFlow API for the Scala Programming Language |
 |
| zeppelin |
Web-based notebook that enables data-driven, interactive data
analytics and collaborative documents with SQL, Scala and more. |
 |
| spark-nlp |
State of the Art Natural Language Processing |
 |
Big Data
| BIDMach |
CPU and GPU-accelerated Machine Learning Library |
 |
| flink |
Apache Flink |
 |
| gridscale |
Scala library for accessing various file, batch systems, job
schedulers and grid middlewares. |
 |
| kafka |
Mirror of Apache Kafka |
 |
| alpakka-kafka |
Alpakka Kafka connector - Alpakka is a Reactive Enterprise
Integration library for Java and Scala, based on Reactive Streams and
Akka. |
 |
| scalding |
A Scala API for Cascading |
 |
| schemer |
Schema registry for CSV, TSV, JSON, AVRO and Parquet schema.
Supports schema inference and GraphQL API. |
 |
| scio |
A Scala API for Apache Beam and Google Cloud Dataflow. |
 |
| Scrunch |
A Scala wrapper for Apache Crunch which
provides a framework for writing, testing, and running MapReduce
pipelines. |
|
| spark |
Apache Spark - A unified analytics engine for large-scale data
processing |
 |
| sparkplug |
Spark package to “plug” holes in data using SQL based rules ⚡️
🔌 |
 |
| sparta |
Real Time Analytics and Data Pipelines based on Spark Streaming |
 |
| summingbird |
Streaming MapReduce with Scalding and Storm |
 |
| Vegas |
The missing MatPlotLib for Scala + Spark |
 |
| gallia-core |
A schema-aware Scala library for data transformation |
 |
Command Line Interfaces
Libraries for creation of command line interfaces
| clist |
Command Line Interface Scala Toolkit |
 |
| decline |
A composable command-line parser for Scala. |
 |
| mainargs |
A small, convenient, dependency-free library for command-line
argument parsing in Scala |
 |
| scallop |
a simple Scala CLI parsing library |
 |
| scopt |
command line options parsing for Scala |
 |
Image processing and image
analysis
2D and 3D image processing and image analysis
| scala-phash |
Image comparison by hash codes |
 |
| scalismo |
Scalable Image Analysis and Shape Modelling |
 |
| scrimage |
Java, Scala and Kotlin image processing library |
 |
Sound processing and music
Functional Reactive
Programming
Event streams, signals, observables, etc.
| fs2 |
Compositional, streaming I/O library for Scala |
 |
| iteratee |
Iteratees for Cats |
 |
| monix |
Asynchronous, Reactive Programming for Scala and Scala.js. |
 |
| reactors |
A concurrent reactive programming framework. |
 |
| reactor-scala-extensions |
A scala extension for Project Reactor’s Flux and Mono |
 |
| REScala |
REScala - reactive programming in OO applications |
 |
| RxScala |
RxScala – Reactive Extensions for Scala – a library for composing
asynchronous and event-based programs using observable sequences |
 |
| scala.rx |
An experimental library for Functional Reactive Programming in
Scala |
 |
| zio |
ZIO — A type-safe, composable library for async and concurrent
programming in Scala |
 |
| SynapseGrid |
SynapseGrid is a framework for constructing dynamic low latency data
flow systems. |
 |
| vertx-lang-scala |
Vert.x for Scala |
 |
| wire-signals |
A small and effective event-handling library for Scala |
 |
Modularization and
Dependency Injection
Modularization of applications, dependency injection,
etc.
| airframe |
Essential Building Blocks for Scala |
 |
| izumi |
Productivity-oriented collection of lightweight fancy stuff for
Scala toolchain |
 |
| macwire |
Lightweight and Nonintrusive Scala Dependency Injection Library |
 |
| scala-guice |
Scala extensions for Google Guice |
 |
| scaldi |
Lightweight Scala Dependency Injection Library |
 |
| sclasner |
Scala classpath scanner |
 |
| subcut |
Scala Uniquely Bound Classes Under Traits |
 |
| jam |
Incredibly simple DI Scala library. |
 |
Distributed Systems
Libraries and frameworks for writing distributed
applications.
| akka |
Build highly concurrent, distributed, and resilient message-driven
applications on the JVM |
 |
| akka-tracing |
A distributed tracing extension for Akka. Provides integration with
Play framework, Spray and Akka HTTP. |
 |
| annette |
Platform to build distributed, scalable, enterprise-wide business
applications |
 |
| curiodb |
Distributed NoSQL Database |
 |
| finagle |
A fault tolerant, protocol-agnostic RPC system |
 |
| glokka |
Library to register and lookup actors by names in an Akka
cluster |
 |
| lagom |
Reactive Microservices for the JVM |
 |
| parapet |
A purely functional library to build distributed and event-driven
systems |
 |
| poppet |
Minimal, type-safe RPC Scala library. |
 |
| reactors |
A foundational framework for distributed programming. |
 |
Extensions
Scala extensions.
| Ammonite |
Scala Scripting |
 |
| better-files |
Simple, safe and intuitive Scala I/O |
 |
| blindsight |
Blindsight is a Scala logging API with DSL based structured logging,
fluent logging, semantic logging, flow logging, and context aware
logging. |
 |
| cassovary |
Cassovary is a simple big graph processing library for the JVM |
 |
| cats |
Lightweight, modular, and extensible library for functional
programming. |
 |
| chimney |
Scala library for boilerplate-free, type-safe data
transformations |
 |
| chronoscala |
A JSR-310 port of nscala_time |
 |
| Dsl.scala |
A framework to create embedded Domain-Specific Languages in
Scala |
 |
| each |
A macro library that converts native imperative syntax to scalaz’s
monadic expressions |
 |
| eff |
Eff monad for cats - https://atnos-org.github.io/eff |
 |
| enableIf.scala |
A library that toggles Scala code at compile-time, like #if in
C/C++ |
 |
| enumeratum |
A type-safe, reflection-free, powerful enumeration implementation
for Scala with exhaustive pattern match warnings and helpful
integrations. |
 |
| Freasy-Monad |
Easy way to create Free Monad using Scala macros with first-class
Intellij support. |
 |
| freedsl |
Practical effect composition library based on abstract wrapping type
and the free monad |
 |
| freestyle |
A cohesive & pragmatic framework of FP centric Scala
libraries |
 |
| hamsters |
A mini Scala utility library |
 |
| lamma |
Lamma schedule generator for Scala is a professional schedule
generation library for periodic schedules like fixed income coupon
payment, equity deravitive fixing date generation etc. |
 |
| larray |
Large off-heap arrays and mmap files for Scala and Java |
 |
| log4s |
High-performance SLF4J wrapper for Scala. |
 |
| izumi |
Productivity-oriented collection of lightweight fancy stuff for
Scala toolchain |
 |
| Monocle |
Optics library for Scala |
 |
| nscala-time |
A new Scala wrapper for Joda Time based on scala-time |
 |
| quicklens |
Modify deeply nested case class fields |
 |
| scala-records |
Labeled records for Scala based on structural refinement types and
macros. |
 |
| refined |
Refinement types for Scala |
 |
| scala-async |
An asynchronous programming facility for Scala |
 |
| scala-graph |
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. |
 |
| scala-logging |
Convenient and performant logging library for Scala wrapping
SLF4J. |
 |
| scalameta |
Library to read, analyze, transform and generate Scala programs |
 |
| Scalactic |
Small library of utilities related to quality that helps keeping
code clear and correct. |
|
| scalaz |
Principled Functional Programming in Scala |
 |
| scribe |
The fastest logging library in the world. Built from scratch in
Scala and programmatically configurable. |
 |
| shapeless |
Generic programming for Scala |
 |
| simulacrum |
First class syntax support for type classes in Scala |
 |
| squid |
Squid – type-safe metaprogramming and compilation framework for
Scala |
 |
| tinylog |
tinylog is a lightweight logging framework for Java, Kotlin, Scala,
and Android |
 |
| util |
Wonderful reusable code from Twitter |
 |
Misc
Projects that don’t fit into any specific category.
| Agora |
Library of vote-counting algorithms for elections. |
|
| Ammonite |
Scala Scripting |
 |
| aws4s |
Non-blocking AWS SDK for Scala exposing strongly-typed APIs built on
top of http4s, fs2 and cats |
 |
| bootzooka |
Simple project to quickly start developing a Scala-based
microservice or web application, without the need to write login, user
registration etc. |
 |
| eclair |
A scala implementation of the Lightning Network. |
 |
| fansi |
Scala/Scala.js library for manipulating Fancy Ansi colored
strings |
 |
| figlet4s |
ASCII-art banners in Scala |
 |
| fs2-aws |
fs2 utilities to interact with AWS |
 |
| google4s |
A lean, functional library for Google Cloud Services in Scala |
 |
| google-api-scala |
This API is a wrapper for the google java libraries. Currently
mapping Admin Directory, Drive, and Calendar. |
 |
| mailgun4s |
Mailgun API implementation in Scala |
 |
| managerial |
A zero-dependency Scala library for managing resources
monadically |
 |
| media4s |
Scala command-line wrapper around ffmpeg, ffprobe, ImageMagick, and
other tools relating to media. |
 |
| miniboxing-plugin |
Miniboxing 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: |
 |
| ostinato |
A chess library that runs on the server (Scala) and on the browser
(ScalaJS). |
 |
| play-swagger |
Swagger spec generator for play framework |
 |
| PPrint |
Pretty-printing value, types and type-signatures in Scala |
 |
| pureconfig |
A boilerplate-free library for loading configuration files |
 |
| REPLesent |
A neat little tool to build presentations using the Scala REPL |
 |
| scala-ssh |
Remote shell access via SSH for your Scala applications |
 |
| scala-stm |
A library-based Software Transactional Memory (STM) for Scala,
coupled with transactional sets and maps |
 |
| Scavenger |
An experimental automated theorem prover. |
|
| service-chassis |
A scala chassis to get your applications and services bootstrapped
quickly |
 |
| spliff |
Efficient diffing in Scala |
 |
| scountries |
Scala library that provides an enumeration of ISO 3166 codes for
countries, along with their subdivisions. |
 |
Android
Scala libraries and wrappers for Android development.
| sbt-android |
An easy-to-use sbt plugin for working with all Android projects |
 |
| scaloid |
Scaloid makes your Android code easy to understand and
maintain. |
 |
HTTP
Scala libraries and wrappers for HTTP clients.
| akka-http |
The Streaming-first HTTP server/module of Akka |
 |
| reboot |
Scala wrapper for the Java AsyncHttpClient. |
 |
| finch |
Scala combinator library for building Finagle HTTP services |
 |
| fintrospect |
Implement fast, type-safe HTTP webservices for Finagle |
 |
| http4s |
A minimal, idiomatic Scala interface for HTTP |
 |
| jefe |
Manages installation, updating, downloading, launching, error
reporting, and more for your application. |
 |
| lolhttp |
An HTTP Server and Client library for Scala. |
 |
| requests-scala |
A Scala port of the popular Python Requests HTTP client: flexible,
intuitive, and straightforward to use. |
 |
| RosHTTP |
Unified Scala.js + Scala HTTP client API |
 |
| scalaj-http |
Simple scala wrapper for HttpURLConnection. OAuth included. |
 |
| scalaxb |
scalaxb is an XML data binding tool for Scala. |
 |
| sttp |
The Scala HTTP client you always wanted! |
 |
| tapir |
Declarative, type-safe web endpoints library |
 |
| endpoints4s |
Describe HTTP endpoints in Scala and derive clients, servers, and
documentation |
 |
| frontier |
Fast, efficient, pure-functional, effect-free websocket, http and
udp server, http client and telegram bot |
 |
Semantic Web
Scala libraries for interactions with the Web of Data, and other
RDF tools.
Metrics and Monitoring
Scala libraries for gathering metrics and monitoring
applications.
Parsing
Scala libraries for creating parsers.
| atto |
friendly little parsers |
 |
| fastparse |
Writing Fast Parsers Fast in Scala |
 |
| parboiled2 |
A macro-based PEG parser generator for Scala 2.10+ |
 |
| scala-parser-combinators |
simple combinator-based parsing for Scala. formerly part of the
Scala standard library, now a separate community-maintained module |
 |
| cats-parse |
A parsing library for the cats ecosystem |
 |
| scallion |
LL(1) parser combinators in Scala |
 |
Sbt plugins
Sbt plugins to make your life easier.
| better-monadic-for |
Desugaring scala for without implicit
withFilters |
 |
| coursier |
Pure Scala Artifact Fetching |
 |
| mdoc |
Typechecked markdown documentation for Scala |
 |
| sbt-api-mappings |
An Sbt plugin that fills apiMappings for common Scala
libraries. |
 |
| sbt-apidoc |
A port of apidocjs https://apidocjs.com to sbt, to document REST
Api |
 |
| sbt-assembly |
Deploy über-JARs. Restart processes. (port of
codahale/assembly-sbt) |
 |
| sbt-buildinfo |
I know this because build.sbt knows this. |
 |
| sbt-ci-release |
sbt plugin to automate Sonatype releases from GitHub Actions |
 |
| sbt-dependency-check |
SBT Plugin for OWASP DependencyCheck. Monitor your dependencies and
report if there are any publicly known vulnerabilities (e.g. CVEs).
:rainbow: |
 |
| sbt-docker |
Create Docker images directly from sbt |
 |
| sbt-doctest |
Doctest for scala |
 |
| sbt-ghpages |
git, site and ghpages support for sbt projects. |
 |
| sbt-groll |
sbt plugin to roll the Git history |
 |
| sbt-header |
sbt-header is an sbt plugin for creating file headers,
e.g. copyright headers |
 |
| sbt-hepek |
Sbt plugin for rendering Scala objects to files. And more! |
 |
| sbt-ide-settings |
SBT plugin for tweaking various IDE settings |
 |
| sbt-jmh |
“Trust no one, bench everything.” - sbt plugin for JMH (Java
Microbenchmark Harness) |
 |
| sbt-microsites |
An sbt plugin to create awesome microsites for your project |
 |
| mima |
A tool for catching binary incompatibility in Scala |
 |
| sbt-native-packager |
sbt Native Packager |
 |
| sbt-pack |
A sbt plugin for creating distributable Scala packages. |
 |
| sbt-pgp |
PGP plugin for sbt |
 |
| sbt-release |
A release plugin for sbt |
 |
| sbt-revolver |
An SBT plugin for dangerously fast development turnaround in
Scala |
 |
| sbt-scala-js-map |
A Sbt plugin that configures source mapping for Scala.js projects
hosted on Github |
 |
| sbt-scalafmt |
sbt plugin for Scalafmt |
 |
| sbt-scoverage |
sbt plugin for scoverage |
 |
| sbt-site |
Site generation for sbt |
 |
| sbt-sonatype |
A sbt plugin for publishing Scala/Java projects to the Maven
central. |
 |
| sbt-unidoc |
sbt plugin to create a unified Scaladoc or Javadoc API document
across multiple subprojects. |
 |
| sbt-updates |
sbt plugin that can check Maven and Ivy repositories for dependency
updates |
 |
| sbt-eclipse |
Plugin for sbt to create Eclipse project definitions |
 |
| scala-clippy |
Good advice for Scala compiler errors |
 |
| splain |
better implicit errors for scala |
 |
| tut |
doc/tutorial generator for scala |
 |
| xsbt-web-plugin |
Servlet support for sbt |
 |
| sbt-deploy-ssh |
SBT deploy plugin |
 |
| sbt-git |
A git plugin for SBT |
 |
| sbt-git |
Use git-describe as a version and run git commands inside SBT
shell |
 |
XML / HTML
XML and HTML generation and processing
| scala-scraper |
A Scala library for scraping content from HTML pages |
 |
| xs4s |
XML Streaming for Scala including FS2/cats support |
 |
Markdown
| Laika |
Text Markup Transformer for sbt and Scala applications, transforming
Markdown and reStructuredText to HTML, EPUB and PDF |
 |
JavaScript
JavaScript generation and interop libraries.
Scheduling
Templating
Web templating engines.
| beard |
A lightweight, logicless templating engine, written in Scala and
inspired by Mustache |
 |
| scalatags |
ScalaTags is a small XML/HTML construction library for Scala. |
 |
| scalate |
Scalate is a Scala based template engine which supports HAML,
Mustache and JSP, Erb and Velocity style syntaxes. |
 |
| twirl |
Twirl is Play’s default template engine |
 |
| hepek |
Typesafe HTML templates in pure Scala. Static site generator
included! Play and ScalaJS support! |
 |
| scala-trace-debug |
Macro based print debugging. Locates log statements in your
IDE. |
 |
| bloop |
Bloop is a build server and CLI tool to compile, test and run Scala
fast from any editor or build tool. |
 |
| codacy-scalameta |
Codacy tool for Scalameta |
 |
| coursier |
Pure Scala Artifact Fetching |
 |
| dregex |
Dregex 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. |
 |
| fast-string-interpolator |
Scala macro that generates ultra-fast string interpolators. |
 |
| fastring |
Extremely fast string formatting |
 |
| gitbucket |
A Git platform powered by Scala with easy installation, high
extensibility & GitHub API compatibility |
 |
| giter8 |
a command line tool to apply templates defined on GitHub |
 |
| metals |
Scala language server with rich IDE features 🚀 |
 |
| mill |
Your shiny new Java/Scala build tool! |
 |
| pos |
Macro based print debugging. Locates debug statements in your IDE.
Supports logging. |
 |
| sbt |
sbt, the interactive build tool |
 |
| scalafix |
Refactoring and linting tool for Scala |
 |
| Scalafmt |
Code formatter for Scala |
|
| scalariform |
Scala source code formatter |
 |
| scalastyle |
scalastyle |
 |
| Scalatex |
Programmable, Typesafe Document Generation |
 |
| scapegoat |
Scala compiler plugin for static code analysis |
 |
| wartremover |
Flexible Scala code linting tool |
 |
| stone |
URL (de)construct. Withers. |
 |
| scalajs-router |
ScalaJS frontend router |
 |
| scala2plantuml |
Scala2PlantUML generates PlantUML diagrams from Scala code. |
 |
Geospatial
Libraries to aid with geospatial calculations and
artifacts.
| geotrellis |
GeoTrellis is a geographic data processing engine for high
performance applications. |
 |
| osm4scala |
Scala and Spark library focused on reading OpenStreetMap Pbf
files. |
 |
| rtree2d |
RTree2D is a 2D immutable R-tree for ultra-fast nearest and
intersection queries in plane and spherical coordinates |
 |
| sfcurve |
LocationTech SFCurve is a Scala library for the creation,
transformation, and querying of space-filling curves |
 |
| stac4s |
a scala library with primitives to build applications using the
SpatioTemporal Asset Catalogs specification |
 |
| franklin |
A STAC/OGC API Features Web Service |
 |
Devops
DevOps related tools and libraries.
| skuber |
A Scala Kubernetes client library |
 |
Learning Scala
Nice books, blogs and other resources to learn Scala
Books
Exercises
Tutorials and courses
Commercial courses
- Foundations
of Functional Programming in Scala - a professional video course
with exercises covering covers functional principles, custom IO
(effects) and functional design.
- Scala Algorithms - a
collection of nearly 100 algorithms in pure-functional Scala with test
cases, explanations and a web-based IDE. Built with http4s &
Scala.js.
- http://lihaoyi.com
- http://warski.org/blog
- https://degoes.net/articles
- http://eed3si9n.com/category/tags/scala
- https://danielwestheide.com/tags/scala
- https://kubuszok.com/tags/#scala
- http://debasishg.blogspot.com
- http://appliedscala.com/blog
- http://blog.higher-order.com
- http://ktoso.github.io/scala-types-of-types
- http://scalaprof.blogspot.com
- http://torre.me.uk/docs/scala
- https://alvinalexander.com
- https://blog.bruchez.name/search/label/scala
- https://github.com/lemastero/scala_typeclassopedia
- https://pchiusano.github.io
- https://beyondthelines.net
- https://manuel.bernhardt.io/blog
Company Blogs
- Functional Works /
Learn - Quality resources maintained by functional works
- http://allaboutscala.com/
- http://enear.github.io/
- https://blog.knoldus.com/tag/scala/
- https://blog.scalac.io/tags/Scala/
- https://blog.softwaremill.com/tagged/scala
- https://medium.com/disney-streaming/tagged/thisweekinscala
- https://www.codacy.com/blog/
- Scala Times - Weekly
newsletter about scala
- 47 Degrees - Functional
Programming news, updates, and more.
Podcasts
- The Scala Logs -
Interviewing developers, open source contributors, subject matter
experts, and the like to talk about FP, Scala, open source, and their
interests.
- Scala Love - Podcast about the
Scala Programming Language and its community
- CoRecursive Interviews -
In-depth Interviews with software developers, often on the subject of
scala libraries and functional programming.
Communities
Misc.