frameless VS Lantern

Compare frameless vs Lantern and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
frameless Lantern
9 1
869 165
-0.1% -
8.1 0.0
7 days ago about 3 years ago
Scala Cuda
Apache License 2.0 BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

frameless

Posts with mentions or reviews of frameless. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-22.
  • for comprehension and some questions
    3 projects | /r/scala | 22 Jan 2023
    I don't see how Spark is any "less controversial" when the Spark Delay instance for cats-effect takes an entire SparkSession implicitly.
  • Why use Spark at all?
    2 projects | /r/dataengineering | 19 Oct 2022
    To add to this I lately have used Spark with frameless for compile time safety and it's an interesting library that works well with Spark.
  • Guide for Apache Spark Setup, Job Optimisation, AWS EMR Cluster Configuration, S3, YARN and HDFS Optimisation
    1 project | /r/apachespark | 10 Apr 2021
    For type safety with dataframes, techniques like https://github.com/typelevel/frameless can be used.
  • Spark scala v/s pyspark
    1 project | /r/dataengineering | 24 Feb 2021
    The preferred way to write Spark programs is to use DataFrame API which is untyped and is essentially the same in Scala, C# and Python. It's a DSL that's used to describe AST of the computation and the end result is the same regardless of language. There's a library called Frameless (https://github.com/typelevel/frameless) that implements typed DataFrame API but it is not in wide use, it looked dead for quite some time (though now development seems to continue) and didn't play nice with IntelliJ IDEA last time I checked. Performance-wise there's no difference most of the time (since all the program does is create an AST) except when using UDFs - Python UDFs are significantly slower and you can't write "proper" UDFs in Python - ones that generate Java code.
  • Does anyone here (intentionally) use Scala without an effects library such as Cats or ZIO? Or without going "full Haskell"?
    5 projects | /r/scala | 8 Feb 2021
    Frameless is a nice way to grab some type safety back from Spark, and features opt-in Cats integration.
  • Making the Spark DataFrame composition type safe(r)
    4 projects | /r/apachespark | 4 Feb 2021
    Valid point! Have you seen the withColumnTupled API? It returns a typed tuple instead. This seems to satisfy your use case - the dataset preserves its type and doesn't require a new case class. This is kind of what you're suggesting but without case class generation. Though not sure whether attribute labels (names) are preserved in this case. It's also unclear whether this is good enough for wide tables.
  • Recommendations for specializing in Spark (Scala)
    3 projects | /r/scala | 22 Dec 2020
    I recommend using Frameless, which includes a Cats module. In general, I would encourage you to master “purely” functional programming first, because it’s foundational. Spark is a very specific technology, and probably not even the best in that class today—I would be very careful about trying to build a career around it.

Lantern

Posts with mentions or reviews of Lantern. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2020-12-22.
  • Recommendations for specializing in Spark (Scala)
    3 projects | /r/scala | 22 Dec 2020
    Yeah. The point here is that the machine learning algorithms in libraries like TensorFlow and PyTorch ultimately rely on differentiating functions. The idea behind "differentiable programming" is to make the central mathematical aspects of machine learning more first- or at least second-class citizens. So at the library level you find "autodifferentiation" in Haskell, an implementation as part of Rainier in Scala, autodiff in Rust, etc. More ambitiously, you have the Lantern system providing autodifferentiation-as-metaprogramming in Scala (but generating C++), another metaprogramming approach in Scala, and autodifferentiation as a language feature in Swift.

What are some alternatives?

When comparing frameless and Lantern you can also consider the following projects:

spark-excel - A Spark plugin for reading and writing Excel files

deequ - Deequ is a library built on top of Apache Spark for defining "unit tests for data", which measure data quality in large datasets.

azure-kusto-spark - Apache Spark Connector for Azure Kusto

bebe - Filling in the Spark function gaps across APIs

cats-effect - The pure asynchronous runtime for Scala

typeclassopedia - My tinkering to understand the typeclassopedia.

Laminar - Simple, expressive, and safe UI library for Scala.js

cats - Lightweight, modular, and extensible library for functional programming.

ocaps - Object capability (ocap) tools and macros for Scala.

Http4s - A minimal, idiomatic Scala interface for HTTP

Trino - Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)