Scala, Spark

IntelliJ IDEA 2018 Help
This is the documentation for the Scala standard library
The Scala 2.8 Collections API
Где больше платят программистам. Сравниваем 22 страны

Scala коллекции: секреты и трюки
Тонкости Scala: изучаем CanBuildFrom
Abstract Algebra for Scala.
Wonderful reusable code from Twitter
Scala interview questions
Scala. Язык программирования VK
Быстрый старт со Scala для начинающих и не очень
Building a Scala Project with IntelliJ and sbt
Testing Scala in IntelliJ with ScalaTest
IntelliJ IDEA 2017.3 Help SBT
Scala Tutorial
собирать код на Scala с помощью SBT

Компилятор Dotty 0.7.0-RC1
Dotty Documentation
Компилятор Dotty – будущее языка Scala
An example sbt project that compiles using Dotty
Scala Native
Scala Native
Compilation of Scala Native resources and libraries
The LLVM Compiler Infrastructure
Getting Started with the LLVM System using Microsoft Visual Studio

PyTorch Tutorials
Twitter PyTorch
Visualising CNN Models Using PyTorch
numsca is numpy for scala
TensorFlow API for the Scala Programming Language
A Scala binding of TensorFlow for Serving TensorFlow Models (Provides RESTful API)
TensorFlow for Scala
Scala library for neural networks neuron
Scala, Apache Spark and Deeplearning4j
OpenCL Torch
Integrating Python into Scala Stack
Nd4j – Numpy for the JVM
netlib-java High Performance Linear Algebra (low level)
Breeze is a numerical processing library for Scala.
Examples for using Breeze
The Unreasonable Effectiveness of Recurrent Neural Networks
Efficient, reusable RNNs and LSTMs for torch
RNN alg geom
The Nak Machine Learning Library
ScalaNLP is a suite of machine learning and numerical computing libraries
Cool Breeze of Scala for Easy Computation: Introduction to Breeze Library
Brief introduction to Scala and Breeze for statistical computing
Quickstart breeze
Top 15 Deep Learning Software in 2018

javacpp The missing bridge between Java and native C++
Scorch is a neural net framework in Scala inspired by PyTorch
JVM bindings for Torch: A Tensor Computation Library
Comparing Top Deep Learning Frameworks: Deeplearning4j, PyTorch, TensorFlow, Caffe, Keras, MxNet, Gluon & CNTK
Introduction to Recurrent Neural Networks in Pytorch
A Quick Introduction to PyTorch

A Neural Network in 11 lines of Python (Part 1)
Abstract Algebra for Scala
Fast, Scientific and Numerical Computing for the JVM (NDArrays)
N-Dimensional Arrays for Java Fast, Numerical Computing for Java
Scaloid makes your Android code easy to understand and maintain.
Collection Music Drop the code bass with these musically themed repositories.

Simple Build Tool вы узнаете о SBT
Введение в SBT
Video Maven vs Gradle vs SBT
SBT, Scala and Spark
SBT Download
О том как создать простое Scala SBT-приложение для Android
Объяснение SNARKs. Спаривание эллиптических кривых
Sbt Вики

Spark Overview
Spark Programming Guide
Spark Streaming Programming Guide
Spark SQL Programming Guide
Machine Learning Library (MLlib)
Bagel Programming Guide Bagel will soon be superseded by GraphX; we recommend that new users try GraphX instead.
GraphX Programming Guide
Apache Spark Examples
Apache Spark Tutorial
Download Apache Spark
MLlib is Apache Spark’s scalable machine learning library.
A community driven list of useful Scala libraries, frameworks and software.
REST job server for Apache Spark
Tutorial Kart – Free Online Training
Apache Spark как ядро проекта. Часть 1

Твоя Data такая большая: Введение в Spark на Java
Что делать, если вы хотите изучать ИИ, но не шарите в математике? Часть первая. Теория
Что делать, если вы хотите изучать ИИ, но не шарите в математике? Часть вторая. Практика
Часть третья. Собираем и настраиваем систему

