Awesome Scala
A community driven list of useful Scala libraries, frameworks and software. This is not a catalog of all the libraries, just a starting point for your explorations. Inspired by awesome-python. Other amazingly awesome lists can be found in the awesome-awesomeness list.
Also awesome is Scaladex, the searchable, tagged, and centralized index of Scala libraries.
Projects with over 500 stargazers are in bold.
Contributing
Your contributions are always welcome! Please submit a pull request or create an issue to add a new framework, library or software to the list. Do not submit a project that hasn’t been updated in the past 6 months or is not awesome.
Don't modify README.md
in your pull request. It is automatically generated. Modify template.md
instead.
Table of Contents
- Learning Scala
- Projects
- Android
- Archive and Compression
- Artificial Intelligence
- Authentication
- Authorization
- Big Data
- Command Line Interfaces
- Cryptography
- CSV
- Data Binding and Validation
- Database
- DevOps
- Distributed Systems
- Extensions
- Functional Reactive Programming
- Geospatial
- Graphical User Interfaces
- HTTP
- i18n
- Image processing and image analysis
- JavaScript
- JSON
- Markdown
- Metrics and Monitoring
- Misc
- Modularization and Dependency Injection
- Parsing
- Reactive Web Frameworks
- Sbt plugins
- Science and Data Analysis
- Scheduling
- Semantic Web
- Serialization
- Templating
- Testing
- Tools
- Web Frameworks
- XML / HTML
- YAML
- Learning Scala
- Contributing
Archive and Compression
Name | Description | GitHub Activity |
---|---|---|
SevenZ4S | SevenZip library for Scala, easy to use. |
Artificial Intelligence
Name | Description | GitHub Activity |
---|---|---|
cilib | Typesafe, purely functional Computational Intelligence |
Database
Database access libraries in Scala.
Name | Description | GitHub Activity |
---|---|---|
akka-persistence-gcp-datastore | akka-persistence-gcp-datastore is a journal and snapshot store plugin for akka-persistence using google cloud firestore in datastore mode. | |
anorm | The Anorm database library | |
casbah | Casbah is now officially end-of-life (EOL). | |
clickhouse-scala-client | Clickhouse Scala Client with Reactive Streams support | |
couchbase-jvm-clients | The Couchbase Monorepo for JVM Clients: Java, Scala, io-core… | |
couchdb-scala | A purely functional Scala client for CouchDB | |
doobie | Functional JDBC layer for Scala. | |
elastic4s | Elasticsearch Scala Client - Reactive, Non Blocking, Type Safe, HTTP Client | |
etcd4s | Scala etcd client implementing V3 APIs | |
finagle-postgres | PostgreSQL protocol support for Finagle | |
laserdisc | A Future-free Fs2 native pure FP Redis client | |
mysql-binlog-stream | None | |
longevity | A Persistence Framework for Scala and NoSQL | |
lucene4s | Light-weight convenience wrapper around Lucene to simplify complex tasks and add Scala sugar. | |
mapperdao | A Scala ORM library | |
morpheus | Reactive type-safe Scala driver for SQL databases | |
neotypes | Scala lightweight, type-safe, asynchronous driver for neo4j | |
phantom | Schema safe, type-safe, reactive Scala driver for Cassandra/Datastax Enterprise | |
pulsar4s | Idiomatic, typesafe, and reactive Scala client for Apache Pulsar | |
zio-quill | Compile-time Language Integrated Queries for Scala | |
reactivecouchbase-rs-core | New ReactiveCouchbase driver using reactive-streams | |
ReactiveMongo | :leaves: Non-blocking, Reactive MongoDB Driver for Scala | |
rediscala | Non-blocking, Reactive Redis driver for Scala (with Sentinel support) | |
relate | Performant database access in Scala | |
salat | Salat is a simple serialization library for case classes. | |
sangria | Scala GraphQL implementation | |
scala-activerecord | ActiveRecord-like ORM library for Scala | |
scala-forklift | Type-safe data migration tool for Slick, Git and beyond. | |
scala-redis | A scala library for connecting to a redis server, or a cluster of redis nodes using consistent hashing on the client side. | |
scala-sql | scala SQL api | |
scalarelational | Type-Safe framework for defining, modifying, and querying SQL databases | |
scalikejdbc | A tidy SQL-based DB access library for Scala developers. This library naturally wraps JDBC APIs and provides you easy-to-use APIs. | |
scanamo | Simpler DynamoDB access for Scala | |
scredis | Non-blocking, ultra-fast Scala Redis client built on top of Akka IO, used in production at Livestream | |
scruid | Scala + Druid: Scruid. A library that allows you to compose queries in Scala, and parse the result back into typesafe classes. | |
shade | Memcached client for Scala | |
slick | Slick (Scala Language Integrated Connection Kit) is a modern database query and access library for Scala | |
slick-pg | Slick extensions for PostgreSQL | ![GitHub commit |