Giter Site home page Giter Site logo

beem812 / zio-schema Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zio/zio-schema

0.0 0.0 0.0 1.91 MB

Compositional, type-safe schema definitions, which enable auto-derivation of codecs and migrations.

License: Apache License 2.0

Shell 1.21% Scala 98.70% Thrift 0.09%

zio-schema's Introduction

ZIO-SCHEMA

Project Stage CI Release Issues Discord
Project stage CI Release Artifacts Average time to resolve an issue badge-discord

ZIO Schema is a ZIO-based library for modeling the schema of data structures as first-class values.

With schema descriptions that can be automatically derived for case classes and sealed traits, ZIO Schema provide powerful features for free:

  • Codecs for any supported protocol (JSON, protobuf, etc.), so data structures can be serialized and deserialized in a principled way
  • Diffing, patching, merging, and other generic-data-based operations
  • Migration of data structures from one schema to another compatible schema
  • Derivation of arbitrary type classes (Eq, Show, Ord, etc.) from the structure of the data

When your data structures need to be serialized, deserialized, persisted, or transported across the wire, then ZIO Schema lets you focus on data modeling and automatically tackle all the low-level, messy details for you.

ZIO Schema is used by a growing number of ZIO libraries, including ZIO Flow, ZIO Redis, ZIO Web, ZIO SQL and ZIO DynamoDB.

Installation

Add in your build.sbt:

libraryDependencies ++= Seq(
  "dev.zio" %% "zio-schema" % "<version>",
  // Required for automatic generic derivation of schemas
  "dev.zio" %% "zio-schema-derivation" % "<version>",
  "org.scala-lang" % "scala-reflect"  % scalaVersion.value % "provided"
)

Contributing

For the general guidelines, see ZIO contributor's guide.

TL;DR

Before you submit a PR, make sure your tests are passing, and that the code is properly formatted

sbt prepare

sbt test

zio-schema's People

Contributors

renovate[bot] avatar thinkharderdev avatar vigoo avatar devsprint avatar landlockedsurfer avatar jdegoes avatar eriktim avatar tusharmath avatar uurl avatar sviezypan avatar damianreeves avatar baldram avatar mijicd avatar pwliwanow avatar bmarinovic avatar khajavi avatar ashprakasan avatar googley42 avatar paulpdaniels avatar tobiaspfeifer avatar tewecske avatar kitlangton avatar applekid7 avatar jupposessho avatar brbrown25 avatar alexvanolst avatar cheleb avatar pierangeloc avatar ghostdogpr avatar remiguittaut 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.