很棒的Scala Awesome

由社区驱动的有用的Scala库,框架和软件列表. 这不是所有库的目录,只是您探索的起点. 受启发 awesome-python . 其他惊人的清单也可以在 awesome-awesomeness 清单.

还很棒 Scaladex,Scala库的可搜索,标记和集中索引.

拥有500多名观星者的项目以粗体显示.

Artificial Intelligence

Database

Messaging

Graphical User Interfaces

用于创建图形用户界面的库

  • ScalaFX -位于JavaFX之上的Scala DSL,用于创建图形用户界面.

Web Frameworks

用于Web开发的scala框架.

Reactive Web Frameworks

用于响应式Web开发的Scala库

  • Binding.scala ★ 935 ⧗ 0 -反应式Web框架. 它使您能够使用本机XML文字语法来创建反应式DOM节点,该节点能够在数据源更改时自动更改.
  • Korolev -在服务器端运行的现代单页应用程序
  • Udash -基于Scala.js的Web框架,支持属性绑定,前端路由,i18n等. 它还提供基于WebSockets的强类型客户端<->服务器RPC系统.
  • Vert.x Web -用于构建反应式Web应用程序的工具包.
  • Widok -用于JVM和Scala.js的反应式Web框架

Data Binding and Validation

用于数据绑定和验证的Scala库

i18n

  • i18n的Scala库.*

  • scala-xgettext ★ 19 ⧗ 99 -一个类似于GNU xgettext命令的编译器插件,用于将Scala源代码文件中的i18n字符串提取到Gettext .po文件中.

  • Scaposer ★ 30 ⧗ 99 -用于Scala的GNU Gettext .po文件加载器.

Authentication

用于实施身份验证方案的库.

Authorization

Libraries for implementing authorization strategies.

  • deadbolt-2 ★ 467 ⧗ 3 -Play 2.x模块,支持基于角色和专有授权; 提供了用于Scala的惯用API和Java API.

Cryptography

*密码学和加密库.

Testing

用于代码测试的库.

JSON

用于json的库.

YAML

用于YAML的库.

CSV

用于CSV的库.

Serialization

*用于序列化和反序列化用于存储或传输的数据的库.

Science and Data Analysis

*用于科学计算,数据分析和数值处理的图书馆.

  • Algebird ★ 1478 ⧗ 0 - Abstract Algebra for Scala.
  • Axle ★ 51 ⧗ 9 -用于科学云计算的基于Spire的DSL.
  • BigDL ★ 1662 ⧗ 0-BigDL是Apache Spark的分布式深度学习库.
  • Breeze ★ 2028 ⧗ 0-Breeze是Scala的数值处理库.
  • Chalk ★ 231 ⧗ 6 -Chalk是自然语言处理库.
  • Clustering4Ever ★ 50 Scala和Spark API可对您可以生成的任何矢量化进行基准测试和分析聚类算法
  • doddle-model -建立在Breeze之上的内存中机器学习库. 它提供了不可变的对象,并通过类似于scikit-learn的API公开了其功能.
  • FACTORIE ★ 486 ⧗ 7 -用于可部署概率建模的工具包,在Scala中作为软件库实现.
  • Figaro ★ 461 ⧗ 0 -Figaro是一种概率编程语言,支持开发非常丰富的概率模型.
  • Libra ★ 142 -Libra是基于无形,尖顶和单例运算的尺寸分析库. 它包含对所有数字类型的SI单位的开箱即用支持.
  • LoMRF ★ 55 -Scala中的Markov Logic Networks的开源实现
  • MGO ★ 37 ⧗ 55 -增强不变性的模块化多目标进化算法优化库.
  • MLLib -Spark的机器学习框架
  • ND4S ★ 201 ⧗ 0 -具有类似于Numpy的API的Scala的N维数组和线性代数. ND4S是一个scala包装器 ND4J.
  • Numsca ★ 8 ⧗ 0 -Numsca是Scala的Numpy.
  • OpenMOLE ★ 65 ⧗ 5 -OpenMOLE(Open MOdeL实验)是一种工作流引擎,旨在利用分布式执行环境的计算能力进行自然并行处理.
  • Optimus * 96 Optimus是使用Scala编程语言编写的用于线性和二次数学优化的库.
  • OscaR -用于解决运营研究问题的Scala工具包
  • Persist-Units ★ 9 ⧗ 40 -在Scala中输入检查计量单位.
  • PredictionIO ★ 10105 ⧗ 0 -适用于开发人员和数据科学家的机器学习服务器. 基于Apache Spark,HBase和Spray构建
  • Rings ★ 3 ⧗ 0 -高效的多项式环库. 交换代数,多项式GCD,多项式因式分解和其他科学事物,速度非常快.
  • Saddle ★ 428 ⧗ 2 -熊猫到斯卡拉的极简港口
  • Smile -统计机器智能和学习引擎. Smile是一个快速而全面的机器学习系统.
  • Spark Notebook ★ 1896 ⧗ 0-可扩展且稳定的Scala和Spark专注于笔记本,弥合了JVM和数据科学家之间的鸿沟(包括可扩展,类型安全和响应式图表).
  • Spire ★ 1152 ⧗ 3-强大的Scala新数字类型和数字抽象.
  • Squants ★ 388 ⧗ 1 -用于数量,度量单位和维度分析的Scala API.
  • SwiftLearner ★ 20 ⧗ 5 -简单编写的算法可帮助学习机器学习或编写自己的实现.
  • Tensorflow_scala -用于Scala编程语言的TensorFlow API
  • Tyche ★ 89 ⧗ 17 -概率分布,随机和马尔可夫过程,晶格游动,简单随机抽样. 一个简单而强大的Scala库.
  • Zeppelin -Scala和Spark Notebook(例如IPython Notebook)

