Open Source Scala Software

Scala Software

Scala Clear Filters

Browse free open source Scala Software and projects below. Use the toggles on the left to filter open source Scala Software by OS, license, language, programming language, and project status.

  • Ship Agents Faster Icon
    Ship Agents Faster

    Transform your applications and workflows into powerful agentic systems at global scale.

    Gemini Enterprise Agent Platform lets you rapidly build, scale, govern and optimize production-ready agents grounded in your organization's data. The platform enables developers to build custom or pre-built agents for virtually any use case. New customers get $300 in free credits.
    Get Started Free
  • Go from Code to Production URL in Seconds Icon
    Go from Code to Production URL in Seconds

    Cloud Run deploys apps in any language instantly. Scales to zero. Pay only when code runs.

    Skip the Kubernetes configs. Cloud Run handles HTTPS, scaling, and infrastructure automatically. Two million requests free per month.
    Try it free
  • 1
    lichess.org

    lichess.org

    The forever free, ad-free and open source chess server

    lichess.org (also known as Lila - lichess in Scala) is a free and open source chess server written in Scala 2.13 that focuses on real time gameplay and ease of use. It’s where countless chess players and chess enthusiasts can gather and watch or play from a selection of over a million games every day, analyze games, learn and improve their playing. lichess is equipped with a search engine, computer analysis, tournaments, exhibitions, a mobile app, a shared analysis board, and so much more. Thanks to its large active community, the UI is available in more than 130 different languages. lichess is one of the most popular chess websites in the world and remains totally free and ad-free. Visit https://lichess.org today to know more and see what it’s about!
    Downloads: 18 This Week
    Last Update:
    See Project
  • 2
    Sangria

    Sangria

    Scala GraphQL implementation

    Sangria is a Scala GraphQL implementation. It is an example of GraphQL server written with Play framework and Sangria. It also serves as a playground, where you can interactively execute GraphQL queries and play with some examples. If you want to use sangria with a react-relay framework, then you also may be interested in sangria-relay. Sangria is a spec-compliant GraphQL implementation, so it works out of the box with Apollo, Relay, GraphiQL and other GraphQL tools and libraries. Since GraphQL has a type system, the server defines a schema that the client can query using the introspection API. This provides the client with a set of possibilities. After the client got this information and decided which parts of the data it needs, it is able to describe its data requirements in form of a GraphQL query. An important aspect of GraphQL is that it’s completely backend agnostic.
    Downloads: 16 This Week
    Last Update:
    See Project
  • 3
    Dotty

    Dotty

    The scala 3 compiler, also known as Dotty

    The exciting new version of Scala 3 brings many improvements and new features. Scala 3 is a complete overhaul of the Scala language. At its core, many aspects of the type-system have been changed to be more principled. While this also brings exciting new features along (like union types), first and foremost, it means that the type-system gets (even) less in your way and for instance type-inference and overload resolution are much improved. One underlying core concept of Scala was (and still is to some degree) to provide users with a small set of powerful features that can be combined to great (and sometimes even unforeseen) expressivity. For example, the feature of implicits has been used to model contextual abstraction, to express type-level computation, model type-classes, perform implicit coercions, encode extension methods, and many more. Learning from these use cases, Scala 3 takes a slightly different approach and focuses on intent rather than mechanism.
    Downloads: 15 This Week
    Last Update:
    See Project
  • 4
    Apache Spark

    Apache Spark

    A unified analytics engine for large-scale data processing

    Apache Spark is a unified engine for large-scale data processing, offering APIs for batch jobs, streaming, machine learning, and graph computation. It builds on resilient distributed datasets (RDDs) and the newer DataFrame/Dataset abstractions to provide fault-tolerant, in-memory computation across clusters. Spark’s execution engine handles scheduling, shuffles, caching, and data locality so users can focus on transformations rather than infrastructure plumbing. With Spark Streaming (microbatches) and Structured Streaming, it delivers low-latency event processing suitable for real-time analytics. The built-in MLlib library provides scalable machine learning algorithms, while GraphX enables graph computations integrated with data pipelines. Spark supports multiple languages—Scala, Java, Python, R—and connects with many storage systems like HDFS, S3, Cassandra, and streaming platforms like Kafka, making it a versatile choice for big data workloads in analytics, ETL, and data science.
    Downloads: 14 This Week
    Last Update:
    See Project
  • Train ML Models With SQL You Already Know Icon
    Train ML Models With SQL You Already Know

    BigQuery automates data prep, analysis, and predictions with built-in AI assistance.

    Build and deploy ML models using familiar SQL. Automate data prep with built-in Gemini. Query 1 TB and store 10 GB free monthly.
    Try Free
  • 5
    Scala 3

    Scala 3

    The Scala 3 compiler, also known as Dotty

    Scala 3 is the latest major release of the Scala language—featuring a complete compiler rewrite (Dotty), new syntax with optional braces and given/using contextual abstractions, union/intersection types, opaque types, first-class enums, and better type inference. It unifies object-oriented and functional programming paradigms into a safer, more expressive language running on the JVM with full Java interoperability.
    Downloads: 13 This Week
    Last Update:
    See Project
  • 6
    Scala Steward

    Scala Steward

    A bot that helps you keep your projects up-to-date

    Scala Steward is an automated tool that helps to keep Scala libraries and plugins up to date by checking for dependency updates and sending pull requests.
    Downloads: 13 This Week
    Last Update:
    See Project
  • 7
    ShadowsocksR, V2Ray Client Android

    ShadowsocksR, V2Ray Client Android

    A simple client for Android

    A fully featured ShadowsocksR, V2Ray and Trojan client for Android, written in Scala. If you use x64 linux like Archlinux x86_64, or your Linux has new version ncurses lib, you may need install the 32bit version ncurses and link it as follow (make sure all these *.so files in the right location under your system, otherwise you have to copy them to /usr/lib/ and /usr/lib32/ directory).
    Downloads: 13 This Week
    Last Update:
    See Project
  • 8
    Akka

    Akka

    Build concurrent, distributed, and resilient message-driven apps

    Build powerful reactive, concurrent, and distributed applications more easily. Akka is a toolkit for building highly concurrent, distributed, and resilient message-driven applications for Java and Scala. Actors and Streams let you build systems that scale up, using the resources of a server more efficiently, and out, using multiple servers. Building on the principles of The Reactive Manifesto Akka allows you to write systems that self-heal and stay responsive in the face of failures. Up to 50 million msg/sec on a single machine. Small memory footprint; ~2.5 million actors per GB of heap. Distributed systems without single points of failure. Load balancing and adaptive routing across nodes. Event Sourcing and CQRS with Cluster Sharding. Distributed Data for eventual consistency using CRDTs. Asynchronous non-blocking stream processing with backpressure.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 9
    Coursier

    Coursier

    Pure Scala Artifact Fetching

    Coursier is the Scala application and artifact manager. It can install Scala applications and setup your Scala development environment. It can also download and cache artifacts from the web.
    Downloads: 10 This Week
    Last Update:
    See Project
  • Error to trace to log to deploy. One click. No SSH. Icon
    Error to trace to log to deploy. One click. No SSH.

    Catch the cause before the pager goes off.

    AppSignal links every error to the trace, the trace to the log, the log to the deploy that shipped it.
    Free 30 days.
  • 10
    Scala.js

    Scala.js

    Scala.js, the Scala to JavaScript compiler

    Strong typing guarantees your code is free of silly mistakes; no more mixing up strings or numbers, forgetting what keys an object has, or worrying about typos in your method names. Scala.js takes care of all this tedious book-keeping for you, letting you focus on the actual, more interesting problem your application is trying to solve. Scala.js optimizes your Scala code into highly efficient JavaScript. Incremental compilation guarantees speedy (1-2s) turn-around times when your code changes. The generated JavaScript is both fast and small, starting from 45kB gzipped for a full application. Scala.js loves JavaScript libraries, including React and AngularJS. You can use any JavaScript library right from your Scala.js code, either in a statically or dynamically typed way. You won't even notice you're crossing a language border!
    Downloads: 10 This Week
    Last Update:
    See Project
  • 11
    Airframe

    Airframe

    Essential Building Blocks for Scala

    Airframe is an essential building block for developing applications in Scala, including logging, object serialization using JSON or MessagePack, dependency injection, HTTP server/client with RPC support, functional testing with AirSpec, etc. Airframe RPC supports seamless integration of servers and clients using Scala as RPC interfaces. AirSpec is a simple unit testing framework for Scala and Scala.js. You can use public methods in your classes as test cases. There is no need to remember complex DSLs for writing tests in Scala. Retrying HTTP requests for API calls is an essential technique for connecting microservices. airframe-control will provide essential tools for making your requests reliable with exponential backoff retry, jitter, circuit-breaker, rate control, etc. airframe-fluentd supports logging your metrics to fluentd in a type-safe manner. You just need to send your case classes as metrics for fluentd.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 12
    ElasticMQ

    ElasticMQ

    In-memory message queue with an Amazon SQS-compatible interface

    ElasticMQ is a lightweight, fully asynchronous, in-memory message queue implementation written in Scala / Akka. It provides a feature-compatible Amazon SQS REST API interface for testing, local development, or embedded usage. It can persist queues or run purely in-memory and also supports Docker deployment and a web UI.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 13
    Kamon Telemetry

    Kamon Telemetry

    Distributed Tracing, Metrics and Context Propagation for applications

    Kamon Telemetry is a set of libraries for instrumenting applications running on the JVM. With Kamon Telemetry you can collect metrics, propagate context across threads and services, and get distributed traces automatically. The best way to get started is by following our installation guides and taking it from there. Have fun with Kamon. Monitor your backend applications, fix performance issues, and get alerted when problems happen. All without being a monitoring expert. Everybody starts monitoring with logs because they are there by default. Just connect to your server and start tailing. But logs have a hard time showing you the overall response times for your application, or whether certain calls to the database are happening in sequence or parallel (among a million other things).
    Downloads: 9 This Week
    Last Update:
    See Project
  • 14
    OpenComputers

    OpenComputers

    Home of the OpenComputers mod for Minecraft

    OpenComputers is a Minecraft mod that adds programmable computers and robots to the game. The built-in computer implementation uses Lua 5.2 and is fully persistent. This means programs will continue running across reloads. OpenComputers is a mod that adds computers and robots into the game, which can be programmed in Lua 5.3. It takes ideas from a couple of other mods such as ComputerCraft, StevesCarts and Modular Powersuits to create something new and interesting.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 15
    scalafmt

    scalafmt

    Code formatter for Scala

    The Scala plugin compatible with recent versions of IntelliJ IDEA has built-in support for Scalafmt. Spend more time discussing important issues in code review and less time on code style. Scalafmt formats code so that it looks consistent between people on your team. Run scalafmt from your editor, build tool or terminal. Scalafmt has integrations with IntelliJ, sbt, Maven, Gradle and Mill. Choose the scalafmt formatter and IntelliJ's Reformat Code action will then use Scalafmt when formatting files. Scalafmt is primarily designed to operate on entire text files—formatting selected ranges of code may produce undesirable results. For this reason, IntelliJ uses its own formatter for ranges by default. It is not recommended to change this, and is instead recommended to format files when saving.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 16
    Caliban

    Caliban

    Functional GraphQL library for Scala

    Caliban is a purely functional library for building GraphQL servers and clients in Scala. The design principles behind the library are the following. Minimal amount of boilerplate: no need to manually define a schema for every type in your API. Pure interface: errors and effects are returned explicitly (no exceptions thrown), all returned types are referentially transparent (no Future). Clean separation between schema definition and implementation: schema is defined and validated at compile time using Scala standard types, resolver (RootResolver) is a simple value provided at runtime. All interfaces are pure and types are referentially transparent. Schemas are type safe and derived at compile time. No need to manually define a schema for every type in your API. Let the compiler do the boring work. Out-of-the-box support for major HTTP server libraries, effect types, Json libraries and more.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 17
    SpinalHDL

    SpinalHDL

    Scala based HDL

    SpinalHDL is a hardware description (HDL) framework embedded in Scala, enabling hardware designers to build digital circuits with modern programming abstractions. Instead of writing in Verilog or VHDL directly, users describe hardware components and their interconnects using Scala code and Spinal’s domain-specific library, which then emits synthesizable hardware (e.g. as Verilog). Because SpinalHDL is embedded in Scala, it allows reuse of functional abstractions, parameterization, modular composition, and higher-level constructs to manage complexity. It supports building systems at various levels—single modules, pipelines, memories, controllers, etc.—while letting the designer control timing, pipelining, and resource sharing explicitly. The generated hardware can be synthesized for FPGAs or ASIC flows, making it practical for real designs.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 18
    almond

    almond

    A Scala kernel for Jupyter

    Almond already supports code navigation in dependencies via meta browse, paving the way for more IDE-like features and closer integration with the Scalameta ecosystem. Ammonite is a modern and user-friendly Scala shell. Almond wraps it in a Jupyter kernel, giving you all its features and niceties, including customizable pretty-printing, magic imports, advanced dependency handling, and its API, right from Jupyter. This also makes it easy to copy some code from notebooks to Ammonite scripts, and vice versa. Almond exposes APIs to interact with Jupyter front-ends. Call them from notebooks… or from your own libraries. Several plotting libraries are already available to plot things from notebooks, such as plotly-scala or Vegas. Load the Spark version of your choice, create a Spark session, and start using it from your notebooks.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 19
    circe

    circe

    Yet another JSON library for Scala

    circe is a JSON library for Scala (and Scala.js).
    Downloads: 8 This Week
    Last Update:
    See Project
  • 20
    s3_website

    s3_website

    Manage an S3 website: sync, deliver via CloudFront

    s3_website is a Ruby gem that automates the deployment of static websites to AWS S3 and optionally CloudFront. It handles site configuration, uploads, cache control, gzip compression, redirects, and supports Jekyll, Nanoc, and Middleman out of the box. Ideal for static site hosting without manual AWS setup.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 21
    Akka HTTP

    Akka HTTP

    The Streaming-first HTTP server/module of Akka

    The Akka HTTP modules implement a full server- and client-side HTTP stack on top of akka-actor and akka-stream. It’s not a web framework but rather a more general toolkit for providing and consuming HTTP-based services. While interaction with a browser is of course also in scope it is not the primary focus of Akka HTTP. Akka HTTP follows a rather open design and many times offers several different API levels for “doing the same thing”. You get to pick the API level of abstraction that is most suitable for your application. This means that, if you have trouble achieving something using a high-level API, there’s a good chance that you can get it done with a low-level API, which offers more flexibility but might require you to write more application code. Akka HTTP has been driven with a clear focus on providing tools for building integration layers rather than application cores. As such it regards itself as a suite of libraries rather than a framework.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 22
    Alpakka Kafka

    Alpakka Kafka

    Alpakka is a Reactive Enterprise Integration library for Java

    The Alpakka project is an open source initiative to implement stream-aware and reactive integration pipelines for Java and Scala. It is built on top of Akka Streams and has been designed from the ground up to understand streaming natively and provide a DSL for reactive and stream-oriented programming, with built-in support for backpressure. Akka Streams is a Reactive Stream and JDK 9+ java.util.concurrent.Flow-compliant implementation and therefore fully interoperable with other implementations. As Kafka’s client protocol negotiates the version to use with the Kafka broker, you may use a Kafka client version that is different than the Kafka broker’s version.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 23
    Ammonite

    Ammonite

    Scala Scripting

    Ammonite is a modern Scala REPL and scripting tool designed to give Scala users a more interactive and flexible REPL experience and to free them from heavyweight project boilerplate. It provides syntax‐highlighting, multiline editing, auto‐completion, and dynamic importing of dependencies (using a magic import syntax like import $ivy…). Instead of having to set up an sbt project for many small tasks, one can write Scala scripts (with .sc extension) and run them directly, with Ammonite handling compilation and execution transparently. In the REPL, Ammonite can survive compiler errors (by restarting the compiler internally) and preserve session state, improving resilience compared to the default Scala REPL. It also integrates filesystem utilities and command-line abstractions (via Ammonite-Ops) so that common shell tasks become more Scala-native.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 24
    Apache Kyuubi

    Apache Kyuubi

    Apache Kyuubi is a distributed and multi-tenant gateway

    Apache Kyuubi™ is a distributed and multi-tenant gateway to provide serverless SQL on data warehouses and lakehouses. Kyuubi provides a pure SQL gateway through Thrift JDBC/ODBC interface for end-users to manipulate large-scale data with pre-programmed and extensible Spark SQL engines. This "out-of-the-box" model minimizes the barriers and costs for end-users to use Spark at the client side. At the server-side, Kyuubi server and engines' multi-tenant architecture provides the administrators a way to achieve computing resource isolation, data security, high availability, high client concurrency, etc.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 25
    BFG Repo-Cleaner

    BFG Repo-Cleaner

    Remove large or troublesome blobs

    The BFG is a simpler, faster alternative to git-filter-branch for cleansing bad data out of your Git repository history. You can use it for removing crazy big files, and for removing passwords, credentials and other private data. The git-filter-branch command is enormously powerful and can do things that the BFG can't, but the BFG is much better for the tasks above, because is faster and simpler. The BFG isn't particularily clever, but is focused on making the above tasks easy. If you need to, you can use the beautiful Scala language to customize the BFG. Which has got to be better than Bash scripting at least some of the time. The BFG will update your commits and all branches and tags so they are clean, but it doesn't physically delete the unwanted stuff. Examine the repo to make sure your history has been updated, and then use the standard git gc command to strip out the unwanted dirty data.
    Downloads: 7 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next