-
Notifications
You must be signed in to change notification settings - Fork 534
Built with shapeless
The following is an incomplete listing of libraries, applications, companies and projects which use shapeless in some form or another.
If your project isn't included in this list and you would like to add it, or if you would like to add additional information, please do.
Thanks to Alex Zhitnitsky (@tkfxin) of Takipi for contributing some of the data.
Akka Stream Extensions provides full type-safe & compile-time Akka-Stream graph building with multiple dispatch/route/merge based on types & Shapeless coproducts.
Anorm is a simple data access layer that uses plain SQL to interact with the database and provides an API to parse and transform the resulting datasets.
argonaut-shapeless provides automatic codec generation for Argonaut.
Avro4s is a schema generator and serialization / deserialization library for use with Apache Avro.
Axle is a domain specific language for scientific cloud computing and visualization.
banana-rdf is a library for RDF, SPARQL and Linked Data technologies in Scala.
Bamboomigrate is a Scala library that aids to transform types into other types (for instance case classes), purely at compile time.
big-data-types is a library to transform types and case classes into database types and schemas for big data tools like BigQuery or Spark
Billy is a framework for testing local visual descriptors, eg SIFT, SURF, and BRIEF. It is similar to VLBenchmarks except it is written in Scala, plays well with OpenCV, and can run seamlessly on a desktop or a cluster.
bitcoin-lib is a simple bitcoin library written in Scala.
Bond provides a mechanism to express validation constraints by using the type system.
case-app provides type-level & seamless command-line argument parsing for Scala.
chimney is a Scala library for boilerplate-free data transformations
computation-expressions are an alternative for Scala for-comprehensions.
concatenative-lang is a simple concatentative language implemented using Shapeless.
cron4s is a cross-platform Scala CRON expression parser.
DeepLearning.scala is a DSL for creating complex neural networks.
delta computes type safe differences for Scala ADTs.
diff visually compares Scala data structures.
doobie is a pure functional JDBC layer for Scala.
Ensime is the ENhanced Scala Interaction Mode for text Editors (especially Emacs).
enum bridges the gap between Scala sealed traits and enumerations.
expressier is a type provider for regular expressions.
finagle-postgres is an asynchronous PostgreSQL client for Finagle.
Finch a scala idiomatic version of Finagle HTTP.
Frameless is a way of using Spark SQL without completely giving up types.
Framian is a library which aims to provide simple abstractions for working with typed, ordered series data (eg. time series), as well as heterogeneous data tables (similar to R's data frame).
Gremlin-Scala a slim wrapper to make Gremlin - a JVM graph traversal library - usable from Scala.
Henkan is a small library that provides generic and yet typesafe transformation between case classes and runtime data types
incompletes demonstrates an implementation of Shapeless-powered automatic derivation for "incomplete" type class instances.
itinere Strongly typed bidirectional router
kittens is a Scala library which provides instances of type classes from the Cats library for arbitrary algebraic data types using shapeless-based automatic type class derivation.
Molecule is a type safe and intuitive Scala query/modelling DSL for Datomic - the immutable database of facts.
Monocle is a Lens library, or more generally an Optics library where Optics gather the concepts of Lens, Traversal, Optional, Prism and Iso. Monocle is strongly inspired by Haskell Lens.
msgpack4z provides codecs for MessagePack.
ndim-rtree is an N-Dimensional Generic R-Tree leveraging Shapeless and Spire.
noschema seamlessly integrates NoSQL schema composition & evolution into data pipeline.
octopus provides boilerplate-free derivations for validation typeclasses
Op-Rabbit is an opinionated RabbitMQ library for Scala and Akka.
parboiled2 is a macro-based PEG parser generator for Scala 2.10+.
patchless provides a data type and typeclass for representing updates to case classes, and parsing them from JSON.
phantom is the Scala driver for Apache Cassandra/Datastax Enterprise.
picopickle is a simple yet extensible shapeless-based serialization library.
play-json-derived-codecs provides derivation of JSON codecs for algebraic data types.
play-products provides a more convenient syntax to work with cartesian structures.
PureCSV is a Scala library for working with the CSV format. The library gets rid of most of the boilerplate required to work with CSV.
PureConfig is a Scala library for loading configurations. The library works by generating the boilerplate required to load Scala types from the configuration files.
reactivemongo-derived-codecs provides derivation of BSON codecs for algebraic data types.
refined is a Scala library for refining types with type-level predicates which constrain the set of values described by the refined type. It started as a port of the refined Haskell library.
reftree aims to provide visualizations for common functional data structures used in Scala. The visualizations are generated automatically from code, which allows to use them in an interactive fashion.
scala-cass is a wrapper for the Java Cassandra driver that allows extraction from a Row with Scala types, or directly into a case class. Also has utility functions for the Session to read/write to Cassandra directly to/from a case class.
scalacheck-shapeless automates the generation of arbitrary case classes/ADTs with scalacheck and shapeless.
scalaz-transfigure A library for generically composing/lifting operations in a stack of monadic contexts.
Scaledn is a Scala EDN parser/serializer/validator.
Scalist is Todoist API client library for Scala.
Scanamo makes communicating with DynamoDB from Scala simpler, safer and more idiomatic.
scodec is a suite of Scala libraries for working with binary data.
scrupal is a reactive content management system currently in development.
Shameless is an experiment studying type-dependent structures in category theory (functor, applicative, monoid) & provides a type-dependent FingerTree that could be used to improve compile-time heterogenous lists.
shapeless-contrib provides automatic derivation of type class instances for Spire, ScalaCheck and Scalaz.
shapeless-feat is a port of testing-feat from Haskell to Scala. It allows fast enumeration of algebraic data types.
shapeless-refined-std enriches the standard library, collections mostly, using the typelevel collections: tuples, shapeless' HList and Sized.
shapeless-rules providing Shapeless validation rules for Julien Tournay's Generic validation API.
slickless enables HList
to be used as a row representation in a Slick Table
.
spark-columnar is a proof of concept project that uses Shapeless to optimize the in-memory data layout for RDDs in Spark.
specs2 is a library for writing executable software specifications in Scala.
spray is an open-source toolkit for building REST/HTTP-based integration layers on top of Scala and Akka.
sqltyped converts SQL string literals into typed functions at compile time.
swakka Provides a Swagger/OpenApi case class model from which it can derive akka-http Routes and Swagger JSON.
tabulate is a Scala CSV parsing / serialisation library with a heavy emphasis on correctness and type safety.
utils-open validation A library of standard validation functions and tools to compose them for single and multiple values.
xenomorph A library for creating schema describing your data types which can be interpreted to parsers, serializers, generators, and more.
zipper An implementation of Huet’s Zipper that is intended to be usable in many common scenarios.
- Acorns
- Barclays
- Comcast
- Commonwealth Bank of Australia
- Connecterra
- Galeria Kaufhof GmbH
- HomeBay
- iHeartRadio
- Intel
- MFG Labs
- Mister Bell
- Morgan Stanley
- Outworkers
- QIWI
- Scotiabank
- Simple
- Teads
- Toptal
- Underscore consulting
- Verizon
- X.AI
- Zengularity