Giter Club home page Giter Club logo

awesome-zio's Introduction

Awesome ZIO Awesome

A community driven list of useful ZIO libraries, frameworks and software. Inspired by awesome-python. Other amazingly awesome lists can be found in the awesome-awesomeness list.

Projects with over 500 stargazers are in bold.

Based partial on ZIO documentation.

Table of Contents

Projects

Actor

  • ZIO Actors: A high-performance, purely-functional library for building, composing, and supervising typed actors based on ZIO
  • ZIO Akka Cluster: A ZIO wrapper for Akka Cluster

Algorithm

  • cakeless: Better reader monad for deeply-nested cakes
  • zio-saga: Purely functional transaction management with Saga pattern

Config

  • ZIO Config: A ZIO based configuration parsing library

Database

  • zio-slick: Bridge library between ZIO and Slick Functional Relational Mapping Library

Dependency Injection

  • distage: Staged, transparent and debuggable runtime & compile-time Dependency Injection Framework

Email

Frameworks

  • caliban: Functional GraphQL backend in Scala
  • idealingua: API Definition, Data Modeling and RPC Language, optimized for fast prototyping – like gRPC, but with a human face

HTTP

ZIO libraries and wrappers for HTTP clients.

IO

  • ZIO NIO: A performant, purely-functional, low-level, and unopinionated wrapper around Java NIO functionality

Logging

ZIO libraries and wrappers for Logging

  • logstage: Automatic structural logs from Scala string interpolations
  • ZIO Logging: An environmental effect for adding logging into any ZIO application, with choice of pluggable back-ends
  • slf4zio: Simple convenience layer on top of SLF4J for ZIO
  • zio-slf4j: Referentially transparent logging with slf4j
  • zio-interop-log4j2: Fiber aware MDC logging for Log4j 2

Metrics and Monitoring

Misc

NoSQL

  • ZIO Kafka: A Kafka client for ZIO and ZIO Streams
  • zio-kafka-registry: Project to use zio-kafka in combination with the Confluent Schema Registry.
  • zio-elasticsearch: ElasticSearch client for Scala based on ZIO and FP by Alberto Paro
  • elastic4s: Elasticsearch Scala Client - Reactive, Non Blocking, Type Safe, HTTP Client
  • neotypes: A Scala lightweight, type-safe & asynchronous driver for neo4j
  • scanamo: Simpler DynamoDB access for Scala
  • ZIO SQS: A ZIO-powered client for AWS SQS
  • ZIO Keeper: A functional library for consistent replication of metadata across dynamic clusters
  • SwayDB: Embeddable persistent & in-memory database
  • zio-kinesis: ZIO Kinesis is a ZIO-based wrapper around the AWS Kinesis SDK. All operations are non-blocking. It provides a streaming interface to Kinesis streams. Currently a work in progress.
  • zio-rocksdb: A ZIO-based interface to RocksDB.

Sample

Some repositories that contains useful code to look at.

Official ZIO Libraries

These libraries are hosted in the ZIO organization on Github, and are generally maintained by core contributors to ZIO.

  • ZIO Actors: A high-performance, purely-functional library for building, composing, and supervising typed actors based on ZIO
  • ZIO Akka Cluster: A ZIO wrapper for Akka Cluster
  • ZIO Config: A ZIO based configuration parsing library
  • ZIO HTTP: A ZIO-powered HTTP server and client
  • ZIO Kafka: A Kafka client for ZIO and ZIO Streams
  • ZIO Keeper: A functional library for consistent replication of metadata across dynamic clusters
  • ZIO Logging: An environmental effect for adding logging into any ZIO application, with choice of pluggable back-ends
  • ZIO NIO: A performant, purely-functional, low-level, and unopinionated wrapper around Java NIO functionality
  • ZIO SQS: A ZIO-powered client for AWS SQS
  • ZIO Telemetry: A ZIO-powered OpenTelemetry library

Blog Articles

These articles reflect the state of ZIO at the time of their publication. The code samples might be outdated, considering ZIO was early in development at the time they were written. However, the concepts are still relevant.

Talks

News

CheatSheet

Support

Contributing

  • Make sure you are about to post a valuable resource that belongs to this list
  • Do NOT group ++Add and --Remove changes in same PR. Make them separate pull requests
  • Use spellchecker
  • All spelling and grammar corrections are welcome (except for the rule above)
  • Fork this repo, do your edits, send the pull request
  • Feel free to create any new sections
  • Do not even try to add this repo to any awesome-awesome-* lists

awesome-zio's People

Contributors

aparo avatar butcherless avatar psisoyev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.