zio / zio-config Edit

Easily use and document any config from anywhere in ZIO apps

Version Matrix

ZIO Config

Project Stage CI Release Issues Scaladex Discord Twitter
Project stage CI Release Artifacts Average time to resolve an issue Badge-Scaladex-page Badge-Discord Badge-Twitter

A ZIO-based library for working with application configuration data.

ZIO Config offloads all parsing and file formats to other libraries, and just focuses on being the interface to configuration data throughout an application.

Using a single definition of configuration requirements, which can be derived automatically from your data types, ZIO Config offers a bundle of features for free:

  • Read flat or nested config data from any format, with descriptive errors
  • Write flat or nested config data into any format
  • Compose sources of configuration, so you can have, e.g., environmental or command-line overrides
  • Automatically generate documentation so devs / devops know how to configure the application
  • Generate a report that shows where each piece of configuration data came from

Please find more details in the website.

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

Jump to examples to see various usecases. Hop over to the Discord #zio-config channel to chat with developers and other users.

Try out ZIO Config quickly in Scastie, which comes pre-loaded with an example in scala-3. We try to make sure the scastie-buildsettings are updated with latest version of ZIO Config.