Обработка больших данных при помощи Apache Spark ч1

Обработка больших данных при помощи Apache Spark ч2

Awesome Scala

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.

Also awesome is Scaladex, the searchable, tagged, and centralized index of Scala libraries.

Projects with over 500 stargazers are in bold.

Table of Contents


Database access libraries in Scala.


Graphical User Interfaces

Libraries for creation of graphical user interfaces

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

Web Frameworks

Scala frameworks for web development.

  • Analogweb – Tiny, simple, and pluggable web framework in Scala.
  • Chaos ★ 220 ⧗ 27 – A lightweight framework for writing REST services in Scala.
  • Colossus ★ 811 ⧗ 70 – lightweight framework for building high-performance applications in Scala that require non-blocking network I/O.
  • Finatra ★ 1558 ⧗ 0 – A sinatra-inspired web framework for scala, running on top of Finagle.
  • Lift ★ 1069 ⧗ 0 – Secure and powerful full stack web framework (discussion).
  • peregine ★ 11 ⧗ 40 – A simple and async lightweight Scala web framework.
  • Play ★ 9229 ⧗ 0 – Makes it easy to build scalable, fast and real-time web applications with Java & Scala.
  • Play Pagelets ★ 47 ⧗ 11 – A Module for the Play Framework to build resilient and modular Play applications in an elegant and concise manner.
  • Reactive ★ 194 ⧗ 6 – FRP and web abstractions, which can be plugged into any web framework (currently only has bindings for Lift).
  • Scalatra ★ 2146 ⧗ 0 – Tiny Scala high-performance, async web framework, inspired by Sinatra.
  • Skinny Framework ★ 621 ⧗ 1 – A full-stack web app framework upon Scalatra for rapid Development in Scala.
  • Socko – An embedded Scala web server powered by Netty networking and Akka processing.
  • suzaku – Suzaku web UI framework for Scala
  • Unfiltered ★ 673 ⧗ 6 – A modular set of unopinionated primitives for servicing HTTP and WebSocket requests in Scala.
  • Xitrum – An async and clustered Scala web framework and HTTP(S) server fusion on top of Netty, Akka, and Hazelcast.
  • youi ★ 81 ⧗ 12 – Next generation user interface framework and server engine for Scala and Scala.js.

Reactive Web Frameworks

Scala libraries for Reactive Web development

  • Binding.scala ★ 935 ⧗ 0 – A reactive web framework. It enables you use native XML literal syntax to create reactive DOM nodes, which are able to automatically change whenever the data source changes.
  • Korolev – Modern single-page applications running on the server side
  • Udash – a web framework based on Scala.js with support for property bindings, frontend routing, i18n and much more. It also provides strongly typed client<->server RPC system based on WebSockets.
  • Widok – Reactive web framework for the JVM and Scala.js
  • Vert.x Web – Toolkit to build Reactive web applications..

Data Binding and Validation

Scala libraries for data binding and validation


Scala libraries for i18n.


Libraries for implementing authentications schemes.


Libraries for implementing authorization strategies.

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


Cryptography and Encryption Libraries.


Libraries for code testing.


Libraries for work with json.


Libraries for work with YAML.


Libraries for work with CSV.


