awesome-scala
A community driven list of useful Scala libraries, frameworks and software.
https://github.com/lauris/awesome-scala
Last synced: 14 days ago
JSON representation
-
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
-
-
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.
-
-
Communities
-
Devops
- Scala Ukraine - Telegram chat of Ukrainian Scala Community
-
-
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.
- 47 Degrees - Functional Programming news, updates, and more.
- Functional Works / Learn - Quality resources maintained by functional works
- 47 Degrees - Functional Programming news, updates, and more.
-
-
Exercises
-
Devops
- S-99 - Ninety-Nine Scala Problems
- 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.
- Exercism - Scala Exercises - Community-driven Scala exercises.
- 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.
- Learn-by-doing functional programming course on Scala - Covers type classes, functors, applicatives, monads, monad transformers, free monad
-
-
Misc.
-
Devops
- Programming Community Curated Resources for Learning Scala
- 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
- 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
- CA Art - A small project aimed at learning Scala on intermediate level by experimenting with Cellular Automata
- 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
-
-
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.
- Scala Love - Podcast about the Scala Programming Language and its community
- Scala for Fun & Profit - Interviewing Scala users and companies.
- 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 for Fun & Profit - Interviewing Scala users and companies.
-
-
Table of Contents
-
Android
- **scaloid** - activity/y/pocorall/scaloid)
-
Archive and Compression
- SevenZ4S - activity/y/gonearewe/SevenZ4S)
-
Artificial Intelligence
- cilib - activity/y/ciren/cilib)
-
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)
-
Big Data
- 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)
- **spark** - A unified analytics engine for large-scale data processing |  
- gallia-core - aware Scala library for data transformation |  
- **nussknacker** - code tool for automating actions on real time data | Stream processing for the users. |  
-
Command Line Interfaces
- **decline** - line parser for Scala. |  
- mainargs - free library for command-line argument parsing in Scala |  
- **scallop** - activity/y/scallop/scallop)
- **scopt** - activity/y/scopt/scopt)
-
Cryptography
- scrypto - output-hk/scrypto) 
- tsec - safe general-cryptography library - https://jmcardon.github.io/tsec/ |  
- jose - activity/y/blackdoor/jose)
-
CSV
- fm-flatfile - flatfile) 
- kantan.csv - activity/y/nrinaudo/kantan.csv)
- **scala-csv** - csv) 
- spata - based CSV processor for Scala |  
-
Database
- 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
- dupin - activity/y/yakivy/dupin)
- octopus - free validation |  
- veto - activity/y/splink/veto)
- fields - company/fields) 
-
Devops
- skuber - activity/y/hagay3/skuber)
-
Distributed Systems
- **akka** - driven applications on the JVM |  
- annette - wide business applications |  
- **finagle** - agnostic RPC system |  
- poppet - safe RPC Scala library. |  
- automorph - org/automorph) 
-
Extensions
- Scalactic
- **Ammonite** - lihaoyi/Ammonite) 
- **better-files** - files) 
- blindsight - activity/y/tersesystems/blindsight)
- **cats** - activity/y/typelevel/cats)
- **chimney** - free, type-safe data transformations |  
- chronoscala - 310 port of nscala_time |  
- Dsl.scala - Specific Languages in Scala |  
- each - activity/y/ThoughtWorksInc/each)
- **eff** - https://atnos-org.github.io/eff |  
- enableIf.scala - time, like #if in C/C++ |  
- **enumeratum** - safe, reflection-free, powerful enumeration implementation for Scala with exhaustive pattern match warnings and helpful integrations. |  
- log4s - performance SLF4J wrapper for Scala. |  
- **Monocle** - dev/Monocle) 
- **nscala-time** - time |  
- **quicklens** - activity/y/softwaremill/quicklens)
- **refined** - activity/y/fthomas/refined)
- **scala-async** - async) 
- **scala-graph** - memory graph library aiming at editing and traversing graphs, finding cycles etc. in a user-friendly way. |  
- **scala-logging** - labs/scala-logging) 
- **scalameta** - activity/y/scalameta/scalameta)
- **scalaz** - activity/y/scalaz/scalaz)
- **scribe** - activity/y/outr/scribe)
- **shapeless** - activity/y/milessabin/shapeless)
- **simulacrum** - activity/y/typelevel/simulacrum)
- squid - safe metaprogramming and compilation framework for Scala |  
- **tinylog** - org/tinylog) 
- **util** - activity/y/twitter/util)
-
Functional Reactive Programming
- **fs2** - activity/y/typelevel/fs2)
- iteratee - activity/y/travisbrown/iteratee)
- **monix** - activity/y/monix/monix)
- REScala - distributed and reactive programming embedded in OO and FP programs. |  
- **zio** - safe, composable library for async and concurrent programming in Scala |  
-
Geospatial
- **geotrellis** - activity/y/locationtech/geotrellis)
- osm4scala - activity/y/simplexspatial/osm4scala)
- rtree2d - tree for ultra-fast nearest and intersection queries in plane and spherical coordinates |  
- stac4s - utils/stac4s) 
- franklin - activity/y/azavea/franklin)
-
Graphical User Interfaces
- **scalafx** - based user interfaces in Scala |  
-
HTTP
- **akka-http** - first HTTP server/module of Akka |  
- reboot - activity/y/dispatch/reboot)
- **finch** - activity/y/finagle/finch)
- **http4s** - activity/y/http4s/http4s)
- lolhttp - activity/y/criteo/lolhttp)
- **requests-scala** - lihaoyi/requests-scala) 
- scalaxb - activity/y/eed3si9n/scalaxb)
- **sttp** - activity/y/softwaremill/sttp)
- **tapir** - documenting APIs |  
- endpoints4s - activity/y/endpoints4s/endpoints4s)
- frontier - deps/frontier) 
-
i18n
- scala-xgettext - framework/scala-xgettext) 
- scaposer - framework/scaposer) 
-
Image processing and image analysis
- scalismo - gravis/scalismo) 
- **scrimage** - Java, Kotlin, Scala image processing library |  
-
JavaScript
- **scala-js** - js/scala-js) 
-
JSON
- **argonaut** - io/argonaut) 
- **circe** - activity/y/circe/circe)
- diffson - activity/y/gnieh/diffson)
- **jackson-module-scala** - on module for Jackson (https://github.com/FasterXML/jackson) to support Scala-specific datatypes |  
- 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) 
-
Programming Languages
Categories
Sub Categories
Devops
58
Database
44
Sbt plugins
32
Extensions
28
Science and Data Analysis
27
JSON
17
Testing
17
Web Frameworks
17
Misc
16
Tools
15
Big Data
12
HTTP
11
Serialization
10
Authentication
8
Modularization and Dependency Injection
5
Distributed Systems
5
Parsing
5
Functional Reactive Programming
5
Geospatial
5
Reactive Web Frameworks
4
Command Line Interfaces
4
Data Binding and Validation
4
CSV
4
Templating
4
XML / HTML
3
Cryptography
3
Image processing and image analysis
2
i18n
2
JavaScript
1
Messaging
1
Graphical User Interfaces
1
Metrics and Monitoring
1
YAML
1
Markdown
1
Artificial Intelligence
1
Android
1
Archive and Compression
1
Scheduling
1
Semantic Web
1
Keywords
scala
189
functional-programming
22
json
21
sbt-plugin
21
java
18
sbt
18
http
13
scalajs
12
cats
12
reactive
11
spark
10
akka
10
database
9
serialization
9
machine-learning
8
jvm
8
typelevel
8
reactive-streams
8
scalaz
8
streaming
7
zio
7
scala-native
7
web
7
jdbc
7
framework
7
scala-js
7
scala3
7
fp
6
playframework
6
sql
6
http-client
6
scala-library
6
slf4j
6
macros
6
mysql
6
deep-learning
5
akka-http
5
http-server
5
dsl
5
fs2
5
big-data
5
finagle
5
testing
5
kotlin
5
rpc
5
monix
4
async
4
akka-streams
4
android
4
postgres
4