• Stars
    star
    137
  • Rank 266,121 (Top 6 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created almost 5 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A big collection of useful ZIO links

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

Actors

  • 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

  • ZIO Metric: A high-performance, purely-functional library for adding instrumentation to any application, with a simple web client and JMX support.
  • ZIO Telemetry: A ZIO-powered OpenTelemetry library

Misc

NoSQL

  • ZIO-JMS: ZIO-JMS adapts JMS API to ZIO streams and makes it working more conveniently and seamlessly integrates ZIO
  • 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-amqp: ZIO AMQP is a ZIO-based wrapper around the RabbitMQ client. It provides a streaming interface to AMQP queues and helps to prevent you from shooting yourself in the foot with thread-safety issues.
  • 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.
  • 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

More Repositories

1

pyes

Python connector for ElasticSearch - the pythonic way to use ElasticSearch
Python
607
star
2

django-elasticsearch

Django ElasticSearch Backend
Python
142
star
3

django-mongodb-engine

A MongoDB backend standing outside django.
Python
55
star
4

opensearch-prometheus-exporter

OpenSearch Prometheus Exporter (fork of https://github.com/vvanholl/elasticsearch-prometheus-exporter)
Java
42
star
5

elasticsearch-cookbook-second-edition

ElasticSearch CookBook Second Edition - Code repository
Shell
41
star
6

opensearch-analysis-ik

The IK Analysis plugin integrates Lucene IK analyzer into OpenSearch, support customized dictionary. Port of https://github.com/medcl/elasticsearch-analysis-ik
Java
39
star
7

play-json-extra

Play Json Extra extends Play Json with several opinionated features
Scala
22
star
8

elasticsearch-7.x-cookbook

Code for the Book - ElasticSearch 7.x Cookbook
Shell
17
star
9

opensearch-learning-to-rank

Fork of https://github.com/o19s/elasticsearch-learning-to-rank to work with OpenSearch
Java
16
star
10

elasticsearch-cookbook-third-edition

Code for the ElasticSearch Cookbook Third Edition - targeting Elasticsearch 5.x
Shell
13
star
11

scalajs-react-extra

Extra library wrapper for react and standard Javascript library (mapped using react vdom)
Scala
12
star
12

djangotoolbox

THIS REPO IS OBSOLETE. Use
Python
10
star
13

awesome-opensearch

A list of curated OpenSearch links
Python
9
star
14

opensearch-ingest-opennlp

Port of https://github.com/spinscale/elasticsearch-ingest-opennlp to OpenSearch
Java
8
star
15

Pydev-Django-Extension

It's a Pydev extension to integrate a django.
Java
6
star
16

zio-elasticsearch

ElasticSearch client for Scala based on ZIO and FP
Scala
6
star
17

elasticsearch-cookbook

PacktPub ElasticSearch CookBook book code repository
Shell
6
star
18

opensearch-analysis-pinyin

This Pinyin Analysis plugin is used to do conversion between Chinese characters and Pinyin. Port of https://github.com/medcl/elasticsearch-analysis-pinyin
Java
6
star
19

scalajs-joda

Joda Datetime facade based on momentjs for scalajs
Scala
5
star
20

circe-xml

Xml support for Circe. Convert circe <-> xml
Scala
5
star
21

opensearch-client-generator

OpenDistro Client code generator to be used with Elasticsearch
TypeScript
4
star
22

nosqlkit

NoSqlKit for python is a multi NoSQL engine ORM
Python
3
star
23

scalajs-supler

ScalaJS supler implementation
Scala
3
star
24

akka-kafka-es-ingestion

Example of using Akka Stream with Kafka and ElasticSearch
Scala
2
star
25

elasticsearch-geonames-locator

Elasticsearch Geonames Locator
Scala
2
star
26

opensearch-ingest-langdetect

Ingest processor doing language detection for fields. Port of https://github.com/spinscale/elasticsearch-ingest-langdetect
Java
2
star
27

opensearch-analysis-stconvert

STConvert is analyzer that convert chinese characters between traditional and simplified.中文简繁體互相转换. Port of https://github.com/medcl/elasticsearch-analysis-stconvert
Java
2
star
28

kafka-integration-patterns

Kafka integration patterns
Scala
1
star
29

thrift3

Thrift for python3
Python
1
star
30

zio-mongodb

A reactive based client for MongoDB based on ZIO (https://zio.dev/)
Scala
1
star
31

scalajs-react-testbed

Testing stuff for scalajs-react
JavaScript
1
star
32

kwegg

The futuristic news reader. Use openNLP to extract noun phrases from the every line and thence convert it to speech.
Java
1
star
33

fp-training-scala

Configuration for a training Environment in Scala for functional programming
Scala
1
star
34

scalajs-converter

Converter from HTML and JS, to scalajs-react and scalajs-DOM. (Working in progress)
JavaScript
1
star
35

opendistro-flattened-mapper-plugin

Opendistro Flattened Mapper Plugin to be able to load Kibana indices for ES 7.10.x or above in OpenDistro
Scala
1
star
36

scalajs-elasticsearch

ScalaJS client for ElasticSearch
1
star