awesome-scala
A community driven list of useful Scala libraries, frameworks and software.
https://github.com/lauris/awesome-scala
Last synced: 3 days ago
JSON representation
-
Table of Contents
-
Science and Data Analysis
- MLLib
- OscaR
- **algebird** - activity/y/twitter/algebird)
- axle - activity/y/axlelang/axle)
- **breeze** - activity/y/scalanlp/breeze)
- Clustering4Ever - activity/y/Clustering4Ever/Clustering4Ever)
- doddle-model - model: machine learning in Scala. |  
- **figaro** - river-analytics/figaro) 
- libra - ithaca/libra) 
- LoMRF - source implementation of Markov Logic Networks |  
- mgo - objective optimisation |  
- NDScala - dimensional arrays in Scala 3. Think NumPy ndarray, but type-safe over shapes, array/axis labels & numeric data types |  
- numsca - activity/y/botkop/numsca)
- onnx-scala - scala) 
- openmole - activity/y/openmole/openmole)
- Optimus - activity/y/vagmcs/Optimus)
- rings - activity/y/PoslavskySV/rings)
- **smile** - activity/y/haifengl/smile)
- **spark-notebook** - notebook/spark-notebook) 
- **spire** - activity/y/typelevel/spire)
- **squants** - activity/y/typelevel/squants)
- Synapses - network libraries for functional and mainstream languages |  
- **tensorflow_scala** - activity/y/eaplatanios/tensorflow_scala)
- **zeppelin** - based notebook that enables data-driven, interactive data analytics and collaborative documents with SQL, Scala and more. |  
- **spark-nlp** - nlp) 
- VecMatLib - activity/y/ScalaMath/VecMatLib)
- **ipex-llm** - analytics/ipex-llm) 
-
Big Data
- Scrunch
- Scrunch
- **BIDMach** - accelerated Machine Learning Library |  
- **flink** - activity/y/apache/flink)
- gridscale - activity/y/openmole/gridscale)
- **kafka** - activity/y/apache/kafka)
- **alpakka-kafka** - Alpakka is a Reactive Enterprise Integration library for Java and Scala, based on Reactive Streams and Akka. |  
- **scalding** - activity/y/twitter/scalding)
- schemer - activity/y/indix/schemer)
- **scio** - activity/y/spotify/scio)
-
Sound processing and music
- ScalaCollider - activity/y/Sciss/ScalaCollider)
-
Extensions
-
Android
- **scaloid** - activity/y/pocorall/scaloid)
-
Tools
-
Database
- **skunk** - activity/y/tpolecat/skunk)
- akka-persistence-gcp-datastore - persistence-gcp-datastore is a journal and snapshot store plugin for akka-persistence using google cloud firestore in datastore mode. |  
- anorm - activity/y/playframework/anorm)
- **casbah** - of-life (EOL). |  
- clickhouse-scala-client - scala-client) 
- couchbase-jvm-clients - core… |  
- couchdb-scala - scala) 
- etcd4s - activity/y/mingchuno/etcd4s)
- finagle-postgres - postgres) 
- laserdisc - free Fs2 native pure FP Redis client |  
- mysql-binlog-stream - io/mysql-binlog-stream) 
- longevity - activity/y/longevityframework/longevity)
- lucene4s - weight convenience wrapper around Lucene to simplify complex tasks and add Scala sugar. |  
- mapperdao - activity/y/kostaskougios/mapperdao)
- morpheus - safe Scala driver for SQL databases |  
- neotypes - safe, asynchronous driver for neo4j |  
- **phantom** - safe, reactive Scala driver for Cassandra/Datastax Enterprise |  
- pulsar4s - activity/y/CleverCloud/pulsar4s)
- **zio-quill** - time Language Integrated Queries for Scala |  
- reactivecouchbase-rs-core - streams |  
- **ReactiveMongo** - blocking, Reactive MongoDB Driver for Scala |  
- **rediscala** - blocking, Reactive Redis driver for Scala (with Sentinel support) |  
- relate - activity/y/lucidsoftware/relate)
- salat - activity/y/salat/salat)
- **sangria** - graphql/sangria) 
- scala-activerecord - like ORM library for Scala |  
- scala-forklift - safe data migration tool for Slick, Git and beyond. |  
- **scala-redis** - redis) 
- scala-sql - sql) 
- scalarelational - Safe framework for defining, modifying, and querying SQL databases |  
- **scalikejdbc** - based DB access library for Scala developers. This library naturally wraps JDBC APIs and provides you easy-to-use APIs. |  
- scanamo - activity/y/scanamo/scanamo)
- scredis - blocking, ultra-fast Scala Redis client built on top of Akka IO, used in production at Livestream |  
- scruid - bank/scruid) 
- shade - activity/y/monix/shade)
- **slick** - activity/y/slick/slick)
- **slick-pg** - pg) 
- **squeryl** - activity/y/squeryl/squeryl)
- molecule - activity/y/scalamolecule/molecule)
- zio-redis - based redis client |  
- kvs - deps/kvs) 
- **doobie** - activity/y/typelevel/doobie)
- **elastic4s** - Reactive, Non Blocking, Type Safe, HTTP Client |  
- squery - activity/y/sake92/squery)
- **skunk** - activity/y/typelevel/skunk)
-
Data Binding and Validation
- **accord** - activity/y/wix/accord)
- dupin - activity/y/yakivy/dupin)
- octopus - free validation |  
- veto - activity/y/splink/veto)
- fields - company/fields) 
-
Markdown
- Laika - activity/y/planet42/Laika)
-
Geospatial
- stac4s - activity/y/azavea/stac4s)
-
Archive and Compression
- SevenZ4S - activity/y/gonearewe/SevenZ4S)
-
Artificial Intelligence
- cilib - activity/y/ciren/cilib)
-
Messaging
- op-rabbit - rabbit) 
-
Graphical User Interfaces
- **scalafx** - based user interfaces in Scala |  
-
Web Frameworks
- analogweb-scala - scala) 
- chaos - activity/y/mesosphere/chaos)
- **colossus** - activity/y/tumblr/colossus)
- **finatra** - activity/y/twitter/finatra)
- **framework** - activity/y/lift/framework)
- peregrine - activity/y/dvarelap/peregrine)
- **playframework** - activity/y/playframework/playframework)
- pagelets - activity/y/splink/pagelets)
- reactive - activity/y/nafg/reactive)
- **scalajs-react** - react) 
- **scalatra** - performance, async web framework, inspired by Sinatra |  
- **skinny-framework** - A full-stack web app framework for rapid development in Scala |  
- **unfiltered** - activity/y/unfiltered/unfiltered)
- xitrum - framework/xitrum) 
- youi - activity/y/outr/youi)
- **cask** - framework. Cask makes it easy to set up a website, backend server, or REST API using Scala |  
- sharaf - activity/y/sake92/sharaf)
-
Reactive Web Frameworks
- **Binding.scala** - binding for Scala |  
- **korolev** - activity/y/fomkin/korolev)
- udash-core - core) 
- vertx-lang-scala - x3/vertx-lang-scala) 
-
i18n
- scala-xgettext - framework/scala-xgettext) 
- scaposer - framework/scaposer) 
-
Authentication
- akka-http-session - side akka-http sessions, with optional JWT support |  
- aws-request-signer - request-signer) 
- OAuth2-mock-play - stups/OAuth2-mock-play) 
- play-googleauth - googleauth) 
- play-pac4j - pac4j) 
- **play2-auth** - auth) 
- **scala-oauth2-provider** - side implementation written in Scala |  
- **securesocial** - activity/y/jaliss/securesocial)
-
Cryptography
- scrypto - output-hk/scrypto) 
- tsec - safe general-cryptography library - https://jmcardon.github.io/tsec/ |  
- jose - activity/y/blackdoor/jose)
-
Testing
- cornichon - activity/y/agourlay/cornichon)
- **gatling** - activity/y/gatling/gatling)
- minitest - activity/y/monix/minitest)
- mockito-scala - scala) 
- munit - activity/y/scalameta/munit)
- **scalacheck** - based testing for Scala |  
- **scalameter** - activity/y/scalameter/scalameter)
- **ScalaMock** - activity/y/paulbutcher/ScalaMock)
- scalaprops - activity/y/scalaprops/scalaprops)
- **scalatest** - activity/y/scalatest/scalatest)
- scalive - framework/scalive) 
- **specs2** - activity/y/etorreborre/specs2)
- stryker4s - mutator/stryker4s) 
- weaver-test - test) 
- **testcontainers-scala** - scala) 
- utest - lihaoyi/utest) 
- **bencher** - Continuous Benchmarking |  
-
JSON
- **argonaut** - io/argonaut) 
- **circe** - activity/y/circe/circe)
- diffson - activity/y/gnieh/diffson)
- jawn - sawn (JSON) |  
- **json4s** - activity/y/json4s/json4s)
- **jsoniter-scala** - time generation of safe and ultra-fast JSON codecs + circe booster |  
- json - Json, a Fast Json Parser Written in Scala |  
- ninny-json - json) 
- play-json - json) 
- pushka - activity/y/fomkin/pushka)
- sbt-json - json) 
- scala-jsonapi - jsonapi/scala-jsonapi) 
- ScalaJack - activity/y/gzoller/ScalaJack)
- **spray-json** - json) 
- zio-json - json) 
- **jackson-module-scala** - on module for Jackson (https://github.com/FasterXML/jackson) to support Scala-specific datatypes |  
- tupson - activity/y/sake92/tupson)
-
YAML
- moultingyaml - activity/y/jcazevedo/moultingyaml)
-
CSV
- fm-flatfile - flatfile) 
- kantan.csv - activity/y/nrinaudo/kantan.csv)
- **scala-csv** - csv) 
- spata - based CSV processor for Scala |  
-
Serialization
- avro-codegen - codegen) 
- **avro4s** - activity/y/sksamuel/avro4s)
- **chill** - activity/y/twitter/chill)
- msgpack-scala - scala) 
- **ScalaPB** - activity/y/scalapb/ScalaPB)
- **scodec** - activity/y/scodec/scodec)
- **scrooge** - activity/y/twitter/scrooge)
- **upickle** - free JSON & Binary (MessagePack) serialization library for Scala |  
- proto - deps/proto) 
- borer - activity/y/sirthias/borer)
-
Misc
- Agora - counting algorithms for elections. |
-
-
Tutorials and courses
-
Devops
- Dr. Mark Lewis
- A Tour of Scala - Bite-sized introductions to some of the core language concepts.
- Functional Programming in Scala - Coursera Specialization (5 courses) created by Martin Odersky et al. at the EPFL (Ecole polytechnique fédérale de Lausanne).
- Introduction to programming with dependent types in Scala - Video Course by Dmytro Mitin
- Scala Collections Cookbook - Scala collections introduction. written in Chinese.
- Free Scala Courses - A curated list of free Scala courses.
- A Tour of Scala - Bite-sized introductions to some of the core language concepts.
- Introduction to programming with dependent types in Scala - Video Course by Dmytro Mitin
- Scala Collections Cookbook - Scala collections introduction. written in Chinese.
-
-
Books
-
Devops
- Essential Scala - Essential Scala is aimed at experienced developers who are encountering Scala for the first time.
- Functional and Reactive Domain Modeling
- Functional Programming for Mortals
- Functional Programming in Scala
- Functional Programming, Simplified (Scala edition)
- Get Programming with Scala - Tutorial-driven introduction to Scala
- Practical FP in Scala: A hands-on approach
- Programming in Scala
- Pure functional HTTP APIs in Scala
- Reactive Programming with Scala and Akka - Use the concepts of reactive programming to build distributed systems running on multiple nodes
- Scala Cookbook
- Scala for the Impatient - Covers most Scala features with short and easy to understand explainations.
- Scala With Cats - Learn system architecture and design using the techniques of modern functional programming with [Cats](https://typelevel.org/cats/)
- The Type Astronaut's Guide to Shapeless
- Zionomicon - Master the dark art of creating scalable, type-safe, concurrent apps with ZIO
- Scala Cookbook
- Zionomicon - Master the dark art of creating scalable, type-safe, concurrent apps with ZIO
-
-
Exercises
-
Devops
- S-99 - Ninety-Nine Scala Problems
- Exercism - Scala Exercises - Community-driven Scala exercises.
- S-99 - Ninety-Nine Scala Problems
- Scala Exercises - Brings the popular Scala Koans to the web. Offering hundreds of solvable exercises organized into 42 categories covering the basics of the Scala language.
- Scala Exercises - Brings the popular Scala Koans to the web. Offering hundreds of solvable exercises organized into 42 categories covering the basics of the Scala language.
- S-99 - Ninety-Nine Scala Problems
- Scala Exercises - Brings the popular Scala Koans to the web. Offering hundreds of solvable exercises organized into 42 categories covering the basics of the Scala language.
-
-
Commercial courses
-
Devops
- 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.
-
-
Company Blogs
-
Devops
- Functional Works / Learn - Quality resources maintained by functional works
- Scala Times - Weekly newsletter about scala
- 47 Degrees - Functional Programming news, updates, and more.
- Functional Works / Learn - Quality resources maintained by functional works
-
-
Podcasts
-
Devops
- 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
-
Devops
- Scala Ukraine - Telegram chat of Ukrainian Scala Community
-
-
Misc.
-
Devops
- Programming Community Curated Resources for Learning Scala
- Scalera Blog - Blog about Scala language and its environment (howto's, good practices, tips,...). Weekly posts written in both spanish and english
- Scala @LibHunt - A community driven list of useful Scala libraries, frameworks and software
- List of Scala Online Courses - A list of free and paid Scala online courses by Classpert, An online course search and comparison website
- Scala Days Conferences - A youtube channel that provides full fledged videos, recorded at Scala Days Conferences
- Scala @LibHunt - A community driven list of useful Scala libraries, frameworks and software
- Scala Days Conferences - A youtube channel that provides full fledged videos, recorded at Scala Days Conferences
-
Programming Languages
Categories
Sub Categories
Devops
50
Database
45
Science and Data Analysis
27
JSON
17
Testing
17
Web Frameworks
17
Big Data
10
Serialization
10
Authentication
8
Data Binding and Validation
5
Reactive Web Frameworks
4
CSV
4
Cryptography
3
i18n
2
Extensions
2
Graphical User Interfaces
1
YAML
1
Messaging
1
Markdown
1
Geospatial
1
Artificial Intelligence
1
Misc
1
Android
1
Archive and Compression
1
Sound processing and music
1
Tools
1
Keywords
scala
106
json
18
java
12
functional-programming
12
database
9
reactive
8
machine-learning
8
serialization
8
scala3
7
framework
6
spark
6
scalajs
6
cats
6
jdbc
6
reactive-streams
6
deep-learning
5
http
5
scalaz
5
testing
5
mysql
5
jvm
5
web
5
akka
5
validation
4
postgres
4
akka-streams
4
web-framework
4
sql
4
fs2
4
cassandra
3
dotty
3
mongodb
3
avro
3
zio
3
nosql
3
playframework
3
dsl
3
algebra
3
streaming
3
macros
3
scala-js
3
data-science
3
json-parser
3
redis
3
scala-library
3
fp
3
async
3
big-data
3
postgresql
3
llm
3