An open API service indexing awesome lists of open source software.

awesome-scala

A community driven list of useful Scala libraries, frameworks and software.
https://github.com/eric-erki/awesome-scala

Last synced: 20 days ago
JSON representation

Android

Artificial Intelligence

Authentication

Authorization

  • deadbolt-2 ★ 467 ⧗ 3 - A Play 2.x module supporting role-based and proprietary authorization; idiomatic APIs for Scala and Java APIs are provided.

Big Data

Cryptography

CSV

Database

Data Binding and Validation

  • form-binder ★ 17 ⧗ 29 - A micro data binding and validating framework, very easy to use and hack
  • Octopus ★ 15 - Scala library for boilerplate-free validation
  • Dupin ★ 7 - Minimal, idiomatic, customizable validation for Scala.
  • Veto - A scala validation library without dependencies.

Devops

Misc.

Distributed Systems

  • Clump - A library for expressive and efficient service composition
  • Reactors - Foundational framework for distributed computing that fuses functional reactive programming and traditional actors.
  • Akka-tracing ★ 252 ⧗ 2 - A distributed tracing extension for Akka. Provides integration with Play framework, Spray and Akka HTTP.
  • autobreaker ★ 6 ⧗ 93 - Automatically wrap classes that return Futures with a Circuit Breaker.
  • CurioDB ★ 459 ⧗ 4 - Distributed & Persistent Redis Clone built with Scala & Akka.
  • Finagle - An extensible, protocol-agnostic RPC system designed for high performance and concurrency.
  • Glokka ★ 46 ⧗ 148 - Library to register and lookup actors by names in an Akka cluster.
  • Reactors - Foundational framework for distributed computing that fuses functional reactive programming and traditional actors.
  • Parapet - A purely functional library to build distributed and event-driven systems

Extensions

  • Log4s - Fast, Scala-friendly logging bindings on top of SLF4J. Uses macros for extreme performance.
  • Rapture - a collection of libraries for common, everyday programming tasks (I/O, JSON, i18n, etc.)
  • Scala Graph - A Scala library with basic graph functionality that seamlessly fits into the Scala standard collections library.
  • scala.meta - A clean-room implementation of a metaprogramming toolkit for Scala.
  • better-files ★ 824 ⧗ 0 - Simple, safe and intuitive Scala I/O. better-files is a dependency-free pragmatic thin Scala wrapper around Java NIO.
  • Cassovary ★ 881 ⧗ 0 - A Scala library that is designed from the ground up for space efficiency, handling graphs with billions of nodes and edges.
  • cats ★ 1697 ⧗ 0 - Lightweight, modular, and extensible library for functional programming.
  • Chimney ★ 92 ⧗ 5 - Scala library for boilerplate-free data transformations.
  • Each ★ 146 ⧗ 0 - A macro library that converts native imperative syntax to Scalaz's monadic expressions.
  • Eff ★ 220 ⧗ 6 - Extensible effects are an alternative to monad transformers for computing with effects in a functional way.
  • enableIf.scala ★ 40 ⧗ 25 - A library that switches Scala code at compile-time, like #if in C/C++.
  • Enumeratum ★ 374 ⧗ 0 - A macro to replace Scala enumerations with a sealed family of case objects. This allows additional checks for the compiler, e.g. for missing cases in a match statement. Has additinal support for Json libraries and the Play framework.
  • Freasy-Monad ★ 90 ⧗ 14 - Easy way to create Free Monad for Cats and Scalaz using Scala macros with first-class Intellij support.
  • Freedsl ★ 25 ⧗ 5 - A library to implement composable side effects, weaving typeclasses on a wrapping type and the free monad.
  • Freestyle ★ 430 ⧗ 0 - A cohesive & pragmatic framework of FP centric Scala libraries.
  • Hamsters ★ 216 ⧗ 0 - A mini Scala utility library. Compatible with functional programming beginners. Featuring validation, monad transformers, HLists, Union types.
  • idid ★ 4 ⧗ 43 - A library to define common interfaces for different Id types.
  • Lamma ★ 70 ⧗ 8 - A Scala date library for date and schedule generation.
  • LArray ★ 225 ⧗ 25 - Large off-heap arrays (> 2GB) and mmap files.
  • Log4s - Fast, Scala-friendly logging bindings on top of SLF4J. Uses macros for extreme performance.
  • n-scala ★ 662 ⧗ 3 - Scala wrapper for Joda Time.
  • Persist-Logging ★ 33 ⧗ 48 - Comprehensive logging library for Scala.
  • Records for Scala ★ 125 ⧗ 55 - Labeled records for Scala based on structural refinement types and macros.
  • refined ★ 447 ⧗ 3 - Simple refinement types with compile- and runtime checking
  • Resolvable ★ 0 ⧗ 94 - A library to optimize fetching immutable data structures from several endpoints in several formats.
  • Squid ★ 88 ⧗ 9 - Type-safe metaprogramming framework with typed, hygienic quasiquotes.
  • Scala Graph - A Scala library with basic graph functionality that seamlessly fits into the Scala standard collections library.
  • scala.meta - A clean-room implementation of a metaprogramming toolkit for Scala.
  • Scalaz ★ 3045 ⧗ 0 - An extension to the core Scala library for functional programming.
  • scribe ★ 36 ⧗ 3 - Practical logging framework that doesn't depend on any other logging framework and can be completely configured programmatically.
  • Shapeless ★ 2002 ⧗ 0 - A type class and dependent type based generic programming library for Scala.
  • Stateless Future ★ 165 ⧗ 35 - Asynchronous programming in fully featured Scala syntax.
  • Twitter Util ★ 1809 ⧗ 1 - General-purpose Scala libraries, including a future implementation and other concurrency tools.
  • wvlet-log ★ 43 ⧗ 13 - A library for enhancing your application logs with colors and source code locations.
  • Scala-Logging ★ 707 - Convenient and performant logging library for Scala wrapping SLF4J.
  • chronoscala ★ 38 ⧗ 0 - Scala wrapper for Java Date/Time API.
  • Dsl.scala - A framework to create embedded Domain-Specific Languages in Scala, along with some built-in DSLs, including async/await, generators, delimited continuations, asynchronous collection comprehension, RAII, monadic !-notation for cats and scala, etc.
  • Scala-Logging ★ 707 - Convenient and performant logging library for Scala wrapping SLF4J.
  • Monocle ★ 757 ⧗ 0 - An Optics/Lens library for purely functional manipulation of immutable objects.
  • Quicklens ★ 245 ⧗ 0 - modify deeply nested case class fields with an elegant API
  • Simulacrum ★ 484 ⧗ 2 - First class syntax support for type classes in Scala.
  • tinylog ★ 198 ⧗ 0 - Lightweight logging framework with native logging API for Scala.

