Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zio/zio-config
Easily use and document any config from anywhere in ZIO apps
https://github.com/zio/zio-config
config scala zio
Last synced: 3 months ago
JSON representation
Easily use and document any config from anywhere in ZIO apps
- Host: GitHub
- URL: https://github.com/zio/zio-config
- Owner: zio
- License: apache-2.0
- Created: 2019-09-23T05:43:56.000Z (about 5 years ago)
- Default Branch: series/4.x
- Last Pushed: 2024-06-28T22:28:16.000Z (4 months ago)
- Last Synced: 2024-06-28T23:37:14.964Z (4 months ago)
- Topics: config, scala, zio
- Language: Scala
- Homepage: https://zio.dev/zio-config
- Size: 2.14 MB
- Stars: 227
- Watchers: 13
- Forks: 111
- Open Issues: 105
-
Metadata Files:
- Readme: README.md
- Contributing: contributing.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-zio - ZIO Config
README
[//]: # (This file was autogenerated using `zio-sbt-website` plugin via `sbt generateReadme` command.)
[//]: # (So please do not edit it manually. Instead, change "docs/index.md" file or sbt setting keys)
[//]: # (e.g. "readmeDocumentation" and "readmeSupport".)# ZIO Config
# ZIO Config
[ZIO Config](https://zio.dev/zio-config/) is a ZIO-based library and act as an extension to core library ZIO's `Config` language.
[![Production Ready](https://img.shields.io/badge/Project%20Stage-Production%20Ready-brightgreen.svg)](https://github.com/zio/zio/wiki/Project-Stages) ![CI Badge](https://github.com/zio/zio-config/workflows/CI/badge.svg) [![Sonatype Releases](https://img.shields.io/nexus/r/https/oss.sonatype.org/dev.zio/zio-config_2.13.svg?label=Sonatype%20Release)](https://oss.sonatype.org/content/repositories/releases/dev/zio/zio-config_2.13/) [![Sonatype Snapshots](https://img.shields.io/nexus/s/https/oss.sonatype.org/dev.zio/zio-config_2.13.svg?label=Sonatype%20Snapshot)](https://oss.sonatype.org/content/repositories/snapshots/dev/zio/zio-config_2.13/) [![javadoc](https://javadoc.io/badge2/dev.zio/zio-config-docs_2.13/javadoc.svg)](https://javadoc.io/doc/dev.zio/zio-config-docs_2.13) [![ZIO Config](https://img.shields.io/github/stars/zio/zio-config?style=social)](https://github.com/zio/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 librariesIf you are only interested in automatic derivation of configuration, find the details [here](https://zio.dev/zio-config/automatic-derivation-of-config)
## Installation
In order to use this library, we need to add the following line in our `build.sbt` file:
```scala
libraryDependencies += "dev.zio" %% "zio-config" % ""
```# Quick Start
Let's add these four lines to our `build.sbt` file as we are using these modules in our examples:
```scala
libraryDependencies += "dev.zio" %% "zio-config" % ""
libraryDependencies += "dev.zio" %% "zio-config-magnolia" % ""
libraryDependencies += "dev.zio" %% "zio-config-typesafe" % ""
libraryDependencies += "dev.zio" %% "zio-config-refined" % ""
```There are many examples in [here](https://github.com/zio/zio-config/tree/master/examples/shared/src/main/scala/zio/config/examples)
## Documentation
Learn more on the [ZIO Config homepage](https://zio.dev/zio-config/)!
## Contributing
For the general guidelines, see ZIO [contributor's guide](https://zio.dev/about/contributing).
## Code of Conduct
See the [Code of Conduct](https://zio.dev/about/code-of-conduct)
## Support
Come chat with us on [![Badge-Discord]][Link-Discord].
[Badge-Discord]: https://img.shields.io/discord/629491597070827530?logo=discord "chat on discord"
[Link-Discord]: https://discord.gg/2ccFBr4 "Discord"## License
[License](LICENSE)