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.

  • Full-stack observability with actually useful AI | Grafana Cloud Icon
    Full-stack observability with actually useful AI | Grafana Cloud

    Our generous forever free tier includes the full platform, including the AI Assistant, for 3 users with 10k metrics, 50GB logs, and 50GB traces.

    Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
    Create free account
  • Enterprise-grade ITSM, for every business Icon
    Enterprise-grade ITSM, for every business

    Give your IT, operations, and business teams the ability to deliver exceptional services—without the complexity.

    Freshservice is an intuitive, AI-powered platform that helps IT, operations, and business teams deliver exceptional service without the usual complexity. Automate repetitive tasks, resolve issues faster, and provide seamless support across the organization. From managing incidents and assets to driving smarter decisions, Freshservice makes it easy to stay efficient and scale with confidence.
    Try it Free
  • 1
    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: 50 This Week
    Last Update:
    See Project
  • 2
    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: 26 This Week
    Last Update:
    See Project
  • 3
    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: 13 This Week
    Last Update:
    See Project
  • 4
    tapir

    tapir

    Declarative, type-safe web endpoints library

    Declarative, type-safe web endpoints library. With tapir, you can describe HTTP API endpoints as immutable Scala values. Each endpoint can contain a number of input and output parameters. Compile-time guarantees, develop-time completions, read-time information. Separate the shape of the endpoint (the "what"), from the server logic (the "how"). Generate documentation from endpoint descriptions. Leverage the metadata to report rich metrics and tracing information. Re-use common endpoint definitions, as well as individual inputs/outputs. Library, not a framework, integrates with your stack. Is your company already using tapir? We're continually expanding the "adopters" section in the documentation; the more the merrier! It would be great to feature your company's logo, but in order to do that, we'll need to write permission to avoid any legal misunderstandings.
    Downloads: 10 This Week
    Last Update:
    See Project
  • Try Google Cloud Risk-Free With $300 in Credit Icon
    Try Google Cloud Risk-Free With $300 in Credit

    No hidden charges. No surprise bills. Cancel anytime.

    Use your credit across every product. Compute, storage, AI, analytics. When it runs out, 20+ products stay free. You only pay when you choose to.
    Start Free
  • 5
    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
  • 6
    Gatling

    Gatling

    Modern Load Testing as Code

    Gatling is a high-performance load testing tool built on the JVM that emphasizes realism, scalability, and developer ergonomics. Test scenarios are scripted in a concise Scala-based DSL, allowing you to model user journeys with think times, feeders (dynamic data), checks, and assertions all in code. Its asynchronous, non-blocking engine (backed by Netty) can drive very high concurrency from a single injector, reducing the need for large injector farms. Gatling supports HTTP out of the box as well as WebSocket, Server-Sent Events, and JMS, so you can exercise modern, real-time systems end to end. Rich HTML reports visualize percentiles, response time distributions, errors, and throughput, making bottlenecks and regressions easy to spot. With injection profiles (ramp, constant, spikes) and pass/fail gates, you can automate performance thresholds in CI and promote builds with confidence.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 7
    X's Recommendation Algorithm

    X's Recommendation Algorithm

    Source code for the X Recommendation Algorithm

    The Algorithm is Twitter’s open source release of the core ranking system that powers the platform’s home timeline. It provides transparency into how tweets are selected, prioritized, and surfaced to users, reflecting Twitter’s move toward openness in recommendation algorithms. The repository contains the recommendation pipeline, which incorporates signals such as engagement, relevance, and content features, and demonstrates how they combine to form ranked outputs. Written primarily in Scala, it shows the architecture of large-scale recommendation systems, including candidate sourcing, ranking, and heuristics. While certain components (such as safety layers, spam detection, or private data) are excluded, the release provides valuable insights into the design of real-world machine learning–driven ranking systems. The project is intended as a reference for researchers, developers, and the public to study, experiment with, and better understand the mechanisms behind social media content.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 8
    Waves Platform Node

    Waves Platform Node

    Host connected to the Waves blockchain network

    Waves Platform Node is a host connected to the Waves blockchain network. Waves is an open source blockchain platform that offers a full blockchain ecosystem for building decentralised applications. Nodes are its critical components, performing several important functions such as processing and validating transactions, and generating and storing blocks. Nodes store full blockchain data, pass this data to other nodes, and check the validity of newly added blocks. Validation ensures that the blocks are all in the correct format, all hashes are computed correctly, that the new block contains the hash of the previous one, and that every transaction is validated and signed by the right parties.
    Downloads: 6 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: 5 This Week
    Last Update:
    See Project
  • Earn up to 16% annual interest with Nexo. Icon
    Earn up to 16% annual interest with Nexo.

    Let your crypto work for you

    Put idle assets to work with competitive interest rates, borrow without selling, and trade with precision. All in one platform. Geographic restrictions, eligibility, and terms apply.
    Get started with Nexo.
  • 10
    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: 5 This Week
    Last Update:
    See Project
  • 11
    sttp client

    sttp client

    The Scala HTTP client you always wanted

    sttp client is an open-source library that provides a clean, programmer-friendly API to describe HTTP requests and how to handle responses. Requests are sent using one of the backends, which wrap other Scala or Java HTTP client implementations. The backends can integrate with a variety of Scala stacks, providing both synchronous and asynchronous, procedural and functional interfaces. Backend implementations include ones based on akka-http, http4s, OkHttp, and HTTP clients which ship with Java. They integrate with Akka, Monix, fs2, cats-effect, scalaz and ZIO. Supported Scala versions include 2.11, 2.12, 2.13 and 3, Scala.JS and Scala Native.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 12
    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: 4 This Week
    Last Update:
    See Project
  • 13
    CMAK

    CMAK

    A tool for managing Apache Kafka clusters

    CMAK (previously known as Kafka Manager) is a tool for managing Apache Kafka clusters. Easy inspection of cluster state (topics, consumers, offsets, brokers, replica distribution, partition distribution). Generate partition assignments with option to select brokers to use. Run reassignment of partition (based on generated assignments). Create a topic with optional topic configs (0.8.1.1 has different configs than 0.8.2+). Delete topic (only supported on 0.8.2+ and remember set delete.topic.enable=true in broker config). Topic list now indicates topics marked for deletion (only supported on 0.8.2+). Batch generate partition assignments for multiple topics with option to select brokers to use. Optionally enable JMX polling for broker level and topic level metrics. Optionally filter out consumers that do not have ids/ owners/ & offsets/ directories in zookeeper.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 14
    CoolplaySpark

    CoolplaySpark

    Spark Cool Play: Spark source code analysis, Spark class library, etc.

    CoolplaySpark is a learning and practice repository designed to help users understand and work with Apache Spark. It serves as a companion resource for the book 深入理解Spark核心思想与源码分析 (In-Depth Understanding of Spark’s Core Concepts and Source Code Analysis). The project contains annotated examples, explanations, and exercises that guide learners through Spark’s architecture, execution model, and source code internals. It is particularly valuable for developers who want to strengthen their understanding of Spark by not only using it as a data processing engine but also exploring how its internals function. Through code analysis and commentary, CoolplaySpark helps readers connect theoretical concepts with practical implementation details. By combining book study with this repository, learners can develop both conceptual clarity and hands-on expertise in Spark’s core components.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 15
    node2vec

    node2vec

    Learn continuous vector embeddings for nodes in a graph using biased R

    The node2vec project provides an implementation of the node2vec algorithm, a scalable feature learning method for networks. The algorithm is designed to learn continuous vector representations of nodes in a graph by simulating biased random walks and applying skip-gram models from natural language processing. These embeddings capture community structure as well as structural equivalence, enabling machine learning on graphs for tasks such as classification, clustering, and link prediction. The repository contains reference code accompanying the research paper node2vec: Scalable Feature Learning for Networks (KDD 2016). It allows researchers and practitioners to apply node2vec to various graph datasets and evaluate embedding quality on downstream tasks. By bridging ideas from graph theory and word embedding models, this project demonstrates how graph-based machine learning can be made efficient and flexible.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 16
    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: 3 This Week
    Last Update:
    See Project
  • 17
    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: 3 This Week
    Last Update:
    See Project
  • 18
    PredictionIO

    PredictionIO

    Machine learning server for building predictive applications

    Apache PredictionIO is an open-source machine learning server designed to simplify the process of building and deploying predictive engines. It offers a scalable infrastructure with support for multiple ML algorithms, event data collection, and deployment workflows. Developers can use templates or build custom engines, making it a flexible solution for integrating machine learning into applications.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 19
    doobie

    doobie

    Functional JDBC layer for Scala

    doobie is a pure functional JDBC layer for Scala and Cats. It is not an ORM, nor is it a relational algebra; it simply provides a functional way to construct programs (and higher-level libraries) that use JDBC. For common use cases doobie provides a minimal but expressive high-level API. doobie is a Typelevel project. This means we embrace pure, typeful, functional programming, and provide a safe and friendly environment for teaching, learning, and contributing as described in the Scala Code of Conduct. Note that doobie is pre-1.0 software and is still undergoing active development. New versions are not binary compatible with prior versions, although in most cases user code will be source compatible. Starting with the 0.5.x we’re trying to be a bit more careful about versioning. If you want to build and run the tests for yourself, you’ll need a local postgresql database.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 20
    sbt

    sbt

    sbt, the interactive build tool

    Define your tasks in Scala. Run them in parallel from sbt's interactive shell. sbt is built for Scala and Java projects. It is the build tool of choice for 93.6% of the Scala developers (2019). One of the examples of a Scala-specific feature is the ability to cross-build your project against multiple Scala versions. build.sbt is a Scala-based DSL to express parallel processing task graph. Typos in build.sbt will be caught as a compilation error. With Zinc incremental compiler and file watch (~), edit-compile-test loop is fast and incremental. Adding support for new tasks and platforms (like Scala.js) is as easy as writing build.sbt. Join 100+ community-maintained plugins to share and reuse sbt tasks. Continuous compilation and testing with triggered execution. Supports mixed Scala/Java projects. Supports testing with ScalaCheck, specs, and ScalaTest. JUnit is supported by a plugin. Starts the Scala REPL with project classes and dependencies on the classpath.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 21
    JobScheduler

    JobScheduler

    JobScheduler workload automation to execute jobs and workflows

    JS7 JobScheduler runs executables, scripts and database procedures and can be operated with e.g. MySQL, PostgreSQL, SQL Server, Oracle databases. JS7 JobScheduler provides workflow patterns such as sequential and parallel task execution, forking, synchronization, cross-platform scheduling, job load sharing, fail-over and a real REST API. JS7 includes the components: * JOC Cockpit (user interface for inventory management and control) * Controller (orchestration of Agents) * Agents: platform independent Agents for job execution Product Knowledge Base at https://kb.sos-berlin.com/display/JS7 Change Management System at https://change.sos-berlin.com Release Archive at: https://www.sos-berlin.com/jobscheduler-release-archive
    Downloads: 23 This Week
    Last Update:
    See Project
  • 22
    Downloads: 12 This Week
    Last Update:
    See Project
  • 23
    ArnoldC

    ArnoldC

    Arnold Schwarzenegger based programming language

    ArnoldC is a programming language built as a joke language, where the entire syntax is based on quotes from Arnold Schwarzenegger movies. Instead of conventional keywords and operators, it uses memorable movie lines to represent programming constructs like conditionals, loops, and functions. For example, “IT’S SHOWTIME” starts the main method, “TALK TO THE HAND” represents output, and “I’LL BE BACK” denotes a return statement. While humorous in nature, the language is fully functional and can be used to write real programs, showcasing how flexible compiler and interpreter design can be. The project is a playful experiment in esoteric programming languages, intended to entertain developers while also serving as an example of how language parsing and compilation can work with unconventional syntax. It demonstrates the overlap between pop culture and software development, turning famous lines into executable logic.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 24
    Deequ

    Deequ

    Deequ is a library built on top of Apache Spark

    Deequ is a library built atop Apache Spark that enables defining “unit tests for data” — that is, formal constraints or checks on datasets to ensure data quality along dimensions such as completeness, uniqueness, value ranges, correlations, etc. It can scale to large datasets (billions of rows) by translating those data checks into Spark jobs. Deequ supports advanced features like a metrics repository for storing computed statistics over time, anomaly detection of data quality metrics, and the suggestion of likely constraints automatically for new datasets. It also includes a little domain-specific language called DQDL (Data Quality Definition Language) which allows declarative specification of quality rules. Users typically run Deequ before feeding data downstream (to ML pipelines, analytics, or production systems), enabling early detection and isolation of data errors. There is also a Python wrapper, PyDeequ, for users who prefer working from Python environments.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 25
    Docspell

    Docspell

    Assist in organizing your piles of documents

    Docspell is a personal document organizer. Or sometimes called a "Document Management System" (DMS). You'll need a scanner to convert your papers into files. Docspell can then assist in organizing the resulting mess. It can unify your files from scanners, emails, and other sources. It is targeted for home use, i.e. families, households, and also for smaller groups/companies. You can associate tags, set correspondent,s and lots of other predefined and custom metadata. If your documents are associated with such metadata, you can quickly find them later using the search feature. However adding this manually is a tedious task. Docspell can help by suggesting correspondents, guessing tags or finding dates using machine learning. It can learn metadata from existing documents and find things using NLP. This makes adding metadata to your documents a lot easier. For machine learning, it relies on the free (GPL) Stanford Core NLP library.
    Downloads: 2 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next
MongoDB Logo MongoDB