Scala HTTP

Open-source Scala projects categorized as HTTP

Top 23 Scala HTTP Projects

  • Finagle

    A fault tolerant, protocol-agnostic RPC system

    Project mention: We switched from Scala 2 to Rust | reddit.com/r/scala | 2023-03-23

    So biased. Twitter dropping Scala3 is simply untrue, ticket is there and still is open https://github.com/twitter/finagle/issues/932

  • SynapseML

    Simple and Distributed Machine Learning

    Project mention: Data science in Scala | reddit.com/r/scala | 2022-11-05

    b) There are libraries around e.g. Microsoft SynapseML, LinkedIn Photon ML

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • Spray

    A suite of scala libraries for building and consuming RESTful web services on top of Akka: lightweight, asynchronous, non-blocking, actor-based, testable

  • Http4s

    A minimal, idiomatic Scala interface for HTTP

    Project mention: Server Stack Options for Scala | reddit.com/r/scala | 2023-02-13

    If you want a mature REST API library, I recommend http4s. Be aware, though, that it’s based on purely-functional programming with Cats, cats-effect, and fs2, so if you’re not familiar with them or aren’t prepared to commit to the paradigm, the learning curve may be daunting, seem pointless, or both.

  • Finatra

    Fast, testable, Scala services built on TwitterServer and Finagle

  • Elastic4s

    Elasticsearch Scala Client - Reactive, Non Blocking, Type Safe, HTTP Client

    Project mention: How to decouple logic from Scala future? | reddit.com/r/scala | 2022-12-14

    Here's an example from a library I've used: https://github.com/sksamuel/elastic4s/blob/master/elastic4s-core/src/main/scala/com/sksamuel/elastic4s/Executor.scala. Then you can provide your own Executor implementation and it will be used instead of the FutureExecutor. You can check out the top level of that repo to see how much complexity this introduces.

  • Finch.io

    Scala combinator library for building Finagle HTTP services (by finagle)

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • sttp

    The Scala HTTP client you always wanted!

    Project mention: Scala Toolkit makes Scala powerful straight out of the box | reddit.com/r/scala | 2022-11-10
  • Akka HTTP

    The Streaming-first HTTP server/module of Akka

    Project mention: http4s as a replacement for akka-http? | reddit.com/r/scala | 2022-09-15

    whats problem with akka-http? it seems to be still maintained - https://github.com/akka/akka-http/releases

  • tapir

    Declarative, type-safe web endpoints library

    Project mention: what library/framework should I use for backend development? | reddit.com/r/scala | 2023-02-21

    You're not confined to the usual suggestions below (play, http4s). There's a ton of options. (I wrote test cases using a bunch of different frameworks a few years ago at https://github.com/hohonuuli/msdemos). Having written services using a variety of frameworks in production, I would strongly suggest using one that auto-generates API docs (openapi, swagger) for you. That will save you a huge amount of time later on. For heavier services, like the one at https://fathomnet.org/, I tend to the Java side (Quarkus is my current top choice, but Micronaut and Helidon are both great). For everything else I use Scala. My go-to right now is tapir using a vertx backend. See https://tapir.softwaremill.com/

  • requests-scala

    A Scala port of the popular Python Requests HTTP client: flexible, intuitive, and straightforward to use.

    Project mention: Scala Toolkit makes Scala powerful straight out of the box | reddit.com/r/scala | 2022-11-10

    Another thing that caught my attention is the choice for HTTP client. If the authors wanted to go with the simplest thing, they could have picked requests-scala (from the com-lihaoyi family of libraries). If they wanted to go with full blown Scala FP, they could have chosen http4s client (Ember). Sttp awkwardly sits in the middle being neither.

  • zio-http

    A scala library to write Http apps.

    Project mention: What is scala's modern Web API framework? | reddit.com/r/scala | 2023-03-07
  • cask

    Cask: a Scala HTTP micro-framework (by lihaoyi)

    Project mention: Replacing Play+Akka with another tech-stack in Scala | reddit.com/r/scala | 2022-09-15

    Wonder if anyone uses: https://github.com/com-lihaoyi/cask

  • Dispatch

    Scala wrapper for the Java AsyncHttpClient.

  • Scalaxb

    scalaxb is an XML data binding tool for Scala.

  • smithy4s

    https://disneystreaming.github.io/smithy4s/

    Project mention: Scala DevInTraining looking to contribute to projects | reddit.com/r/scala | 2023-01-15
  • cornichon

    Scala DSL for testing HTTP JSON API

  • featherbed

    Asynchronous Scala HTTP client using Finagle, Shapeless and Cats

  • RösHTTP

    Unified Scala.js + Scala HTTP client API

  • spark-clickhouse-connector

    Spark ClickHouse Connector build on DataSourceV2 API

    Project mention: SQL should be your default choice for data engineering pipelines | news.ycombinator.com | 2023-01-30

    Agree with the OP that SQL will almost assuredly still be in use for 20+ years in the future, given the simplicity and flexibility of the declarative language, standardization, and as applicable to today as it was then to our big data problems.

    Any discussion of SQL at scale must include ClickHouse [https://clickhouse.com/docs/en/install#self-managed-install], given it's broad open-source use, integrations available for Spark with JDBC [https://github.com/ClickHouse/clickhouse-jdbc/] or the open-source Spark-ClickHouse Connector [https://github.com/housepower/spark-clickhouse-connector], and capability to scale SQL as a network service.

    Disclosure: I work for ClickHouse

  • Fintrospect

    Implement fast, type-safe HTTP webservices for Finagle

  • lolhttp

    An HTTP Server and Client library for Scala.

  • akka-http-metrics

    Easily collect and expose metrics in your akka-http server

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-03-23.

Scala HTTP related posts

Index

What are some of the best open-source HTTP projects in Scala? This list will help you:

Project Stars
1 Finagle 8,504
2 SynapseML 3,954
3 Spray 2,525
4 Http4s 2,394
5 Finatra 2,234
6 Elastic4s 1,619
7 Finch.io 1,589
8 sttp 1,345
9 Akka HTTP 1,317
10 tapir 1,185
11 requests-scala 674
12 zio-http 616
13 cask 438
14 Dispatch 430
15 Scalaxb 327
16 smithy4s 245
17 cornichon 222
18 featherbed 137
19 RösHTTP 125
20 spark-clickhouse-connector 113
21 Fintrospect 93
22 lolhttp 93
23 akka-http-metrics 62
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com