A community driven list of useful Scala libraries, frameworks and software.
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.
play-pac4j ★ 225 ⧗ 17 - Security library managing authentication (CAS, OAuth, OpenID, SAML, LDAP, SQL, JWT...), authorizations and logout for Play 2.x in Java and Scala.
play-silhouette ★ 488 ⧗ 0 - Authentication library for Play Framework applications that supports several authentication methods, including OAuth1, OAuth2, OpenID, Credentials or custom authentication schemes.
Spark - Lightning fast cluster computing — up to 100x faster than Hadoop for iterative algorithms (memory caching) and up to 10x faster than Hadoop for single-pass MapReduce jobs. Compatible with YARN-enabled Hadoop clusters, can run on Mesos and in stand-alone mode as well.
spark-deployer ★ 62 ⧗ 8 - A sbt plugin which helps deploying Apache Spark stand-alone cluster and submitting job on cloud system like AWS EC2.
Scala.Rx ★ 684 ⧗ 6 - An experimental library for Functional Reactive Programming in Scala (reactive variables). Scala.js compatible.
SynapseGrid ★ 90 ⧗ 91 - 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.
Modularization and Dependency Injection
Modularization of applications, dependency injection, etc.
Enumeratum ★ 178 ⧗ 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.
Hamsters ★ 99 ⧗ 8 - A mini Scala utility library. Compatible with functional programming beginners. Featuring validation, monad transformers, HLists, Union types.
Lamma ★ 57 ⧗ 1 - A Scala date library for date and schedule generation.
Log4s - Fast, Scala-friendly logging bindings on top of SLF4J. Uses macros for extreme performance.
Monocle ★ 600 ⧗ 0 - An Optics/Lens library for purely functional manipulation of immutable objects.