Many projects and useful libraries for Scala have been developed by external contributors; this page lists some of these efforts. TheProjects page on theScala Wiki has further information about Scala-related projects hosted atGoogle Code,SourceForge and other network services.
Please note that we do not directly manage any of the projects listed on this page, nor specifically endorse them. To receive support, please refer to the corresponding project page.
- Slick
Slick is a modern database query and access library for Scala. It allows you to work with stored data almost as if you were using Scala collections while at the same time giving you full control over when a database access happens and which data is transferred.- Stefan Zeiger (Typesafe), Christopher Vogt (EPFL)
- lift Web Framework
lift (formerly Scala with Sails) is a web development framework. lift runs inside a Java web container and uses theScala programming language for coding. lift code is as clean and brief as Rails, yet performs 6 times faster and is multithreaded.- Team: David Pollak, Maciek, DavidD, SteveJ and Eric Torreborre. Source Repository:liftweb.
- Scalaz
Scalaz(Scar-lah-zed) is a library written in theScala Programming Language. The intention of Scalaz is to include general functions that are not currently available in the core Scala API. - Scala Migrations
Scala Migrations is a library to manage upgrades and rollbacks to database schemas. Migrations allow a source control system to manage together the database schema and the code using the schema. This project was developed and subsequently made open-source by Sony Imageworks. - Scala/xml
Scala/xml is a collection of XML tools forScala, e.g.schema2src is a data binding tool,xquery2src translates XQuery to Scala,xslt2src translates XSLT to Scala, etc.. - Specs2
Specs2 provides a BDD (Behavior-Driven-Design) framework for theScala language. - Jiva
Jiva is a Scala based Genetic Algorithms (GA) toolkit. It provides a robust set of GA components that can be used out-of-the-box to solve real problems. - Scalextric
Scalextric enables the use ofScala in multi-language applications, taking advantage of every framework strengths and libraries through web-services communication (e.g. XmlRpc). - Scales
Scales is an experiment in both DSL design and a component based web design. Its specific aims are to provide a DSL to create web pages and a minimal dependency injection framework to manage beans. - Soletta
Soletta is aScala implementation of the Paterson and Hinze’sFinger Trees. - Akka Actor Kernel
The Akka Actor Kernel is a RESTful Distributed Fault-tolerant Persistent Transactional Actors, and a successor to the Scala OTP library. - Scalala
Scalala is a high performance numeric linear algebra library for Scala, with rich Matlab-like operators on vectors and matrices; a library of numerical routines; support for plotting. Part of theScalaNLP effort. - Scalalab
The ScalaLab project aims to provide a fast, efficient and user friendly Matlab-like scientific programming environment for the Java Virtual Machine. The scripting language is based on the Scala programming language enhanced with high level scientific syntax. ScalaLab also supports a Computer Algebra system, and comes with an extensive set of Java and Scala libraries and toolboxes for diverse scientific applications. - Kiama
Kiama is a Scala library for language processing. It enables convenient analysis and transformation of structured data. The programming styles supported by the library are based on well-known formal language processing paradigms, including attribute grammars and tree rewriting. Kiama is a project of theProgramming Languages Research Group in theDepartment of Computing atMacquarie University. - O/R Broker
The O/R Broker project aims to provide a framework for JDBC access. It facilitates dynamic SQL, reusable ResultSet extractors, and enforces transactional control. - Graph for Scala
Graph is intended to provide basic graph functionality seamlessly fitting into the Scala Collection Library.- Team:scala-graph [at]arcor [dot] de (Peter Empen).
- Scala CnC
CnC-Scala is a Scala-based implementation of the Concurrent Collections programming model developed as part of the Habanero project at the Rice university.
- YourKit
YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products:
- JavaRebel
JavaRebel has donated a free license to the Scala community. More information onthis page of thelift website.
- maven-scala-plugin
Themaven-scala-plugin is used for compiling Scala code inMaven. - sbt: Simple Build Tool
sbt is a flexible and easy-to-use build tool for Scala: simple to use but quite powerful. Features dependency management support, documentation generation, jar packaging, compatibility with Maven directory layout, etc.
- ScalaCheck
ScalaCheck is a Scala implementation of theQuickCheck library for Haskell. It tries to keep the look and feel of QuickCheck as much as possible, while being open for improvements and extensions that can ease the task of property-based, randomized testing of Scala programs. - Rehersal
Rehersal is a testing framework forScala, intended as an easier-to-use replacement for SUnit in the standard library. - ScalaTest
ScalaTest is a free, open-source testing tool for Scala and Java programmers. It is written inScala, and enables you to write tests in Scala to test either Scala or Java code. It is released under the Apache 2.0 open source license. - Scala Specs
Specs is a Behaviour-Driven-Design framework that provides: a simple and typed language to create specifications; matchers to specify code properties; integration with JUnit, Scalacheck, and jMock2; a pattern-like matcher; possibilities to structure and compose specifications, and to reuse examples across specs; data tables to group several data examples at once.- Team: Eric Torreborre, David Bernard, Jorge Ortiz.