From 280c9bcbc39b3f3d92e7e1a4d4ae3d4608c7cfe5 Mon Sep 17 00:00:00 2001 From: lauris Date: Thu, 19 Sep 2024 14:19:28 +0000 Subject: [PATCH] Apply automatic changes --- README.md | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 138 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 81d98ea..8b772a3 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,21 @@ Awesome Scala [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) ============= + 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](https://github.com/vinta/awesome-python). Other amazingly awesome lists can be found in the [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) list. + Also awesome is [Scaladex](https://index.scala-lang.org/), 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 + - [Learning Scala](#learning-scala) - [Projects](#projects) - [Android](#android) @@ -58,14 +66,21 @@ Don't modify `README.md` in your pull request. It is automatically generated. Mo - [Company Blogs](#company-blogs) - [Podcasts](#podcasts) - [Contributing](#contributing) + ### Archive and Compression + Name | Description | GitHub Activity ---- | ----------- | --------------- + ### Artificial Intelligence + Name | Description | GitHub Activity ---- | ----------- | --------------- + ### Database + *Database access libraries in Scala.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [akka-persistence-gcp-datastore](https://github.com/innFactory/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. | ![GitHub stars](https://img.shields.io/github/stars/innFactory/akka-persistence-gcp-datastore) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/innFactory/akka-persistence-gcp-datastore) @@ -96,16 +111,24 @@ Name | Description | GitHub Activity [zio-redis](https://github.com/zio/zio-redis) | A ZIO-based redis client | ![GitHub stars](https://img.shields.io/github/stars/zio/zio-redis) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/zio/zio-redis) [**skunk**](https://github.com/typelevel/skunk) | A data access library for Scala + Postgres. | ![GitHub stars](https://img.shields.io/github/stars/typelevel/skunk) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/typelevel/skunk) [kvs](https://github.com/zero-deps/kvs) | Highly available distributed strong eventual consistent and sequentially consistent storage with feeds, sorting and search | ![GitHub stars](https://img.shields.io/github/stars/zero-deps/kvs) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/zero-deps/kvs) + ### Messaging + Name | Description | GitHub Activity ---- | ----------- | --------------- + ### Graphical User Interfaces + *Libraries for creation of graphical user interfaces* + Name | Description | GitHub Activity ---- | ----------- | --------------- [**scalafx**](https://github.com/scalafx/scalafx) | ScalaFX simplifies creation of JavaFX-based user interfaces in Scala | ![GitHub stars](https://img.shields.io/github/stars/scalafx/scalafx) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/scalafx/scalafx) + ### Web Frameworks + *Scala frameworks for web development.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [analogweb-scala](https://github.com/analogweb/analogweb-scala) | Tiny High Performance HTTP Server for Scala | ![GitHub stars](https://img.shields.io/github/stars/analogweb/analogweb-scala) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/analogweb/analogweb-scala) @@ -118,39 +141,57 @@ Name | Description | GitHub Activity [sharaf](https://github.com/sake92/sharaf) | Minimalistic Scala 3 web framework | ![GitHub stars](https://img.shields.io/github/stars/sake92/sharaf) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/sake92/sharaf) [**unfiltered**](https://github.com/unfiltered/unfiltered) | A toolkit for servicing HTTP requests in Scala | ![GitHub stars](https://img.shields.io/github/stars/unfiltered/unfiltered) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/unfiltered/unfiltered) [youi](https://github.com/outr/youi) | Next generation user interface and application development in Scala and Scala.js for web, mobile, and desktop. | ![GitHub stars](https://img.shields.io/github/stars/outr/youi) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/outr/youi) + ### Reactive Web Frameworks + *Scala libraries for Reactive Web development* + Name | Description | GitHub Activity ---- | ----------- | --------------- [**Binding.scala**](https://github.com/ThoughtWorksInc/Binding.scala) | Reactive data-binding for Scala | ![GitHub stars](https://img.shields.io/github/stars/ThoughtWorksInc/Binding.scala) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/ThoughtWorksInc/Binding.scala) [udash-core](https://github.com/UdashFramework/udash-core) | Scala framework for building beautiful and maintainable web applications. | ![GitHub stars](https://img.shields.io/github/stars/UdashFramework/udash-core) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/UdashFramework/udash-core) [vertx-lang-scala](https://github.com/vert-x3/vertx-lang-scala) | Vert.x for Scala | ![GitHub stars](https://img.shields.io/github/stars/vert-x3/vertx-lang-scala) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/vert-x3/vertx-lang-scala) + ### Data Binding and Validation + *Scala libraries for data binding and validation* + Name | Description | GitHub Activity ---- | ----------- | --------------- [dupin](https://github.com/yakivy/dupin) | Minimal, idiomatic, customizable validation Scala library. | ![GitHub stars](https://img.shields.io/github/stars/yakivy/dupin) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/yakivy/dupin) [octopus](https://github.com/krzemin/octopus) | Scala library for boilerplate-free validation | ![GitHub stars](https://img.shields.io/github/stars/krzemin/octopus) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/krzemin/octopus) + ### i18n + *Scala libraries for i18n.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [scaposer](https://github.com/xitrum-framework/scaposer) | GNU Gettext .po file loader for Scala | ![GitHub stars](https://img.shields.io/github/stars/xitrum-framework/scaposer) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/xitrum-framework/scaposer) + ### Authentication + *Libraries for implementing authentications schemes.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [play-googleauth](https://github.com/guardian/play-googleauth) | Simple play module for authenticating against Google | ![GitHub stars](https://img.shields.io/github/stars/guardian/play-googleauth) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/guardian/play-googleauth) [play-pac4j](https://github.com/pac4j/play-pac4j) | Security library for Play framework 2 in Java and Scala: OAuth, CAS, SAML, OpenID Connect, LDAP, JWT... | ![GitHub stars](https://img.shields.io/github/stars/pac4j/play-pac4j) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/pac4j/play-pac4j) [**scala-oauth2-provider**](https://github.com/nulab/scala-oauth2-provider) | OAuth 2.0 server-side implementation written in Scala | ![GitHub stars](https://img.shields.io/github/stars/nulab/scala-oauth2-provider) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/nulab/scala-oauth2-provider) + ### Cryptography + *Cryptography and Encryption Libraries.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [scrypto](https://github.com/input-output-hk/scrypto) | Cryptographic primitives for Scala | ![GitHub stars](https://img.shields.io/github/stars/input-output-hk/scrypto) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/input-output-hk/scrypto) [jose](https://github.com/blackdoor/jose) | Extensible JOSE library for Scala | ![GitHub stars](https://img.shields.io/github/stars/blackdoor/jose) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/blackdoor/jose) + ### Testing + *Libraries for code testing.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [**bencher**](https://github.com/bencherdev/bencher) | 🐰 Bencher - Continuous Benchmarking | ![GitHub stars](https://img.shields.io/github/stars/bencherdev/bencher) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/bencherdev/bencher) @@ -168,8 +209,11 @@ Name | Description | GitHub Activity [weaver-test](https://github.com/disneystreaming/weaver-test) | A test framework that runs everything in parallel. | ![GitHub stars](https://img.shields.io/github/stars/disneystreaming/weaver-test) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/disneystreaming/weaver-test) [**testcontainers-scala**](https://github.com/testcontainers/testcontainers-scala) | Docker containers for testing in scala | ![GitHub stars](https://img.shields.io/github/stars/testcontainers/testcontainers-scala) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/testcontainers/testcontainers-scala) [utest](https://github.com/com-lihaoyi/utest) | A simple testing framework for Scala | ![GitHub stars](https://img.shields.io/github/stars/com-lihaoyi/utest) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/com-lihaoyi/utest) + ### JSON + *Libraries for work with json.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [**argonaut**](https://github.com/argonaut-io/argonaut) | Purely functional JSON parser and library in scala. | ![GitHub stars](https://img.shields.io/github/stars/argonaut-io/argonaut) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/argonaut-io/argonaut) @@ -186,19 +230,28 @@ Name | Description | GitHub Activity [**spray-json**](https://github.com/spray/spray-json) | A lightweight, clean and simple JSON implementation in Scala | ![GitHub stars](https://img.shields.io/github/stars/spray/spray-json) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/spray/spray-json) [tupson](https://github.com/sake92/tupson) | Stupid simple Scala 3 library for writing and reading JSON | ![GitHub stars](https://img.shields.io/github/stars/sake92/tupson) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/sake92/tupson) [zio-json](https://github.com/zio/zio-json) | Fast, secure JSON library with tight ZIO integration. | ![GitHub stars](https://img.shields.io/github/stars/zio/zio-json) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/zio/zio-json) + ### YAML + *Libraries for work with YAML.* + Name | Description | GitHub Activity ---- | ----------- | --------------- + ### CSV + *Libraries for work with CSV.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [kantan.csv](https://github.com/nrinaudo/kantan.csv) | CSV handling library for Scala | ![GitHub stars](https://img.shields.io/github/stars/nrinaudo/kantan.csv) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/nrinaudo/kantan.csv) [**scala-csv**](https://github.com/tototoshi/scala-csv) | CSV Reader/Writer for Scala | ![GitHub stars](https://img.shields.io/github/stars/tototoshi/scala-csv) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/tototoshi/scala-csv) [spata](https://github.com/fingo/spata) | Functional, stream-based CSV processor for Scala | ![GitHub stars](https://img.shields.io/github/stars/fingo/spata) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/fingo/spata) + ### Serialization + *Libraries for serializing and deserializing data for storage or transport.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [borer](https://github.com/sirthias/borer) | Efficient CBOR and JSON (de)serialization in Scala | ![GitHub stars](https://img.shields.io/github/stars/sirthias/borer) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/sirthias/borer) @@ -209,8 +262,11 @@ Name | Description | GitHub Activity [**scrooge**](https://github.com/twitter/scrooge) | A Thrift parser/generator | ![GitHub stars](https://img.shields.io/github/stars/twitter/scrooge) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/twitter/scrooge) [**upickle**](https://github.com/com-lihaoyi/upickle) | uPickle: a simple, fast, dependency-free JSON & Binary (MessagePack) serialization library for Scala | ![GitHub stars](https://img.shields.io/github/stars/com-lihaoyi/upickle) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/com-lihaoyi/upickle) [proto](https://github.com/zero-deps/proto) | Lightweight and fast serialization library for Scala 2/3 based on Protocol Buffers with macros | ![GitHub stars](https://img.shields.io/github/stars/zero-deps/proto) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/zero-deps/proto) + ### Science and Data Analysis + *Libraries for scientific computing, data analysis and numerical processing.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [**algebird**](https://github.com/twitter/algebird) | Abstract Algebra for Scala | ![GitHub stars](https://img.shields.io/github/stars/twitter/algebird) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/twitter/algebird) @@ -233,7 +289,9 @@ Name | Description | GitHub Activity [**zeppelin**](https://github.com/apache/zeppelin) | Web-based notebook that enables data-driven, interactive data analytics and collaborative documents with SQL, Scala and more. | ![GitHub stars](https://img.shields.io/github/stars/apache/zeppelin) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/apache/zeppelin) [**spark-nlp**](https://github.com/JohnSnowLabs/spark-nlp) | State of the Art Natural Language Processing | ![GitHub stars](https://img.shields.io/github/stars/JohnSnowLabs/spark-nlp) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/JohnSnowLabs/spark-nlp) [VecMatLib](https://github.com/ScalaMath/VecMatLib) | Open source Scala library that provides data structures for vectors and matrices | ![GitHub stars](https://img.shields.io/github/stars/ScalaMath/VecMatLib) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/ScalaMath/VecMatLib) + ### Big Data + Name | Description | GitHub Activity ---- | ----------- | --------------- [**flink**](https://github.com/apache/flink) | Apache Flink | ![GitHub stars](https://img.shields.io/github/stars/apache/flink) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/apache/flink) @@ -245,25 +303,36 @@ Name | Description | GitHub Activity [**spark**](https://github.com/apache/spark) | Apache Spark - A unified analytics engine for large-scale data processing | ![GitHub stars](https://img.shields.io/github/stars/apache/spark) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/apache/spark) [gallia-core](https://github.com/galliaproject/gallia-core) | A schema-aware Scala library for data transformation | ![GitHub stars](https://img.shields.io/github/stars/galliaproject/gallia-core) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/galliaproject/gallia-core) [**nussknacker**](https://github.com/TouK/nussknacker) | Low-code tool for automating actions on real time data | Stream processing for the users. | ![GitHub stars](https://img.shields.io/github/stars/TouK/nussknacker) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/TouK/nussknacker) + ### Command Line Interfaces + *Libraries for creation of command line interfaces* + Name | Description | GitHub Activity ---- | ----------- | --------------- [**decline**](https://github.com/bkirwi/decline) | A composable command-line parser for Scala. | ![GitHub stars](https://img.shields.io/github/stars/bkirwi/decline) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/bkirwi/decline) [mainargs](https://github.com/com-lihaoyi/mainargs) | A small, convenient, dependency-free library for command-line argument parsing in Scala | ![GitHub stars](https://img.shields.io/github/stars/com-lihaoyi/mainargs) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/com-lihaoyi/mainargs) [**scallop**](https://github.com/scallop/scallop) | a simple Scala CLI parsing library | ![GitHub stars](https://img.shields.io/github/stars/scallop/scallop) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/scallop/scallop) [**scopt**](https://github.com/scopt/scopt) | command line options parsing for Scala | ![GitHub stars](https://img.shields.io/github/stars/scopt/scopt) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/scopt/scopt) + ### Image processing and image analysis + *2D and 3D image processing and image analysis* + Name | Description | GitHub Activity ---- | ----------- | --------------- [scalismo](https://github.com/unibas-gravis/scalismo) | Scalable Image Analysis and Shape Modelling | ![GitHub stars](https://img.shields.io/github/stars/unibas-gravis/scalismo) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/unibas-gravis/scalismo) [**scrimage**](https://github.com/sksamuel/scrimage) | JVM - Java, Kotlin, Scala image processing library | ![GitHub stars](https://img.shields.io/github/stars/sksamuel/scrimage) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/sksamuel/scrimage) + ### Sound processing and music + Name | Description | GitHub Activity ---- | ----------- | --------------- + ### Functional Reactive Programming + *Event streams, signals, observables, etc.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [**fs2**](https://github.com/typelevel/fs2) | Compositional, streaming I/O library for Scala | ![GitHub stars](https://img.shields.io/github/stars/typelevel/fs2) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/typelevel/fs2) @@ -272,8 +341,11 @@ Name | Description | GitHub Activity [REScala](https://github.com/rescala-lang/REScala) | REScala - distributed and reactive programming embedded in OO and FP programs. | ![GitHub stars](https://img.shields.io/github/stars/rescala-lang/REScala) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/rescala-lang/REScala) [**zio**](https://github.com/zio/zio) | ZIO — A type-safe, composable library for async and concurrent programming in Scala | ![GitHub stars](https://img.shields.io/github/stars/zio/zio) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/zio/zio) [vertx-lang-scala](https://github.com/vert-x3/vertx-lang-scala) | Vert.x for Scala | ![GitHub stars](https://img.shields.io/github/stars/vert-x3/vertx-lang-scala) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/vert-x3/vertx-lang-scala) + ### Modularization and Dependency Injection + *Modularization of applications, dependency injection, etc.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [**airframe**](https://github.com/wvlet/airframe) | Essential Building Blocks for Scala | ![GitHub stars](https://img.shields.io/github/stars/wvlet/airframe) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/wvlet/airframe) @@ -281,8 +353,11 @@ Name | Description | GitHub Activity [**macwire**](https://github.com/softwaremill/macwire) | Zero-cost, compile-time, type-safe dependency injection library. | ![GitHub stars](https://img.shields.io/github/stars/softwaremill/macwire) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/softwaremill/macwire) [scaldi](https://github.com/scaldi/scaldi) | Lightweight Scala Dependency Injection Library | ![GitHub stars](https://img.shields.io/github/stars/scaldi/scaldi) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/scaldi/scaldi) [jam](https://github.com/yakivy/jam) | Incredibly simple DI Scala library. | ![GitHub stars](https://img.shields.io/github/stars/yakivy/jam) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/yakivy/jam) + ### Distributed Systems + *Libraries and frameworks for writing distributed applications.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [**akka**](https://github.com/akka/akka) | Build highly concurrent, distributed, and resilient message-driven applications on the JVM | ![GitHub stars](https://img.shields.io/github/stars/akka/akka) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/akka/akka) @@ -290,8 +365,11 @@ Name | Description | GitHub Activity [**finagle**](https://github.com/twitter/finagle) | A fault tolerant, protocol-agnostic RPC system | ![GitHub stars](https://img.shields.io/github/stars/twitter/finagle) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/twitter/finagle) [poppet](https://github.com/yakivy/poppet) | Minimal, type-safe RPC Scala library. | ![GitHub stars](https://img.shields.io/github/stars/yakivy/poppet) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/yakivy/poppet) [automorph](https://github.com/automorph-org/automorph) | RPC client and server library for Scala | ![GitHub stars](https://img.shields.io/github/stars/automorph-org/automorph) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/automorph-org/automorph) + ### Extensions + *Scala extensions.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [**Ammonite**](https://github.com/com-lihaoyi/Ammonite) | Scala Scripting | ![GitHub stars](https://img.shields.io/github/stars/com-lihaoyi/Ammonite) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/com-lihaoyi/Ammonite) @@ -307,7 +385,6 @@ Name | Description | GitHub Activity [**enumeratum**](https://github.com/lloydmeta/enumeratum) | A type-safe, reflection-free, powerful enumeration implementation for Scala with exhaustive pattern match warnings and helpful integrations. | ![GitHub stars](https://img.shields.io/github/stars/lloydmeta/enumeratum) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/lloydmeta/enumeratum) [log4s](https://github.com/Log4s/log4s) | High-performance SLF4J wrapper for Scala. | ![GitHub stars](https://img.shields.io/github/stars/Log4s/log4s) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/Log4s/log4s) [**izumi**](https://github.com/7mind/izumi) | Productivity-oriented collection of lightweight fancy stuff for Scala toolchain | ![GitHub stars](https://img.shields.io/github/stars/7mind/izumi) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/7mind/izumi) -[**Monocle**](https://github.com/optics-dev/Monocle) | Optics library for Scala | ![GitHub stars](https://img.shields.io/github/stars/optics-dev/Monocle) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/optics-dev/Monocle) [**nscala-time**](https://github.com/nscala-time/nscala-time) | A new Scala wrapper for Joda Time based on scala-time | ![GitHub stars](https://img.shields.io/github/stars/nscala-time/nscala-time) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/nscala-time/nscala-time) [**quicklens**](https://github.com/softwaremill/quicklens) | Modify deeply nested case class fields | ![GitHub stars](https://img.shields.io/github/stars/softwaremill/quicklens) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/softwaremill/quicklens) [**refined**](https://github.com/fthomas/refined) | Refinement types for Scala | ![GitHub stars](https://img.shields.io/github/stars/fthomas/refined) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/fthomas/refined) @@ -323,8 +400,11 @@ Name | Description | GitHub Activity [squid](https://github.com/epfldata/squid) | Squid – type-safe metaprogramming and compilation framework for Scala | ![GitHub stars](https://img.shields.io/github/stars/epfldata/squid) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/epfldata/squid) [**tinylog**](https://github.com/tinylog-org/tinylog) | tinylog is a lightweight logging framework for Java, Kotlin, Scala, and Android | ![GitHub stars](https://img.shields.io/github/stars/tinylog-org/tinylog) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/tinylog-org/tinylog) [**util**](https://github.com/twitter/util) | Wonderful reusable code from Twitter | ![GitHub stars](https://img.shields.io/github/stars/twitter/util) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/twitter/util) + ### Misc + *Projects that don't fit into any specific category.* + Name | Description | GitHub Activity ---- | ----------- | --------------- * [Agora](https://gitlab.com/aossie/Agora/) | Library of vote-counting algorithms for elections. | @@ -345,13 +425,19 @@ Name | Description | GitHub Activity [scountries](https://github.com/lambdaworks/scountries) | Scala library that provides an enumeration of ISO 3166 codes for countries, along with their subdivisions. | ![GitHub stars](https://img.shields.io/github/stars/lambdaworks/scountries) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/lambdaworks/scountries) [scurl-detector](https://github.com/lambdaworks/scurl-detector) | Scala library that detects and extracts URLs from text. | ![GitHub stars](https://img.shields.io/github/stars/lambdaworks/scurl-detector) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/lambdaworks/scurl-detector) [aptus-core](https://github.com/aptusproject/aptus-core) | A utility library aiming to simplify the Scala coding experience. | ![GitHub stars](https://img.shields.io/github/stars/aptusproject/aptus-core) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/aptusproject/aptus-core) + ### Android + *Scala libraries and wrappers for Android development.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [**scaloid**](https://github.com/pocorall/scaloid) | Scaloid makes your Android code easy to understand and maintain. | ![GitHub stars](https://img.shields.io/github/stars/pocorall/scaloid) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/pocorall/scaloid) + ### HTTP + *Scala libraries and wrappers for HTTP clients.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [**akka-http**](https://github.com/akka/akka-http) | The Streaming-first HTTP server/module of Akka | ![GitHub stars](https://img.shields.io/github/stars/akka/akka-http) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/akka/akka-http) @@ -365,18 +451,27 @@ Name | Description | GitHub Activity [**tapir**](https://github.com/softwaremill/tapir) | Rapid development of self-documenting APIs | ![GitHub stars](https://img.shields.io/github/stars/softwaremill/tapir) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/softwaremill/tapir) [endpoints4s](https://github.com/endpoints4s/endpoints4s) | Describe HTTP endpoints in Scala and derive clients, servers, and documentation | ![GitHub stars](https://img.shields.io/github/stars/endpoints4s/endpoints4s) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/endpoints4s/endpoints4s) [frontier](https://github.com/zero-deps/frontier) | A lightweight HTTP/WebSocket server built with ZIO | ![GitHub stars](https://img.shields.io/github/stars/zero-deps/frontier) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/zero-deps/frontier) + ### Semantic Web + *Scala libraries for interactions with the Web of Data, and other RDF tools.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [scowl](https://github.com/phenoscape/scowl) | A Scala DSL for programming with the OWL API. | ![GitHub stars](https://img.shields.io/github/stars/phenoscape/scowl) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/phenoscape/scowl) + ### Metrics and Monitoring + *Scala libraries for gathering metrics and monitoring applications.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [metrics-scala](https://github.com/erikvanoosten/metrics-scala) | The scala API for Dropwizard's Metrics. | ![GitHub stars](https://img.shields.io/github/stars/erikvanoosten/metrics-scala) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/erikvanoosten/metrics-scala) + ### Parsing + *Scala libraries for creating parsers.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [atto](https://github.com/tpolecat/atto) | friendly little parsers | ![GitHub stars](https://img.shields.io/github/stars/tpolecat/atto) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/tpolecat/atto) @@ -384,8 +479,11 @@ Name | Description | GitHub Activity [**parboiled2**](https://github.com/sirthias/parboiled2) | A macro-based PEG parser generator for Scala 2.10+ | ![GitHub stars](https://img.shields.io/github/stars/sirthias/parboiled2) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/sirthias/parboiled2) [**scala-parser-combinators**](https://github.com/scala/scala-parser-combinators) | simple combinator-based parsing for Scala. formerly part of the Scala standard library, now a separate community-maintained module | ![GitHub stars](https://img.shields.io/github/stars/scala/scala-parser-combinators) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/scala/scala-parser-combinators) [cats-parse](https://github.com/typelevel/cats-parse) | A parsing library for the cats ecosystem | ![GitHub stars](https://img.shields.io/github/stars/typelevel/cats-parse) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/typelevel/cats-parse) + ### Sbt plugins + *Sbt plugins to make your life easier.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [**better-monadic-for**](https://github.com/oleg-py/better-monadic-for) | Desugaring scala `for` without implicit `withFilter`s | ![GitHub stars](https://img.shields.io/github/stars/oleg-py/better-monadic-for) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/oleg-py/better-monadic-for) @@ -420,35 +518,50 @@ Name | Description | GitHub Activity [splain](https://github.com/tek/splain) | better implicit errors for scala | ![GitHub stars](https://img.shields.io/github/stars/tek/splain) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/tek/splain) [xsbt-web-plugin](https://github.com/earldouglas/xsbt-web-plugin) | Servlet support for sbt | ![GitHub stars](https://img.shields.io/github/stars/earldouglas/xsbt-web-plugin) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/earldouglas/xsbt-web-plugin) [sbt-git](https://github.com/sbt/sbt-git) | A git plugin for sbt | ![GitHub stars](https://img.shields.io/github/stars/sbt/sbt-git) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/sbt/sbt-git) + ### XML / HTML + *XML and HTML generation and processing* + Name | Description | GitHub Activity ---- | ----------- | --------------- [**scala-scraper**](https://github.com/ruippeixotog/scala-scraper) | A Scala library for scraping content from HTML pages | ![GitHub stars](https://img.shields.io/github/stars/ruippeixotog/scala-scraper) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/ruippeixotog/scala-scraper) [xs4s](https://github.com/ScalaWilliam/xs4s) | XML Streaming for Scala including FS2/cats support | ![GitHub stars](https://img.shields.io/github/stars/ScalaWilliam/xs4s) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/ScalaWilliam/xs4s) [phobos](https://github.com/valentiay/phobos) | Efficient and expressive XML data-binding library for Scala | ![GitHub stars](https://img.shields.io/github/stars/valentiay/phobos) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/valentiay/phobos) + ### Markdown + Name | Description | GitHub Activity ---- | ----------- | --------------- [Laika](https://github.com/typelevel/Laika) | Site and E-book Generator and Customizable Text Markup Transformer for sbt, Scala and Scala.js | ![GitHub stars](https://img.shields.io/github/stars/typelevel/Laika) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/typelevel/Laika) + ### JavaScript + *JavaScript generation and interop libraries.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [**scala-js**](https://github.com/scala-js/scala-js) | Scala.js, the Scala to JavaScript compiler | ![GitHub stars](https://img.shields.io/github/stars/scala-js/scala-js) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/scala-js/scala-js) + ### Scheduling + Name | Description | GitHub Activity ---- | ----------- | --------------- [**akka-quartz-scheduler**](https://github.com/enragedginger/akka-quartz-scheduler) | Quartz Extension and utilities for cron-style scheduling in Akka | ![GitHub stars](https://img.shields.io/github/stars/enragedginger/akka-quartz-scheduler) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/enragedginger/akka-quartz-scheduler) + ### Templating + *Web templating engines.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [**scalatags**](https://github.com/com-lihaoyi/scalatags) | ScalaTags is a small XML/HTML construction library for Scala. | ![GitHub stars](https://img.shields.io/github/stars/com-lihaoyi/scalatags) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/com-lihaoyi/scalatags) [**scalate**](https://github.com/scalate/scalate) | Scalate is a Scala based template engine which supports HAML, Mustache and JSP, Erb and Velocity style syntaxes. | ![GitHub stars](https://img.shields.io/github/stars/scalate/scalate) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/scalate/scalate) [**twirl**](https://github.com/playframework/twirl) | Twirl is Play's default template engine | ![GitHub stars](https://img.shields.io/github/stars/playframework/twirl) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/playframework/twirl) [hepek](https://github.com/sake92/hepek) | Typesafe HTML templates and static site generator in pure Scala | ![GitHub stars](https://img.shields.io/github/stars/sake92/hepek) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/sake92/hepek) + ### Tools + Name | Description | GitHub Activity ---- | ----------- | --------------- [**bloop**](https://github.com/scalacenter/bloop) | Bloop is a build server and CLI tool to compile, test and run Scala fast from any editor or build tool. | ![GitHub stars](https://img.shields.io/github/stars/scalacenter/bloop) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/scalacenter/bloop) @@ -467,8 +580,11 @@ Name | Description | GitHub Activity [**scapegoat**](https://github.com/scapegoat-scala/scapegoat) | Scala compiler plugin for static code analysis | ![GitHub stars](https://img.shields.io/github/stars/scapegoat-scala/scapegoat) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/scapegoat-scala/scapegoat) [**wartremover**](https://github.com/wartremover/wartremover) | Flexible Scala code linting tool | ![GitHub stars](https://img.shields.io/github/stars/wartremover/wartremover) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/wartremover/wartremover) [scala2plantuml](https://github.com/BotTech/scala2plantuml) | Scala2PlantUML generates PlantUML diagrams from Scala code. | ![GitHub stars](https://img.shields.io/github/stars/BotTech/scala2plantuml) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/BotTech/scala2plantuml) + ### Geospatial + *Libraries to aid with geospatial calculations and artifacts.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [**geotrellis**](https://github.com/locationtech/geotrellis) | GeoTrellis is a geographic data processing engine for high performance applications. | ![GitHub stars](https://img.shields.io/github/stars/locationtech/geotrellis) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/locationtech/geotrellis) @@ -476,13 +592,20 @@ Name | Description | GitHub Activity [rtree2d](https://github.com/plokhotnyuk/rtree2d) | RTree2D is a 2D immutable R-tree for ultra-fast nearest and intersection queries in plane and spherical coordinates | ![GitHub stars](https://img.shields.io/github/stars/plokhotnyuk/rtree2d) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/plokhotnyuk/rtree2d) [stac4s](https://github.com/stac-utils/stac4s) | a scala library with primitives to build applications using the SpatioTemporal Asset Catalogs specification | ![GitHub stars](https://img.shields.io/github/stars/stac-utils/stac4s) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/stac-utils/stac4s) [franklin](https://github.com/azavea/franklin) | A STAC/OGC API Features Web Service | ![GitHub stars](https://img.shields.io/github/stars/azavea/franklin) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/azavea/franklin) + ### Devops + *DevOps related tools and libraries.* + Name | Description | GitHub Activity ---- | ----------- | --------------- [skuber](https://github.com/hagay3/skuber) | A Scala Kubernetes client library | ![GitHub stars](https://img.shields.io/github/stars/hagay3/skuber) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/hagay3/skuber) + # Learning Scala + *Nice books, blogs and other resources to learn Scala* + + ## Books * [Essential Scala](https://underscore.io/books/essential-scala/) by Noel Welsh and Dave Gurnell - Essential Scala is aimed at experienced developers who are encountering Scala for the first time. * [Functional and Reactive Domain Modeling](https://www.manning.com/books/functional-and-reactive-domain-modeling) by Debasish Ghosh @@ -499,11 +622,15 @@ Name | Description | GitHub Activity * [Scala With Cats](https://underscore.io/books/scala-with-cats/) by Noel Welsh and Dave Gurnell - 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](https://underscore.io/books/shapeless-guide/) by Dave Gurnell * [Zionomicon](https://www.zionomicon.com) by John A. De Goes, Adam Fraser - Master the dark art of creating scalable, type-safe, concurrent apps with ZIO + + ## Exercises * [S-99](http://aperiodic.net/phil/scala/s-99) - Ninety-Nine Scala Problems * [Scala Exercises](http://scala-exercises.47deg.com/) - 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](https://exercism.org/tracks/scala/exercises) - Community-driven Scala exercises. * [Learn-by-doing functional programming course on Scala](https://github.com/dehun/learn-fp/) - Covers type classes, functors, applicatives, monads, monad transformers, free monad + + ## Tutorials and courses * [A Tour of Scala](http://docs.scala-lang.org/tour/tour-of-scala.html) - Bite-sized introductions to some of the core language concepts. * [Functional Programming in Scala](https://www.coursera.org/specializations/scala) - Coursera Specialization (5 courses) created by Martin Odersky et al. at the EPFL (Ecole polytechnique fédérale de Lausanne). @@ -513,10 +640,13 @@ Name | Description | GitHub Activity * [Scala Collections Cookbook](http://colobu.com/ScalaCollectionsCookbook/) - Scala collections introduction. written in Chinese. * [Free Scala Courses](https://skillcombo.com/topic/scala/free/) - A curated list of free Scala courses. * [Clean Architecture Example](https://github.com/SaeidDadkhah/clean-arch-example) - A step-by-step guide to develop an application using Clean Architecture in Scala. + ## Commercial courses * [Foundations of Functional Programming in Scala](https://www.fp-tower.com/courses/foundations) - a professional video course with exercises covering covers functional principles, custom IO (effects) and functional design. * [Scala Algorithms](https://www.scala-algorithms.com/) - a collection of nearly 100 algorithms in pure-functional Scala with test cases, explanations and a web-based IDE. Built with http4s & Scala.js. + ## Community Members' Blogs + * http://lihaoyi.com * http://warski.org/blog * https://degoes.net/articles @@ -535,6 +665,7 @@ Name | Description | GitHub Activity * https://pchiusano.github.io * https://beyondthelines.net * https://manuel.bernhardt.io/blog + ## Company Blogs * [Functional Works / Learn](https://functional.works-hub.com/learn/) - Quality resources maintained by functional works * http://allaboutscala.com/ @@ -546,14 +677,20 @@ Name | Description | GitHub Activity * https://www.codacy.com/blog/ * [Scala Times](https://scalatimes.com/) - Weekly newsletter about scala * [47 Degrees](https://www.47deg.com/blog/) - Functional Programming news, updates, and more. + ## Podcasts + * [The Scala Logs](https://twitter.com/thescalalogs) - Interviewing developers, open source contributors, subject matter experts, and the like to talk about FP, Scala, open source, and their interests. * [Scala Love](https://scala.love/) - Podcast about the Scala Programming Language and its community * [CoRecursive Interviews](https://corecursive.com/) - In-depth Interviews with software developers, often on the subject of scala libraries and functional programming. * [Scala for Fun & Profit](https://podcasters.spotify.com/pod/show/julien-truffaut) - Interviewing Scala users and companies. + ## Communities + * [Scala Ukraine](https://t.me/scala_ukraine) - Telegram chat of Ukrainian Scala Community + ## Misc. + * [Programming Community Curated Resources for Learning Scala](https://hackr.io/tutorials/learn-scala) * [Scalera Blog](http://www.scalera.es) - Blog about Scala language and its environment (howto's, good practices, tips,...). Weekly posts written in both spanish and english * [Scala @LibHunt](https://scala.libhunt.com) - A community driven list of useful Scala libraries, frameworks and software