Libraries for serializing and deserializing data for storage or transport.

  • avro-codegen ★ 24 ⧗ 23 – Code generation from avro schemas to serialize/deserialize avro messages, no runtime reflection.
  • Chill ★ 378 ⧗ 4 – Extensions for the Kryo serialization library to ease configuration in systems like Hadoop and Storm.
  • msgpack ★ 75 ⧗ 57 – A efficient binary serialization library.
  • Pickling ★ 808 ⧗ 0 – Fast, customizable, boilerplate-free pickling support.
  • ScalaBuff ★ 218 ⧗ 1 – a Scala Protocol Buffers (protobuf) compiler
  • ScalaPB – A Protocol Buffer generator for Scala.
  • scodec ★ 474 ⧗ 10 – A combinator library for working with binary data.
  • Scrooge – An Apache Thrift code generator for Scala.
  • validation ★ 177 ⧗ 3 – Advanced validation & serialization for JSON, HTML form data, etc, with no reflection at runtime.
  • µPickle – A lightweight serialization library for Scala that works in ScalaJS, allowing transfer of structured data between the JVM and JavaScript.

Science and Data Analysis

Libraries for scientific computing, data analysis and numerical processing.

  • Algebird ★ 1478 ⧗ 0 – Abstract Algebra for Scala.
  • Axle ★ 51 ⧗ 9 – A Spire-based DSL for scientific cloud computing.
  • BigDL ★ 1662 ⧗ 0 – BigDL is a distributed deep learning library for Apache Spark.
  • Breeze ★ 2028 ⧗ 0 – Breeze is a numerical processing library for Scala.
  • Chalk ★ 231 ⧗ 6 – Chalk is a natural language processing library.
  • FACTORIE ★ 486 ⧗ 7 – A toolkit for deployable probabilistic modeling, implemented as a software library in Scala.
  • Figaro ★ 461 ⧗ 0 – Figaro is a probabilistic programming language that supports development of very rich probabilistic models.
  • Libra ★ 142 – Libra is a dimensional analysis library based on shapeless, spire and singleton-ops. It contains out of the box support for SI units for all numeric types.
  • MGO ★ 37 ⧗ 55 – Modular multi-objective evolutionary algorithm optimization library enforcing immutability.
  • MLLib – Machine Learning framework for Spark
  • ND4S ★ 201 ⧗ 0 – N-Dimensional arrays and linear algebra for Scala with an API similar to Numpy. ND4S is a scala wrapper around ND4J.
  • Numsca ★ 8 ⧗ 0 – Numsca is Numpy for Scala.
  • OpenMOLE ★ 65 ⧗ 5 – OpenMOLE (Open MOdeL Experiment) is a workflow engine designed to leverage the computing power of distributed execution environments for naturally parallel processes.
  • OscaR – a Scala toolkit for solving Operations Research problems
  • Persist-Units ★ 9 ⧗ 40 – Type check units of measure in Scala.
  • PredictionIO ★ 10105 ⧗ 0 – machine learning server for developers and data scientists. Built on Apache Spark, HBase and Spray
  • Rings ★ 3 ⧗ 0 – An efficient library for polynomial rings. Commutative algebra, polynomial GCDs, polynomial factorization and other sci things at a really high speed.
  • Saddle ★ 428 ⧗ 2 – A minimalist port of Pandas to Scala
  • Smile – Statistical Machine Intelligence and Learning Engine. Smile is a fast and comprehensive machine learning system.
  • Spark Notebook ★ 1896 ⧗ 0 – Scalable and stable Scala and Spark focused notebook bridging the gap between JVM and Data Scientists (incl. extendable, typesafe and reactive charts).
  • Spire ★ 1152 ⧗ 3 – Powerful new number types and numeric abstractions for Scala.
  • Squants ★ 388 ⧗ 1 – The Scala API for Quantities, Units of Measure and Dimensional Analysis.
  • SwiftLearner ★ 20 ⧗ 5 – Simply written algorithms to help study Machine Learning or write your own implementations.
  • Tensorflow_scala – TensorFlow API for the Scala Programming Language
  • Tyche ★ 89 ⧗ 17 – Probability distributions, stochastic & Markov processes, lattice walks, simple random sampling. A simple yet robust Scala library.
  • Zeppelin – Scala and Spark Notebook (like IPython Notebook)

Big Data

Image processing and image analysis

2D and 3D image processing and image analysis

Sound processing and music

Functional Reactive Programming

