Many projects and useful libraries for Scala have been developed by external contributors; this page lists some of these efforts. The Projects page on the Scala Wiki has further information about Scala-related projects hosted at Google 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 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 the Scala 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 (Scar-lah-zed) is a library written in the Scala 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 is a collection of XML tools for Scala , e.g.
schema2src is a data binding tool,
xquery2src translates XQuery to Scala,
xslt2src translates XSLT to Scala, etc..
Specs2 provides a BDD (Behavior-Driven-Design) framework for the Scala language.
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 enables the use of Scala in multi-language applications, taking advantage of every framework strengths and libraries through web-services communication (e.g. XmlRpc).
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 is a Scala implementation of the Paterson and Hinze’s Finger 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 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 the ScalaNLP effort.
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 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 the Programming Languages Research Group in the Department of Computing at Macquarie 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 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 has donated a free license to the Scala community. More information on this page of the lift website .
maven-scala-plugin is used for compiling Scala code in Maven .
- 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 is a Scala implementation of the QuickCheck 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 is a testing framework for Scala , intended as an easier-to-use replacement for SUnit in the standard library.
ScalaTest is a free, open-source testing tool for Scala and Java programmers. It is written in Scala , 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.