Skip to content
/ zio-config Public

Easily use and document any config from anywhere in ZIO apps

License

Notifications You must be signed in to change notification settings

zio/zio-config

Folders and files

NameName
Last commit message
Last commit date
Dec 29, 2024
Feb 22, 2023
May 12, 2023
Mar 6, 2025
Apr 28, 2024
Nov 7, 2024
Feb 20, 2023
Nov 6, 2024
Dec 29, 2024
Dec 30, 2024
Feb 22, 2023
Nov 6, 2024
May 12, 2023
Nov 6, 2024
Apr 28, 2024
Jan 4, 2024
Nov 6, 2024
Feb 22, 2023
May 15, 2024
Sep 24, 2019
Jan 14, 2022
May 10, 2021
Oct 24, 2023
May 10, 2021
Dec 30, 2024
Mar 21, 2020
Sep 24, 2019
Mar 23, 2023
Dec 30, 2024
Feb 22, 2023
Nov 22, 2021
Oct 21, 2022

Repository files navigation

ZIO Config

ZIO Config

ZIO Config is a ZIO-based library and act as an extension to core library ZIO's Config language.

Production Ready CI Badge Sonatype Releases Sonatype Snapshots javadoc ZIO Config

Let's enumerate some key features of this library:

  • Support for Various Sources — It can read flat or nested configurations. Thanks to IndexedFlat.
  • Automatic Document Generation — It can auto-generate documentation of configurations.
  • Automatic Derivation — It has built-in support for automatic derivation of readers and writers for case classes and sealed traits.
  • Type-level Constraints and Automatic Validation — because it supports Refined types, we can write type-level predicates which constrain the set of values described for data types.
  • Descriptive Errors — It accumulates all errors and reports all of them to the user rather than failing fast.
  • Integrations — Integrations with a variety of libraries

If you are only interested in automatic derivation of configuration, find the details here

Installation

In order to use this library, we need to add the following line in our build.sbt file:

libraryDependencies += "dev.zio" %% "zio-config" % "<version>" 

Quick Start

Let's add these four lines to our build.sbt file as we are using these modules in our examples:

libraryDependencies += "dev.zio" %% "zio-config"          % "<version>"
libraryDependencies += "dev.zio" %% "zio-config-magnolia" % "<version>"
libraryDependencies += "dev.zio" %% "zio-config-typesafe" % "<version>"
libraryDependencies += "dev.zio" %% "zio-config-refined"  % "<version>"

There are many examples in here

Documentation

Learn more on the ZIO Config homepage!

Contributing

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

Code of Conduct

See the Code of Conduct

Support

Come chat with us on Badge-Discord.

License

License