Event streams, signals, observables, etc.

  • Monix ★ 754 ⧗ 0 – 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 ★ 644 ⧗ 0 – Reactive Extensions for Scala – a library for composing asynchronous and event-based programs using observable sequences
  • scala.frp ★ 21 ⧗ 101 – Functional Reactive Programming for Scala (event streams).
  • Scala.Rx ★ 771 ⧗ 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.
  • Vert.x – A polyglot reactive application platform for the JVM which aims to be an alternative to node.js. Its concurrency model resembles actors. It supports Scala, Clojure, Java, Javascript, Ruby, Groovy and Python.

Modularization and Dependency Injection

Modularization of applications, dependency injection, etc.

Distributed Systems

Libraries and frameworks for writing distributed applications.

  • Akka – A toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications.
  • 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.
  • Clump – A library for expressive and efficient service composition
  • 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.
  • Lagom – Framework for creating microservice-based systems.
  • Reactors – Foundational framework for distributed computing that fuses functional reactive programming and traditional actors.


Scala extensions.

  • Ammonite-Ops – Safe, easy, filesystem operations in Scala as convenient as in the Bash shell.
  • 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.
  • 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.
  • Monocle ★ 757 ⧗ 0 – An Optics/Lens library for purely functional manipulation of immutable objects.
  • n-scala ★ 662 ⧗ 3 – Scala wrapper for Joda Time.
  • Persist-Logging ★ 33 ⧗ 48 – Comprehensive logging library for Scala.
  • Quicklens ★ 245 ⧗ 0 – modify deeply nested case class fields with an elegant API
  • Rapture (repo) – a collection of libraries for common, everyday programming tasks (I/O, JSON, i18n, etc.)
  • 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.
  • Sauron ★ 159 ⧗ 58 – Lightweight lens library in less than 50-lines of Scala.
  • Scala Async ★ 778 ⧗ 0 – An asynchronous programming facility for Scala.
  • Scala Blitz – A library to speed up Scala collection operations by removing runtime overheads during compilation, and a custom data-parallel operation runtime.
  • 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.
  • Scalactic – Small library of utilities related to quality that helps keeping code clear and correct.
  • 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.
  • Simulacrum ★ 484 ⧗ 2 – First class syntax support for type classes in 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.


Projects that don’t fit into any specific category.


Scala libraries and wrappers for Android development.


Scala libraries and wrappers for HTTP clients.

Semantic Web

Scala libraries for interactions with the Web of Data, and other RDF tools.

  • Banana-RDF ★ 207 ⧗ 26 – Scala-friendly abstractions for RDF and Linked Data technologies. Supports Jena, Sesame and native Scala.
  • rdfp ★ 4 ⧗ 50 – RDF stream processing framework in Scala
  • Scowl ★ 16 ⧗ 36 – Scala DSL allowing a declarative approach to composing OWL expressions and axioms using the OWL API.

Metrics and Monitoring

Scala libraries for gathering metrics and monitoring applications.

  • Kamon – Gathering metrics from applications built with Akka, Spray and Play! with support for user metrics as well.
  • Metrics-Scala ★ 335 – Scala API for Dropwizard’s Metrics library.


Scala libraries for creating parsers.

Sbt plugins

Sbt plugins to make your life easier.


XML and HTML generation and processing


  • Laika ★ 161 – Text Markup Transformer for sbt and Scala applications, transforming Markdown and reStructuredText to HTML and PDF.

Learning Scala

Nice books, blogs and other resources to learn Scala


JavaScript generation and interop libraries.



Web templating engines.



Libraries to aid with geospatial calculations and artifacts.


DevOps related tools and libraries.

5 комментариев

  1. Hey there! I just wanted to ask if you ever have any issues with hackers?
    My last blog (wordpress) was hacked and I ended up losing many months of hard work due to no backup.
    Do you have any methods to protect against hackers?

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.