Big Data

Image processing and image analysis

Sound processing and music

Functional Reactive Programming

事件流,信号,可观察物等

  • fs2 ★ 1323 ⧗ 340-Scala的组合式流I / O库
  • Iteratee ★ 158 -猫的迭代器
  • Monix ★ 1432 ⧗ 164 -对Scala标准库的扩展,用于多线程基元和功能性反应式编程. 与Scala.js兼容.
  • Reactive Collections ★ 2 ⧗ 165 -一个库,它将事件流和信号与专门的集合(称为反应容器)结合在一起,并使用隔离和通道表示并发.
  • RxScala ★ 824 ⧗ 0-适用于Scala的Reactive Extensions –使用可观察的序列组成异步和基于事件的程序的库
  • REScala -REScala是一个用于在JVM和Web上进行功能性反应式编程的库. 它提供了丰富的API,用于事件流转换和信号合成,并具有可管理的一致最新状态和最小的语法开销.
  • Reactor-Scala-Extensions -的Scala扩展 Project Reactor
  • scala.frp ★ 22 ⧗ 101 -Scala的功能性反应式编程(事件流).
  • Scala.Rx ★ 898 ⧗ 4 -用于Scala中的功能性反应式编程的实验性库(反应性变量). 与Scala.js兼容.
  • Scalaz ZIO ★ 529 -类型安全,可组合的库,用于Scala中的异步和并发编程
  • SynapseGrid ★ 109 ⧗ 1 -用于构建反应式实时不变数据流系统的FRP框架. 它实现了基于Petri网络运行和组织事件驱动系统的原始方式. 拓扑可以视为.dot图. 该库与Akka兼容,可以与其他参与者无缝通信.
  • Vert.x -用于JVM的多语言反应性应用程序平台,旨在替代node.js. 它的并发模型类似于参与者. 它支持 Scala,Clojure,Java,Javascript,Ruby,Groovy和Python.

Modularization and Dependency Injection

应用程序模块化,依赖注入等

Distributed Systems

*用于编写分布式应用程序的库和框架.

  • Akka -用于构建高度并发,分布式和容错事件驱动的应用程序的工具包和运行时.
  • Akka-tracing ★ 252 ⧗ 2 -Akka的分布式跟踪扩展. 提供与Play框架,Spray和Akka HTTP的集成.
  • autobreaker ★ 6 ⧗ 93 -自动包装返回期货的类 Circuit Breaker.
  • Clump -一个用于表达和高效服务组合的库
  • CurioDB ★ 459 ⧗ 4 -使用Scala和Akka构建的分布式持久Redis克隆.
  • Finagle -可扩展的,与协议无关的RPC系统,旨在实现高性能和并发性.
  • Glokka ★ 46 ⧗ 148 -在Akka集群中按名称注册和查找参与者的库.
  • Lagom -用于创建基于微服务的系统的框架.
  • Reactors -分布式计算的基础框架,融合了功能性反应式编程和传统参与者.
  • Parapet -用于构建分布式和事件驱动系统的纯功能库

Extensions

*比例扩展.

Misc

不属于任何特定类别的项目.

Android

用于Android开发的scala库和包装器.

HTTP

用于HTTP客户端的scala库和包装器.

Semantic Web

*用于与Web of Data和其他RDF工具进行交互的Scala库.

Metrics and Monitoring

*用于收集指标和监视应用程序的标量库.

  • Kamon -从使用Akka,Spray和Play构建的应用程序中收集指标! 以及对用户指标的支持.
  • Metrics-Scala ★ 335 -Dropwizard的Metrics库的Scala API.

Parsing

*用于创建解析器的Scala库.

Sbt plugins

XML / HTML

  • XML和HTML生成和处理*

  • xs4s ★ 29 ⧗ 47 -用于Scala的XML流,用于处理大型(千兆字节及以上)XML文件.

Markdown

  • Laika ★ 161 -用于sbt和Scala应用程序的文本标记转换器,将Markdown和reStructuredText转换为HTML和PDF.

Learning Scala

学习Scala的好书,博客和其他资源

Community Members' Blogs

Company Blogs

Misc.

JavaScript

JavaScript generation and interop libraries.

Scheduling

Templating

Tools

Geospatial

帮助地理空间计算和人工制品的图书馆.

Devops

Resources

在哪里发现新的Scala库.

Podcasts

Contributing

永远欢迎您的贡献! 请提交拉取请求或创建问题以将新的框架,库或软件添加到列表中. 请勿提交过去6个月内未更新过的项目或不出色的项目.