Functional Reactive Programming

  • REScala - REScala is a library for functional reactive programming on the JVM and the Web. It provides a rich API for event stream transformations and signal composition with managed consistent up-to-date state and minimal syntactic overhead.
  • fs2 ★ 1323 ⧗ 340 - Compositional, streaming I/O library for Scala
  • Iteratee ★ 158 - Iteratees for cats
  • Monix ★ 1432 ⧗ 164 - Extensions to Scala’s standard library for multi-threading primitives and functional reactive programming. Scala.js compatible.
  • Reactive Collections ★ 2 ⧗ 165 - A library that incorporates event streams and signals with specialized collections called reactive containers, and expresses concurrency using isolates and channels.
  • RxScala ★ 824 ⧗ 0 - Reactive Extensions for Scala – a library for composing asynchronous and event-based programs using observable sequences
  • REScala - REScala is a library for functional reactive programming on the JVM and the Web. It provides a rich API for event stream transformations and signal composition with managed consistent up-to-date state and minimal syntactic overhead.
  • Reactor-Scala-Extensions - Scala extensions for Project Reactor
  • scala.frp ★ 22 ⧗ 101 - Functional Reactive Programming for Scala (event streams).
  • Scala.Rx ★ 898 ⧗ 4 - An experimental library for Functional Reactive Programming in Scala (reactive variables). Scala.js compatible.
  • SynapseGrid ★ 109 ⧗ 1 - an FRP framework for constructing reactive real-time immutable data flow systems. It implements an original way of running and organizing event-driven systems based on Petri nets. The topology can be viewed as a .dot graph. The library is compatible with Akka and can seamlessly communicate with other actors.
  • Reactor-Scala-Extensions - Scala extensions for Project Reactor

Geospatial

Misc.

Graphical User Interfaces

  • ScalaFX - Scala DSL for creating Graphical User Interfaces that sits on top of JavaFX.

HTTP

i18n

Image processing and image analysis

JavaScript

Misc.

JSON

Learning Scala

Company Blogs

Misc.